<?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>CSSPreprocessor</name>
	<version>1.1</version>
  <mincmsversion>1.11</mincmsversion>
	<help><![CDATA[PGgyPldoYXQgZG9lcyB0aGlzIGRvPzwvaDI+CiA8cD5UaGlzIG1vZHVsZSBhZGRzIHRvIHRoZSBDTVNNUyBTdHlsZXNoZWV0cyAvIERlc2lnbiBtYW5hZ2VyIHNvbWUgQ1NTIFByZXByb2Nlc3NvcnMsIGluIG9yZGVyIHRvIGNvbXBpbGUgTEVTUyAob3Igb3RoZXIgbWF5YmUgbGF0ZXIpIGNvZGU8L3A+CiAKIDxoMj5Ib3cgZG9lcyBpdCB3b3JrIGFuZCBpbnRlZ3JhdGUgaW4gQ01TTVM8L2gyPgogPHA+CglUaGlzIG1vZHVsZSB1c2VzIHRoZSBzdGFuZGFyZCBzdHlsZXNoZWV0cyBvZiBDTVMgTWFkZSBTaW1wbGUuIEl0IGlzIGxhdW5jaGVkIGFmdGVyIGFsbCB0aGUgc3R5bGVzaGVldHMgaGF2ZSBiZWVuIGNvbWJpbmVkLCBhbmQgaXQgdGFrZXMgYWxsIHRoZSBDU1MgY29udGVudCB0byBnaXZlIGl0IHRvIHRoZSBQcmVwcm9jZXNzb3Igb2YgeW91ciBjaG9pY2UuCiA8L3A+CiA8cD4KCQlLZWVwIGluIG1pbmQgdGhhdCB0aGlzIG1vZHVsZSBwcm9jZXNzZXMgdGhlIGVudGlyZSBzdHlsZXNoZWV0IGFmdGVyIHRoZWlyIGNvbWJpbmF0aW9uLiBObyBtYXR0ZXIgaWYgeW91IHVzZSAxIG9yIDEwIHN0eWxlc2hlZXRzIGluIHlvdXIgZGVzaWduLCB0aGUgcHJlcHJvY2Vzc29yIHdpbGwgb25seSBnZXQgb25lIHN0cmluZy4KIDwvcD4KCjxoMj5Ib3cgRG8gSSBVc2UgSXQ8L2gyPgo8dWw+Cgk8bGk+VXNlIHRoZSAiY29tYmluZSIgb3B0aW9uIChkZWZhdWx0IGluIHtjbXNfc3R5bGVzaGVldH0pPC9saT4KCTxsaT5JbiBvcmRlciB0byByZWNvZ25pemUgd2hpY2ggdGVtcGxhdGUgaXMgYSBzdHlsZXNoZWV0LCB5b3UgTVVTVCBwdXQgdGhhdCBzdHJpbmcgaW4gb25lIG9mIHlvdXIgc3R5bGVzaGVldHM6IDxzdHJvbmc+QEBDU1NQcmVwcm9jZXNzb3JAQDwvc3Ryb25nPiAtIEkgc3VnZ2VzdCBwdXR0aW5nIGl0IGluIGEgc2ltcGxlIGNvbW1lbnQ8L2xpPgoJPGxpPgoJCURlZmluZSB5b3VyIGltcG9ydCBkaXJlY3RvcmllcywgaWYgeW91IHVzZSBpdC4gRm9yIGV4ZW1wbGUsIGlmIHlvdSB3YW50IHRvIGludGVncmF0ZSBCb290c3RyYXAsIHlvdSBjYW4gOgoJCTxvbD4KCQkJPGxpPlB1dCB5b3VyIEJvb3RzdHJhcCBMRVNTIHNvdXJjZSBmaWxlcyBpbiB1cGxvYWRzL2Jvb3RzdHJhcC88L2xpPgoJCQk8bGk+VHlwZSA8c3Ryb25nPjxlbT5ib290c3RyYXA8L2VtPjwvc3Ryb25nPiBpbiB0aGUgIkRpcmVjdG9yaWVzIGNvbnRhaW5pbmcgTEVTUyBmaWxlcyB0byBpbmNsdWRlIGluIGNvbXBpbGF0aW9uIiAtIE5vIHNsYXNoIGF0IGJlZ2lubmluZyBvciBlbmQ8L2xpPgoJCTwvb2w+Cgk8L2xpPgoJPGxpPlN0YXJ0IHVzaW5nIExFU1MgY29kZSBpbiB5b3VyIHN0eWxlc2hlZXRzITwvbGk+CjwvdWw+Cgo8aDI+VXBkYXRpbmcgc3R5bGVzaGVldHM8L2gyPgo8cD4KCUlmIHlvdSBtYWtlIGFuIHVwZGF0ZSBvbiBhIENNU01TIHN0eWxlc2hlZXQsIGV2ZXJ5dGhpbmcgaXMgZmluZSBhbmQgdGhlIG1vZHVsZSB3aWxsIHByb2Nlc3MgdGhlIHN0eWxlc2hlZXQgYWdhaW4gb24gdGhlIG5leHQgcGFnZSByZWZyZXNoLgo8L3A+CjxwPgoJSG93ZXZlciwgaWYgeW91IGRpZCBtYWtlIGEgY2hhbmdlIGluIHlvdXIgaW1wb3J0ZWQgbGVzcyBmaWxlcywgdGhlIHN5c3RlbSB3aWxsIG5vdCBwZXJmb3JtIGFueSB1cGRhdGUgLSBpbiB0aGlzIGNhc2UsIHlvdSBtdXN0IGNsZWFyIHRoZSBjYWNoZSBvciBzaW1wbHkgcmVtb3ZlIHRoZSBzdHlsZXNoZWV0IGZyb20gdGhlIGNhY2hlIGRpcmVjdG9yeS4KPC9wPgoKPGgyPkV4YW1wbGU6IHVzaW5nIEJvb3RzdHJhcDwvaDI+CjxwPlRoaXMgaXMgYSBwcm9wb3NhbCBvbiBob3cgdG8gdXNlIGFuZCBjb21waWxlIEJvb3RzdHJhcCBmb3IgQ01TIE1hZGUgU2ltcGxlIHdpdGggdGhlIENTU1ByZXByb2Nlc3NvciBtb2R1bGUgOjwvcD4KPG9sPgoJPGxpPlB1dCB0aGUgQm9vdHN0cmFwIExFU1MgZmlsZXMgaW4gPHN0cm9uZz51cGxvYWRzL2Jvb3RzdHJhcC88L3N0cm9uZz48L2xpPgoJPGxpPkNyZWF0ZSBhIG5ldyBzdHlsZXNoZWV0IGluIENNU01TIGNhbGxlZCBzb21ldGhpbmcgbGlrZSA8c3Ryb25nPjxlbT5Cb290c3RyYXAgOjogbWFpbjwvZW0+PC9zdHJvbmc+PC9saT4KCTxsaT5JbiB0aGF0IG5ldyBzdHlsZXNoZWV0LCBjb3B5IGFsbCB0aGUgY29udGVudCBmcm9tIGJvb3RzdHJhcC9ib290c3RyYXAubGVzcyAtIFRoaXMgZmlsZSBpcyBvbmx5IGEgbGlzdCBvZiBmaWxlIGltcG9ydCwgYnV0IGl0J3MgbmljZSB0byBoYXZlIGl0IGluIENNU01TIGJlY2F1c2UgeW91IGNhbiBlYXNpbHkgY29tbWVudCBvdXQgdGhlIGZpbGVzIHlvdSBkb24ndCBuZWVkPC9saT4KCTxsaT5JbiB0aGUgQ1NTUHJlcHJvY2Vzc29yIG1vZHVsZSBwcmVmZXJlbmNlcywgYWRkIDxzdHJvbmc+Ym9vdHN0cmFwPC9zdHJvbmc+IHRvIHRoZSBpbXBvcnQgZGlyZWN0b3JpZXM8L2xpPgoJPGxpPkNyZWF0ZSBhIG5ldyBzdHlsZXNoZWV0IGNhbGxlZCBzb21ldGhpbmcgbGlrZSA8c3Ryb25nPjxlbT5DdXN0b20gOjogbWFpbjwvZW0+PC9zdHJvbmc+PC9saT4KCTxsaT5QdXQgdGhlIHN0cmluZyA8c3Ryb25nPkBAQ1NTUHJlcHJvY2Vzc29yQEA8L3N0cm9uZz4gYXQgdGhlIHRvcDwvbGk+Cgk8bGk+WW91IGNhbiBub3cgdXNlIHRoYXQgZmlsZSB0byBkZWZpbmUgeW91ciBjdXN0b20gdmFyaWFibGVzLCBvdmVycmlkZSBCb290c3RyYXAgdmFyaWFibGVzLCBjcmVhdGUgeW91ciBzdHlsZXMsIC4uLiBPciB5b3VyIGNhbiBjcmVhdGUgYXMgbXVjaCBzdHlsZXNoZWV0cyBhcyB5b3Ugd2FudDwvbGk+Cgk8bGk+RG9uJ3QgZm9yZ2V0IHRvIGxpbmsgeW91ciBzdHlsZXNoZWV0cyB0byB5b3VyIHRlbXBsYXRlcyAoY21zbXMgPCAyLjApIG9yIGRlc2lnbnMgKGNtc21zID08IDIuMCkgLSBZb3Ugc2hvdWxkIG1heWJlIHB1dCB0aGUgQm9vdHN0cmFwIDo6IG1haW4gZmlsZSBhdCB0aGUgdG9wLCBiZWZvcmUgb3RoZXIgc3R5bGVzaGVldHM8L2xpPgo8L29sPgo8cD4KCU5vdyB5b3UgY2FuIHNpbXBseSBjaGFuZ2UgdGhlIGdyaWQgb3Igd2hhdGV2ZXIgeW91IHdhbnQgaW4geW91ciBjdXN0b20gZmlsZXMsIGJlY2F1c2UgdGhlIHByZXByb2Nlc3NvcnMgZG9lc24ndCBjYXJlIG9mIHRoZSBvcmRlciBvZiB0aGUgY29kZSAtIFB1dHRpbmcgPHN0cm9uZz5AZ3JpZC1jb2x1bW5zOiAxMjs8L3N0cm9uZz4gaW4geW91ciBjdXN0b20gc3R5bGVzaGVldHMgd2lsbCB3b3JrIQo8L3A+CgoKCjxoMj5TbWFydHkgc3VwcG9ydDwvaDI+CjxwPllvdSBjYW4gdXNlIFNtYXJ0eSB0YWdzIHdpdGggW1sgYW5kIF1dIC0gU21hcnR5IHdpbGwgYmUgcHJvY2Vzc2VkIGJlZm9yZSB0aGUgQ1NTIFByZVByb2Nlc3Nvci48L3A+Cgo8aDI+VXNpbmcgU291cmNlbWFwczwvaDI+CjxwPgoJU29tZSBwcmVwcm9jZXNzb3JzIGNhbiBjcmVhdGUgc291cmNlbWFwIGZpbGVzLCBpbiBvcmRlciB0byBoZWxwIHlvdSBkdXJpbmcgaW50ZWdyYXRpb24uIERvbid0IGZvcmdldCB0byBjb25maWd1cmUgeW91ciBicm93c2VyIHRvIHVzZSB0aGF0IGZ1bmN0aW9uLiBOb3RlIHRoYXQgb25seSBpbXBvcnRlZCBmaWxlcyB3aWxsIGJlIG1hcHBlZCBpbiB0aGUgc291cmNlbWFwcyAodGhpcyBtYXkgY2hhbmdlIGluIGEgZnVydGhlciB2ZXJzaW9uKS4KPC9wPgoKPGgyPkRlYWN0aXZhdGUgdGhlIG1vZHVsZTwvaDI+CjxwPgoJSWYgeW91IGRvbid0IHdhbnQgdG8gdXNlIGFueSBvZiB0aGUgcHJlcHJvY2Vzc29ycywgcGxlYXNlIHJlbW92ZSBpdCBvciBkaXNhYmxlIGl0IGluIHRoZSBNb2R1bGVzIE1hbmFnZXIgLSBUaGVyZSBhcmUgbm8gImRlYWN0aXZhdGUiIGZ1bmN0aW9uIGJ1aWx0IGluIHRoZSBtb2R1bGUuCjwvcD4KCjxoMj5QcmVwcm9jZXNzb3Igc3dpdGNoPC9oMj4KPHA+CglZb3UgbWF5IHdhbnQgdG8gc3dpdGNoIGZyb20gb25lIHByZXByb2Nlc3NvciB0byBhbm90aGVyIC0gRG9uJ3QgZm9yZ2V0IHRvIGNsZWFyIHlvdXIgY2FjaGUgYWZ0ZXIgdGhhdCBiZWNhdXNlIHRoZSBtb2R1bGUgd2lsbCBub3QgZG8gaXQuCjwvcD4KCjxoMj5FeHRlbmQgd2l0aCBhbm90aGVyIHByZXByb2Nlc3NvcjwvaDI+CjxwPgoJWW91IGNhbiBjcmVhdGUgYSBuZXcgZGlyZWN0b3J5IGluIHRoZSAicHJlcHJvY2Vzc29ycyIgZGlyZWN0b3J5LCBhbmQgY3JlYXRlIHlvdXIgb3duIGNsYXNzIC0gQ2hlY2sgaG93IHRoZSBidW5kbGVkIHByZXByb2Nlc3NvcnMgYXJlIGludGVncmF0ZWQuCjwvcD4KPHA+RG9uJ3QgZm9yZ2V0IHRvIDxhIGhyZWY9Im1haWx0bzpjb250YWN0QGFpcmVsaWJyZS5mciI+ZW1haWwgbWU8L2E+IGlmIHlvdSB3YW50IHlvdXIgcHJlcHJvY2Vzc29yIHRvIGJlIGFkZGVkIHRvIHRoZSBwcm9qZWN0ITwvcD4KCjxoMj5TdXBwb3J0PC9oMj4KCTxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgk8cD4KCQlJZiB5b3Ugd2FudCB0byBjb250YWN0IG1lOiA8YSBocmVmPSJtYWlsdG86Y29udGFjdEBhaXJlbGlicmUuZnIiPmNvbnRhY3RAYWlyZWxpYnJlLmZyPC9hPgoJPC9wPgoJCjxoMj5Qcm9qZWN0IG9uIHRoZSB3ZWI8L2gyPgo8cD5Zb3UgY2FuIGZvbGxvdyB0aGUgcHJvamVjdCBvbiA6IDwvcD4KCTx1bD4KCQk8bGk+R2l0SHViOiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYWlyZWxpYnJlL0NTU1ByZXByb2Nlc3NvciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS9haXJlbGlicmUvQ1NTUHJlcHJvY2Vzc29yPC9hPjwvbGk+CgkJPGxpPkNNU01TIEZvcmdlOiA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Nzc3ByZXByb2Nlc3NvciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3NzcHJlcHJvY2Vzc29yPC9hPjwvbGk+Cgk8L3VsPgoKPGgyPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDI+Cgk8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTQsIEFpcmVMaWJyZSA8YSBocmVmPSJtYWlsdG86Y29udGFjdEBhaXJlbGlicmUuZnIiPmNvbnRhY3RAYWlyZWxpYnJlLmZyPC9hPiAvIDxhIGhyZWY9Imh0dHA6Ly93d3cuYWlyZWxpYnJlLmZyIiB0YXJnZXQ9Il9ibGFuayI+d3d3LmFpcmVsaWJyZS5mcjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KCTxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+CgkKCTxoMz5QcmVwcm9jZXNzb3JzIGNvcHlyaWdodDwvaDM+Cgk8cD4KCQlUaGUgYXV0aG9yIG9mIHRoaXMgbW9kdWxlIGRvZXMgbm90IG93biB0aGUgcHJlcHJvY2Vzc29ycyBidW5kbGVkIHdpdGggaXQgLSBQbGVhc2Ugc2VlIGV2ZXJ5IHByZXByb2Nlc3NvcnMgc291cmNlIGNvZGUgLyB3ZWJzaXRlIHRvIGdldCBpbmZvcm1hdGlvbnMgYWJvdXQgbGljZW5jZSBhbmQgY29weXJpZ2h0LgoJPC9wPgoJPHA+SSBqdXN0IHdhbnRlZCB0byB0aGFuayBhbGwgdGhlIGRldmVsb3BlcnMgdGhhdCBjb250cmlidXRlIHRvIHRoZXNlIHByZXByb2Nlc3NvcnMgd2hpY2ggYXJlIGdyZWF0IHRvb2xzIGZvciBkZXNpZ25lcnMhPC9wPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBBaXJlTGlicmUgLSBNYXRoaWV1IE11dGhzICZsdDtjb250YWN0QGFpcmVsaWJyZS5mciZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAxLjE8YnIgLz48YnIgLz5DaGFuZ2UgSGlzdG9yeTo8YnIgLz4gCjx1bD4KCTxsaT4yMDE0LTA5LTAzIDogMS4xIDogQWRkIFNtYXJ0eSBzdXBwb3J0IC0gTm90ZSB0aGF0IHRoZSBtb2R1bGUgbm93IHBsdWdzIG9uIHRoZSBTbWFydHlQcmVDb21waWxlIGV2ZW50IChiZWZvcmUgaXQgd2FzIFNtYXJ0eVBvc3RDb21waWxlKSAtIFRoaXMgbmVlZHMgdGVzdHM8L2xpPgoJPGxpPjIwMTQtMDktMDMgOiAxLjAuMSA6IEJ1ZyBmaXhlczwvbGk+Cgk8bGk+MjAxNC0wOS0wMjogSW5pdGlhbCAxLjAgcmVsZWFzZSAtIFBsZWFzZSB0ZXN0IGFuZCBnaXZlIG1lIGZlZWRiYWNrPC9saT4KPC91bD48YnIgLz4=]]></about>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwppZiAoISR0aGlzLT5WaXNpYmxlVG9BZG1pblVzZXIoKSkgcmV0dXJuOwoKCgppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKQp7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJlcHJvY2Vzc29yJywgJHBhcmFtc1sncHJlcHJvY2Vzc29yJ10pOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9kaXJzJywgJHBhcmFtc1snaW1wb3J0X2RpcnMnXSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbWluaWZ5JywgJHBhcmFtc1snbWluaWZ5J10pOwoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ2dlbmVyYXRlX3NvdXJjZW1hcCcsICRwYXJhbXNbJ2dlbmVyYXRlX3NvdXJjZW1hcCddKTsKCQoJJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCdwcmVmZXJlbmNlc19zZXQnKSk7Cn0KCgoKCgovLyBSZXRyaWV2ZSB0aGUgYXZhaWxhYmxlIHByZXByb2Nlc3NvcnMgaW4gdGhlIGRpcmVjdG9yeSAicHJlcHJvY2Vzc29ycyIKJHByZXByb2Nlc3NvcnMgPSBhcnJheSgpOwoKJHJvb3QgPSBjbXNfam9pbl9wYXRoKCR0aGlzLT5HZXRNb2R1bGVQYXRoKCksICdwcmVwcm9jZXNzb3JzJyk7CiRzZWFyY2ggPSBjbXNfam9pbl9wYXRoKCRyb290LCAnKicpOwokZGlycyA9IGdsb2IoJHNlYXJjaCwgR0xPQl9PTkxZRElSKTsKCmlmICgkZGlycykKewoJZm9yZWFjaCAoJGRpcnMgYXMgJG9uZSkKCXsKCQkkcHJlcHJvY2Vzc29yID0gYmFzZW5hbWUoJG9uZSk7CgkJCgkJLy8gU2VhcmNoIGluZm8gOiBuYW1lLCBsb2dvLCAuLi4KCQkkY2xhc3NfbmFtZSA9ICdQcmVwcm9jZXNzb3JfJy4kcHJlcHJvY2Vzc29yOwoJCXJlcXVpcmVfb25jZShjbXNfam9pbl9wYXRoKCRyb290LCAkcHJlcHJvY2Vzc29yLCAnY2xhc3MuJy4kY2xhc3NfbmFtZS4nLnBocCcpKTsKCQkKCQkkb2JqID0gbmV3IHN0ZENsYXNzOwoJCSRvYmotPmRpciA9ICRwcmVwcm9jZXNzb3I7CgkJJG9iai0+ZnJpZW5kbHlfbmFtZSA9ICRjbGFzc19uYW1lOjpGUklFTkRMWV9OQU1FOwoJCSRvYmotPmRlc2NyaXB0aW9uID0gJGNsYXNzX25hbWU6OkRFU0NSSVBUSU9OOwoJCSRvYmotPmF1dGhvciA9ICRjbGFzc19uYW1lOjpBVVRIT1I7CgkJJG9iai0+d2Vic2l0ZSA9ICRjbGFzc19uYW1lOjpXRUJTSVRFOwoJCQoJCSRsb2dvID0gJGNsYXNzX25hbWU6OkxPR087CgkJaWYgKCFlbXB0eSgkbG9nbykpCgkJCSRvYmotPmxvZ28gPSAkbG9nbzsKCQkKCQkkbm90ZSA9ICRjbGFzc19uYW1lOjpOT1RFOwoJCWlmICghZW1wdHkoJG5vdGUpKQoJCQkkb2JqLT5ub3RlID0gJG5vdGU7CgkJCgkJJHByZXByb2Nlc3NvcnNbJHByZXByb2Nlc3Nvcl0gPSAkb2JqOwoJfQoJCgkkYXNzaWduWydwcmVwcm9jZXNzb3JzJ10gPSAkcHJlcHJvY2Vzc29yczsKfQoKLy8gQ3VycmVudCBwcmVwcm9jZXNzb3IKJGFzc2lnblsnY3VycmVudF9wcmVwcm9jZXNzb3InXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcmVwcm9jZXNzb3InLCAnSUxlc3MnKTsKJGFzc2lnblsnaW1wb3J0X2RpcnMnXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfZGlycycsICcnKTsKJGFzc2lnblsnbWluaWZ5J10gPSAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ21pbmlmeScsIDApOwokYXNzaWduWydnZW5lcmF0ZV9zb3VyY2VtYXAnXSA9ICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZ2VuZXJhdGVfc291cmNlbWFwJywgMCk7CgoKLy8gQ01TTVMgMS4xMSBjb21wYXRpYmlsaXR5CiRhc3NpZ25bJ21vZCddID0gJHRoaXM7CiRhc3NpZ25bJ2Zvcm1fc3RhcnQnXSA9ICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnZGVmYXVsdGFkbWluJyk7CiRhc3NpZ25bJ2Zvcm1fZW5kJ10gPSAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKY21zbXMoKS0+R2V0U21hcnR5KCktPmFzc2lnbigkYXNzaWduKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJlZmVyZW5jZXMudHBsJyk7CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/admin_css/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/admin_css/csspreprocessor.css</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CgovKi5wcmVwcm9jZXNzb3Ige2Rpc3BsYXk6IGJsb2NrOyBtYXJnaW46IDAgMCAxNXB4OyBwYWRkaW5nOiA1cHggMCAxNXB4fQoucHJlcHJvY2Vzc29yIGxhYmVsIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2t9Ci5wcmVwcm9jZXNzb3IgZGl2IHtkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IG1hcmdpbi1yaWdodDogMTBweH0KCi5wcmVwcm9jZXNzb3IgaW1nIHttYXgtd2lkdGg6IDE1MHB4OyBoZWlnaHQ6IGF1dG99CgoucHJlcHJvY2Vzc29yIGgyIHttYXJnaW4tdG9wOiAwfQoucHJlcHJvY2Vzc29yIC5kZXNjcmlwdGlvbiB7ZGlzcGxheTogaW5saW5lLWJsb2NrfSovCgoKCgoucHJlcHJvY2Vzc29yIHtkaXNwbGF5OiBibG9jazsgb3ZlcmZsb3c6IGhpZGRlbjsgcGFkZGluZy1sZWZ0OiAyMTBweDsgd2lkdGg6IGF1dG87IGJhY2tncm91bmQ6ICNkZGQ7IGJvcmRlci1yYWRpdXM6IDVweDsgbWFyZ2luOiAwIDAgMTBweH0KLnByZXByb2Nlc3NvciBsYWJlbCwKLnByZXByb2Nlc3NvciBkaXYuZGVzY3JpcHRpb24ge3Bvc2l0aW9uOiByZWxhdGl2ZTsgZmxvYXQ6IGxlZnQ7IHBhZGRpbmc6IDEwcHh9CgoucHJlcHJvY2Vzc29yIGRpdi5kZXNjcmlwdGlvbiB7d2lkdGg6IDEwMCV9CgoucHJlcHJvY2Vzc29yIGxhYmVsIHt3aWR0aDogMjEwcHg7IHJpZ2h0OiAyMTBweDsgX3JpZ2h0OiAwcHg7IG1hcmdpbjogMCAwIDAgLTEwMCV9Ci5wcmVwcm9jZXNzb3IgbGFiZWwgLmlucHV0X3JhZGlvIHt0b3A6IDVweH0KCi5wcmVwcm9jZXNzb3IgLmlucHV0X3JhZGlvIHtkaXNwbGF5OiBpbmxpbmUtYmxvY2t9Ci5wcmVwcm9jZXNzb3IgLmxvZ28ge2Rpc3BsYXk6IGlubGluZS1ibG9ja30KLnByZXByb2Nlc3NvciBpbWcge21heC13aWR0aDogMTUwcHg7IGhlaWdodDogYXV0b30KCi5wcmVwcm9jZXNzb3IgaDIge21hcmdpbi10b3A6IDB9]]></data>
	</file>
	<file>
	  <filename>/CSSPreprocessor.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENTU1ByZXByb2Nlc3NvcgojIEF1dGhvcjogQWlyZWxpYnJlIC8gTWF0aGlldSBNdXRocyAtIHd3dy5haXJlbGlicmUuZnIKIyBBIG1vZHVsZSB0byBoZWxwIGRlc2lnbmVycyB0byB1c2UgQ1NTIFByZXByb2Nlc3NvciBpbiBvcmRlciB0byBwcm9jZXNzCiMgTEVTUyBvciBTQVNTIChsYXRlcikgY29kZS4KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMTEgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMgVGhlIG1vZHVsZSdzIGhvbWVwYWdlIGlzOiBodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2N1c3RvbWdzCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgpjbGFzcyBDU1NQcmVwcm9jZXNzb3IgZXh0ZW5kcyBDTVNNb2R1bGUgCnsKCQoJZnVuY3Rpb24gR2V0VmVyc2lvbigpIHtyZXR1cm4gJzEuMSc7fQoJZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7cmV0dXJuICcxLjExJzt9CglmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7cmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTt9CglmdW5jdGlvbiBHZXRIZWxwKCl7cmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7fQoJCglmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnQWlyZUxpYnJlIC0gTWF0aGlldSBNdXRocyc7IH0KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsgcmV0dXJuICdjb250YWN0QGFpcmVsaWJyZS5mcic7IH0KICAKICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKSB7CgkJcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKGRpcm5hbWUoX19GSUxFX18pLicvZG9jL2NoYW5nZWxvZy5odG1sJyk7Cgl9CgkKCXB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgeyByZXR1cm4gdHJ1ZTsgfQogIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkgeyByZXR1cm4gdHJ1ZTsgfQogIAogIC8vIEFkbWluIHBhcmFtcwogIGZ1bmN0aW9uIEhhc0FkbWluKCkgeyByZXR1cm4gdHJ1ZTsgfQogIHB1YmxpYyBmdW5jdGlvbiBJc0FkbWluT25seSgpIHsgcmV0dXJuIHRydWU7IH0KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7IHJldHVybiAnbGF5b3V0JzsgfQogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpIHsKCQlyZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFN0eWxlc2hlZXRzJyk7CiAgfQogIAogIAogIGZ1bmN0aW9uIEdldEhlYWRlckhUTUwoKSB7CgkJJGhlYWRlciA9ICc8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uL21vZHVsZXMvQ1NTUHJlcHJvY2Vzc29yL2FkbWluX2Nzcy9jc3NwcmVwcm9jZXNzb3IuY3NzIic7CgkJCgkJcmV0dXJuICRoZWFkZXI7CiAgfQogIAogIAogIAogIC8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAvLyBOT04tQVBJIENVU1RPTSBGVU5DVElPTlMKICAvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgCiAgcHVibGljIGZ1bmN0aW9uIEdldFByZXByb2Nlc3NvcigpCiAgewoJCSRwcmVwcm9jZXNzb3JfbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcmVwcm9jZXNzb3InLCAnSUxlc3MnKTsKICAKCQlyZXF1aXJlX29uY2UoY21zX2pvaW5fcGF0aChfX0RJUl9fLCAncHJlcHJvY2Vzc29ycycsICRwcmVwcm9jZXNzb3JfbmFtZSwgJ2NsYXNzLlByZXByb2Nlc3Nvcl8nIC4gJHByZXByb2Nlc3Nvcl9uYW1lIC4gJy5waHAnKSk7CgkJCgkJJGNsYXNzX25hbWUgPSAnUHJlUHJvY2Vzc29yXycgLiAkcHJlcHJvY2Vzc29yX25hbWU7CgkJJG9iaiA9IG5ldyAkY2xhc3NfbmFtZSgpOwoJCQoJCSRvYmotPkxvYWQoKTsKCQkKCQlyZXR1cm4gJG9iajsKICB9CiAgCiAgLy8gU21hcnR5IGZldGNoIC0gZG8gaXQgIm1hbnVhbGx5IiBiZWNhdXNlIHRoZSBwb3N0ZmlsdGVyIGRvZXMgbm90IGdpdmUgYSBjbGVhbiBzbWFydHkgY29kZSAoZ2l2ZXMgIjw/cGhwICIgZXRjLgogIHB1YmxpYyBmdW5jdGlvbiBGZXRjaFNtYXJ0eSgkY29udGVudCkKICB7CgkJJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwoJCSRjb250ZW50ID0gJHNtYXJ0eS0+ZmV0Y2goJ3N0cmluZzonIC4gJGNvbnRlbnQpOwoKCQlyZXR1cm4gJGNvbnRlbnQ7CiAgfQp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/doc/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/doc/changelog.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IAo8dWw+Cgk8bGk+MjAxNC0wOS0wMyA6IDEuMSA6IEFkZCBTbWFydHkgc3VwcG9ydCAtIE5vdGUgdGhhdCB0aGUgbW9kdWxlIG5vdyBwbHVncyBvbiB0aGUgU21hcnR5UHJlQ29tcGlsZSBldmVudCAoYmVmb3JlIGl0IHdhcyBTbWFydHlQb3N0Q29tcGlsZSkgLSBUaGlzIG5lZWRzIHRlc3RzPC9saT4KCTxsaT4yMDE0LTA5LTAzIDogMS4wLjEgOiBCdWcgZml4ZXM8L2xpPgoJPGxpPjIwMTQtMDktMDI6IEluaXRpYWwgMS4wIHJlbGVhc2UgLSBQbGVhc2UgdGVzdCBhbmQgZ2l2ZSBtZSBmZWVkYmFjazwvbGk+CjwvdWw+]]></data>
	</file>
	<file>
	  <filename>/event.Core.SmartyPreCompile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKCiRjb250ZW50ID0gJiRwYXJhbXNbJ2NvbnRlbnQnXTsKCiRzZWFyY2hfc3RyaW5nID0gJ0BAQ1NTUHJlcHJvY2Vzc29yQEAnOwoKaWYgKHN0cnBvcygkY29udGVudCwgJHNlYXJjaF9zdHJpbmcpICE9PSBmYWxzZSkKewoJLy8gUHJldmVudCBmcm9tIGxvb3BzIChzbWFydHkgZmV0Y2ggbGF1bmNoZXMgdGhpcyBwcmVjb21waWxlIGZ1bmN0aW9uIGluIGEgbG9vcAoJJGNvbnRlbnQgPSBzdHJfcmVwbGFjZSgkc2VhcmNoX3N0cmluZywgJycsICRjb250ZW50KTsKCQoJLy8gV2UgbmVlZCB0byBjb21waWxlIHNtYXJ0eSBiZWZvcmUgdGhlIENTU1ByZXByb2Nlc3Nvciwgc2luY2UgdGhlIHByZXByb2Nlc3NvciB3aWxsIG5vdCB1bmRlcnN0YW5kIFtbIF1dIGNvZGUKCSRjb250ZW50ID0gJHRoaXMtPkZldGNoU21hcnR5KCRjb250ZW50KTsKCQoJCgkvLyBDU1NQcmVwcm9jZXNzb3IgbG9hZCBhbmQgY29tcGlsZQoJJHByb2Nlc3NvciA9ICR0aGlzLT5HZXRQcmVwcm9jZXNzb3IoKTsKCSRwcm9jZXNzb3ItPkNvbXBpbGVDU1MoJGNvbnRlbnQpOwoJCgkvLyBNaW5pZnkKCWlmICgkdGhpcy0+bWluaWZ5KQoJCSRwcm9jZXNzb3ItPk1pbmlmeUNTUygkY29udGVudCk7Cn0KCgoKCgoKCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgovLyBDCiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snY3NzX3ByZXByb2Nlc3NvciddID0gJ0NTUyBQcmVwcm9jZXNzb3InOwokbGFuZ1snY2hvb3NlX3ByZXByb2Nlc3NvciddID0gJ0Nob29zZSB0aGUgcHJlcHJvY2Vzc29yIHlvdSB3YW50IHRvIHVzZTonOwoKCi8vIEYKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NTUyBQcmVwcm9jZXNzb3InOwoKCi8vIEcKJGxhbmdbJ2dlbmVyYXRlX3NvdXJjZW1hcCddID0gJ1NvdXJjZSBtYXAnOwokbGFuZ1snZ2VuZXJhdGVfc291cmNlbWFwX2xhYmVsJ10gPSAnR2VuZXJhdGUgYSBzb3VyY2UgbWFwLCBpZiB0aGUgUHJlUHJvY2Vzc29yIHN1cHBvcnRzIGl0JzsKCgovLyBICiRsYW5nWydoZWxwJ10gPSA8PDxFT1QKPGgyPldoYXQgZG9lcyB0aGlzIGRvPzwvaDI+CiA8cD5UaGlzIG1vZHVsZSBhZGRzIHRvIHRoZSBDTVNNUyBTdHlsZXNoZWV0cyAvIERlc2lnbiBtYW5hZ2VyIHNvbWUgQ1NTIFByZXByb2Nlc3NvcnMsIGluIG9yZGVyIHRvIGNvbXBpbGUgTEVTUyAob3Igb3RoZXIgbWF5YmUgbGF0ZXIpIGNvZGU8L3A+CiAKIDxoMj5Ib3cgZG9lcyBpdCB3b3JrIGFuZCBpbnRlZ3JhdGUgaW4gQ01TTVM8L2gyPgogPHA+CglUaGlzIG1vZHVsZSB1c2VzIHRoZSBzdGFuZGFyZCBzdHlsZXNoZWV0cyBvZiBDTVMgTWFkZSBTaW1wbGUuIEl0IGlzIGxhdW5jaGVkIGFmdGVyIGFsbCB0aGUgc3R5bGVzaGVldHMgaGF2ZSBiZWVuIGNvbWJpbmVkLCBhbmQgaXQgdGFrZXMgYWxsIHRoZSBDU1MgY29udGVudCB0byBnaXZlIGl0IHRvIHRoZSBQcmVwcm9jZXNzb3Igb2YgeW91ciBjaG9pY2UuCiA8L3A+CiA8cD4KCQlLZWVwIGluIG1pbmQgdGhhdCB0aGlzIG1vZHVsZSBwcm9jZXNzZXMgdGhlIGVudGlyZSBzdHlsZXNoZWV0IGFmdGVyIHRoZWlyIGNvbWJpbmF0aW9uLiBObyBtYXR0ZXIgaWYgeW91IHVzZSAxIG9yIDEwIHN0eWxlc2hlZXRzIGluIHlvdXIgZGVzaWduLCB0aGUgcHJlcHJvY2Vzc29yIHdpbGwgb25seSBnZXQgb25lIHN0cmluZy4KIDwvcD4KCjxoMj5Ib3cgRG8gSSBVc2UgSXQ8L2gyPgo8dWw+Cgk8bGk+VXNlIHRoZSAiY29tYmluZSIgb3B0aW9uIChkZWZhdWx0IGluIHtjbXNfc3R5bGVzaGVldH0pPC9saT4KCTxsaT5JbiBvcmRlciB0byByZWNvZ25pemUgd2hpY2ggdGVtcGxhdGUgaXMgYSBzdHlsZXNoZWV0LCB5b3UgTVVTVCBwdXQgdGhhdCBzdHJpbmcgaW4gb25lIG9mIHlvdXIgc3R5bGVzaGVldHM6IDxzdHJvbmc+QEBDU1NQcmVwcm9jZXNzb3JAQDwvc3Ryb25nPiAtIEkgc3VnZ2VzdCBwdXR0aW5nIGl0IGluIGEgc2ltcGxlIGNvbW1lbnQ8L2xpPgoJPGxpPgoJCURlZmluZSB5b3VyIGltcG9ydCBkaXJlY3RvcmllcywgaWYgeW91IHVzZSBpdC4gRm9yIGV4ZW1wbGUsIGlmIHlvdSB3YW50IHRvIGludGVncmF0ZSBCb290c3RyYXAsIHlvdSBjYW4gOgoJCTxvbD4KCQkJPGxpPlB1dCB5b3VyIEJvb3RzdHJhcCBMRVNTIHNvdXJjZSBmaWxlcyBpbiB1cGxvYWRzL2Jvb3RzdHJhcC88L2xpPgoJCQk8bGk+VHlwZSA8c3Ryb25nPjxlbT5ib290c3RyYXA8L2VtPjwvc3Ryb25nPiBpbiB0aGUgIkRpcmVjdG9yaWVzIGNvbnRhaW5pbmcgTEVTUyBmaWxlcyB0byBpbmNsdWRlIGluIGNvbXBpbGF0aW9uIiAtIE5vIHNsYXNoIGF0IGJlZ2lubmluZyBvciBlbmQ8L2xpPgoJCTwvb2w+Cgk8L2xpPgoJPGxpPlN0YXJ0IHVzaW5nIExFU1MgY29kZSBpbiB5b3VyIHN0eWxlc2hlZXRzITwvbGk+CjwvdWw+Cgo8aDI+VXBkYXRpbmcgc3R5bGVzaGVldHM8L2gyPgo8cD4KCUlmIHlvdSBtYWtlIGFuIHVwZGF0ZSBvbiBhIENNU01TIHN0eWxlc2hlZXQsIGV2ZXJ5dGhpbmcgaXMgZmluZSBhbmQgdGhlIG1vZHVsZSB3aWxsIHByb2Nlc3MgdGhlIHN0eWxlc2hlZXQgYWdhaW4gb24gdGhlIG5leHQgcGFnZSByZWZyZXNoLgo8L3A+CjxwPgoJSG93ZXZlciwgaWYgeW91IGRpZCBtYWtlIGEgY2hhbmdlIGluIHlvdXIgaW1wb3J0ZWQgbGVzcyBmaWxlcywgdGhlIHN5c3RlbSB3aWxsIG5vdCBwZXJmb3JtIGFueSB1cGRhdGUgLSBpbiB0aGlzIGNhc2UsIHlvdSBtdXN0IGNsZWFyIHRoZSBjYWNoZSBvciBzaW1wbHkgcmVtb3ZlIHRoZSBzdHlsZXNoZWV0IGZyb20gdGhlIGNhY2hlIGRpcmVjdG9yeS4KPC9wPgoKPGgyPkV4YW1wbGU6IHVzaW5nIEJvb3RzdHJhcDwvaDI+CjxwPlRoaXMgaXMgYSBwcm9wb3NhbCBvbiBob3cgdG8gdXNlIGFuZCBjb21waWxlIEJvb3RzdHJhcCBmb3IgQ01TIE1hZGUgU2ltcGxlIHdpdGggdGhlIENTU1ByZXByb2Nlc3NvciBtb2R1bGUgOjwvcD4KPG9sPgoJPGxpPlB1dCB0aGUgQm9vdHN0cmFwIExFU1MgZmlsZXMgaW4gPHN0cm9uZz51cGxvYWRzL2Jvb3RzdHJhcC88L3N0cm9uZz48L2xpPgoJPGxpPkNyZWF0ZSBhIG5ldyBzdHlsZXNoZWV0IGluIENNU01TIGNhbGxlZCBzb21ldGhpbmcgbGlrZSA8c3Ryb25nPjxlbT5Cb290c3RyYXAgOjogbWFpbjwvZW0+PC9zdHJvbmc+PC9saT4KCTxsaT5JbiB0aGF0IG5ldyBzdHlsZXNoZWV0LCBjb3B5IGFsbCB0aGUgY29udGVudCBmcm9tIGJvb3RzdHJhcC9ib290c3RyYXAubGVzcyAtIFRoaXMgZmlsZSBpcyBvbmx5IGEgbGlzdCBvZiBmaWxlIGltcG9ydCwgYnV0IGl0J3MgbmljZSB0byBoYXZlIGl0IGluIENNU01TIGJlY2F1c2UgeW91IGNhbiBlYXNpbHkgY29tbWVudCBvdXQgdGhlIGZpbGVzIHlvdSBkb24ndCBuZWVkPC9saT4KCTxsaT5JbiB0aGUgQ1NTUHJlcHJvY2Vzc29yIG1vZHVsZSBwcmVmZXJlbmNlcywgYWRkIDxzdHJvbmc+Ym9vdHN0cmFwPC9zdHJvbmc+IHRvIHRoZSBpbXBvcnQgZGlyZWN0b3JpZXM8L2xpPgoJPGxpPkNyZWF0ZSBhIG5ldyBzdHlsZXNoZWV0IGNhbGxlZCBzb21ldGhpbmcgbGlrZSA8c3Ryb25nPjxlbT5DdXN0b20gOjogbWFpbjwvZW0+PC9zdHJvbmc+PC9saT4KCTxsaT5QdXQgdGhlIHN0cmluZyA8c3Ryb25nPkBAQ1NTUHJlcHJvY2Vzc29yQEA8L3N0cm9uZz4gYXQgdGhlIHRvcDwvbGk+Cgk8bGk+WW91IGNhbiBub3cgdXNlIHRoYXQgZmlsZSB0byBkZWZpbmUgeW91ciBjdXN0b20gdmFyaWFibGVzLCBvdmVycmlkZSBCb290c3RyYXAgdmFyaWFibGVzLCBjcmVhdGUgeW91ciBzdHlsZXMsIC4uLiBPciB5b3VyIGNhbiBjcmVhdGUgYXMgbXVjaCBzdHlsZXNoZWV0cyBhcyB5b3Ugd2FudDwvbGk+Cgk8bGk+RG9uJ3QgZm9yZ2V0IHRvIGxpbmsgeW91ciBzdHlsZXNoZWV0cyB0byB5b3VyIHRlbXBsYXRlcyAoY21zbXMgPCAyLjApIG9yIGRlc2lnbnMgKGNtc21zID08IDIuMCkgLSBZb3Ugc2hvdWxkIG1heWJlIHB1dCB0aGUgQm9vdHN0cmFwIDo6IG1haW4gZmlsZSBhdCB0aGUgdG9wLCBiZWZvcmUgb3RoZXIgc3R5bGVzaGVldHM8L2xpPgo8L29sPgo8cD4KCU5vdyB5b3UgY2FuIHNpbXBseSBjaGFuZ2UgdGhlIGdyaWQgb3Igd2hhdGV2ZXIgeW91IHdhbnQgaW4geW91ciBjdXN0b20gZmlsZXMsIGJlY2F1c2UgdGhlIHByZXByb2Nlc3NvcnMgZG9lc24ndCBjYXJlIG9mIHRoZSBvcmRlciBvZiB0aGUgY29kZSAtIFB1dHRpbmcgPHN0cm9uZz5AZ3JpZC1jb2x1bW5zOiAxMjs8L3N0cm9uZz4gaW4geW91ciBjdXN0b20gc3R5bGVzaGVldHMgd2lsbCB3b3JrIQo8L3A+CgoKCjxoMj5TbWFydHkgc3VwcG9ydDwvaDI+CjxwPllvdSBjYW4gdXNlIFNtYXJ0eSB0YWdzIHdpdGggW1sgYW5kIF1dIC0gU21hcnR5IHdpbGwgYmUgcHJvY2Vzc2VkIGJlZm9yZSB0aGUgQ1NTIFByZVByb2Nlc3Nvci48L3A+Cgo8aDI+VXNpbmcgU291cmNlbWFwczwvaDI+CjxwPgoJU29tZSBwcmVwcm9jZXNzb3JzIGNhbiBjcmVhdGUgc291cmNlbWFwIGZpbGVzLCBpbiBvcmRlciB0byBoZWxwIHlvdSBkdXJpbmcgaW50ZWdyYXRpb24uIERvbid0IGZvcmdldCB0byBjb25maWd1cmUgeW91ciBicm93c2VyIHRvIHVzZSB0aGF0IGZ1bmN0aW9uLiBOb3RlIHRoYXQgb25seSBpbXBvcnRlZCBmaWxlcyB3aWxsIGJlIG1hcHBlZCBpbiB0aGUgc291cmNlbWFwcyAodGhpcyBtYXkgY2hhbmdlIGluIGEgZnVydGhlciB2ZXJzaW9uKS4KPC9wPgoKPGgyPkRlYWN0aXZhdGUgdGhlIG1vZHVsZTwvaDI+CjxwPgoJSWYgeW91IGRvbid0IHdhbnQgdG8gdXNlIGFueSBvZiB0aGUgcHJlcHJvY2Vzc29ycywgcGxlYXNlIHJlbW92ZSBpdCBvciBkaXNhYmxlIGl0IGluIHRoZSBNb2R1bGVzIE1hbmFnZXIgLSBUaGVyZSBhcmUgbm8gImRlYWN0aXZhdGUiIGZ1bmN0aW9uIGJ1aWx0IGluIHRoZSBtb2R1bGUuCjwvcD4KCjxoMj5QcmVwcm9jZXNzb3Igc3dpdGNoPC9oMj4KPHA+CglZb3UgbWF5IHdhbnQgdG8gc3dpdGNoIGZyb20gb25lIHByZXByb2Nlc3NvciB0byBhbm90aGVyIC0gRG9uJ3QgZm9yZ2V0IHRvIGNsZWFyIHlvdXIgY2FjaGUgYWZ0ZXIgdGhhdCBiZWNhdXNlIHRoZSBtb2R1bGUgd2lsbCBub3QgZG8gaXQuCjwvcD4KCjxoMj5FeHRlbmQgd2l0aCBhbm90aGVyIHByZXByb2Nlc3NvcjwvaDI+CjxwPgoJWW91IGNhbiBjcmVhdGUgYSBuZXcgZGlyZWN0b3J5IGluIHRoZSAicHJlcHJvY2Vzc29ycyIgZGlyZWN0b3J5LCBhbmQgY3JlYXRlIHlvdXIgb3duIGNsYXNzIC0gQ2hlY2sgaG93IHRoZSBidW5kbGVkIHByZXByb2Nlc3NvcnMgYXJlIGludGVncmF0ZWQuCjwvcD4KPHA+RG9uJ3QgZm9yZ2V0IHRvIDxhIGhyZWY9Im1haWx0bzpjb250YWN0QGFpcmVsaWJyZS5mciI+ZW1haWwgbWU8L2E+IGlmIHlvdSB3YW50IHlvdXIgcHJlcHJvY2Vzc29yIHRvIGJlIGFkZGVkIHRvIHRoZSBwcm9qZWN0ITwvcD4KCjxoMj5TdXBwb3J0PC9oMj4KCTxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgk8cD4KCQlJZiB5b3Ugd2FudCB0byBjb250YWN0IG1lOiA8YSBocmVmPSJtYWlsdG86Y29udGFjdEBhaXJlbGlicmUuZnIiPmNvbnRhY3RAYWlyZWxpYnJlLmZyPC9hPgoJPC9wPgoJCjxoMj5Qcm9qZWN0IG9uIHRoZSB3ZWI8L2gyPgo8cD5Zb3UgY2FuIGZvbGxvdyB0aGUgcHJvamVjdCBvbiA6IDwvcD4KCTx1bD4KCQk8bGk+R2l0SHViOiA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYWlyZWxpYnJlL0NTU1ByZXByb2Nlc3NvciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNvbS9haXJlbGlicmUvQ1NTUHJlcHJvY2Vzc29yPC9hPjwvbGk+CgkJPGxpPkNNU01TIEZvcmdlOiA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2Nzc3ByZXByb2Nlc3NvciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3NzcHJlcHJvY2Vzc29yPC9hPjwvbGk+Cgk8L3VsPgoKPGgyPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDI+Cgk8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTQsIEFpcmVMaWJyZSA8YSBocmVmPSJtYWlsdG86Y29udGFjdEBhaXJlbGlicmUuZnIiPmNvbnRhY3RAYWlyZWxpYnJlLmZyPC9hPiAvIDxhIGhyZWY9Imh0dHA6Ly93d3cuYWlyZWxpYnJlLmZyIiB0YXJnZXQ9Il9ibGFuayI+d3d3LmFpcmVsaWJyZS5mcjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KCTxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+CgkKCTxoMz5QcmVwcm9jZXNzb3JzIGNvcHlyaWdodDwvaDM+Cgk8cD4KCQlUaGUgYXV0aG9yIG9mIHRoaXMgbW9kdWxlIGRvZXMgbm90IG93biB0aGUgcHJlcHJvY2Vzc29ycyBidW5kbGVkIHdpdGggaXQgLSBQbGVhc2Ugc2VlIGV2ZXJ5IHByZXByb2Nlc3NvcnMgc291cmNlIGNvZGUgLyB3ZWJzaXRlIHRvIGdldCBpbmZvcm1hdGlvbnMgYWJvdXQgbGljZW5jZSBhbmQgY29weXJpZ2h0LgoJPC9wPgoJPHA+SSBqdXN0IHdhbnRlZCB0byB0aGFuayBhbGwgdGhlIGRldmVsb3BlcnMgdGhhdCBjb250cmlidXRlIHRvIHRoZXNlIHByZXByb2Nlc3NvcnMgd2hpY2ggYXJlIGdyZWF0IHRvb2xzIGZvciBkZXNpZ25lcnMhPC9wPgpFT1Q7CgoKLy8gSQokbGFuZ1snaW1wb3J0X2RpcnMnXSA9ICdEaXJlY3RvcmllcyBjb250YWluaW5nIExFU1MgZmlsZXMgdG8gaW5jbHVkZSBpbiBjb21waWxhdGlvbiAtIFJlbGF0aXZlIHRvIHRoZSA8c3Ryb25nPnVwbG9hZHMvPC9zdHJvbmc+IGRpciAtIENvbW1hIHNlcGFyYXRlZCBsaXN0JzsKCi8vIE0KJGxhbmdbJ21pbmlmeSddID0gJ01pbmlmeSc7CiRsYW5nWydtaW5pZnlfbGFiZWwnXSA9ICdNaW5pZnkgdGhlIENTUyAtIE5vdGU6IGlmIGFsbG93ZWQgYnkgdGhlIHByZS1wcm9jZXNzb3IgJzsKCi8vIE4KJGxhbmdbJ25vdGUnXSA9ICdOb3RlOic7CgoKLy8gTwokbGFuZ1snb3B0aW9ucyddID0gJ09wdGlvbnMnOwoKCi8vIFAKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jZXMnOwokbGFuZ1sncHJlZmVyZW5jZXNfc2V0J10gPSAnUHJlZmVyZW5jZXMgc2F2ZWQ8YnI+UGxlYXNlIGNsZWFyIHlvdXIgd2Vic2l0ZSBjYWNoZSBpbiBvcmRlciB0byByZS1wcm9jZXNzIHRoZSBDU1MnOwoKCgoKLy8gUwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.Preprocessor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFByZXByb2Nlc3NvciB7CgoJY29uc3QgTE9HTyA9ICcnOwoJCgljb25zdCBTT1VSQ0VNQVBGSUxFID0gJ3NvdXJjZW1hcC5tYXAnOwoKCXB1YmxpYyAkaW1wb3J0X2RpcnM7CglwdWJsaWMgJG1pbmlmeTsKCQoJcHVibGljICRnZW5lcmF0ZV9zb3VyY2VtYXA7CglwdWJsaWMgJHNvdXJjZV9tYXBfZmlsZT0nJzsKCXB1YmxpYyAkc291cmNlX21hcF91cmw9Jyc7CgkKCQoJCgkvLyBMb2FkIGltcG9ydCBkaXJzCglwdWJsaWMgZnVuY3Rpb24gTG9hZCgpCgl7CgkJJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ1NTUHJlcHJvY2Vzc29yJyk7CgkJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJCQoJCS8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgoJCS8vIEltcG9ydCBkaXJzLCBpZiBhbnkKCQkkaW1wb3J0X2RpcnMgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfZGlycycsICcnKTsKCQkkaW1wb3J0X2RpcnNfYXJyYXkgPSBhcnJheSgpOwoJCWlmICghZW1wdHkoJGltcG9ydF9kaXJzKSkKCQl7CgkJCS8vIGFycmF5CgkJCSR0bXAgPSBleHBsb2RlKCcsJywgJGltcG9ydF9kaXJzKTsKCQkJCgkJCWZvcmVhY2ggKCR0bXAgYXMgJG9uZSkKCQkJewoJCQkJLy8gTm90ZTogc29tZSBwcmVwcm9jZXNzb3JzIG5lZWQgdGhlIGtleSB0byBiZSB0aGUgcGF0aCAoTGVzcy5waHAgYnkgb3llam9yZ2UpCgkJCQkkZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgdHJpbSgkb25lKSk7CgkJCQkkaW1wb3J0X2RpcnNfYXJyYXlbJGRpcl0gPSAkZGlyOwoJCQl9CgkJfQoJCSR0aGlzLT5pbXBvcnRfZGlycyA9ICRpbXBvcnRfZGlyc19hcnJheTsKCQkvLyBFbmQgaW1wb3J0IGRpcnMKCQkvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCQkKCQkKCQkKCQkKCQkvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKCQkvLyBNaW5pZnkgPwoJCSR0aGlzLT5taW5pZnkgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdtaW5pZnknLCAwKTsKCQkvLyBFbmQgbWluaWZ5CgkJLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkJCgkJCgkJCgkJCgkJLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkJLy8gR2VuZXJhdGUgc291cmNlbWFwID8KCQkkdGhpcy0+Z2VuZXJhdGVfc291cmNlbWFwID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZ2VuZXJhdGVfc291cmNlbWFwJywgMCk7CgkJCgkJaWYgKCR0aGlzLT5nZW5lcmF0ZV9zb3VyY2VtYXApCgkJewoJCQkkdGhpcy0+c291cmNlX21hcF9maWxlID0gY21zX2pvaW5fcGF0aChUTVBfQ0FDSEVfTE9DQVRJT04sIHNlbGY6OlNPVVJDRU1BUEZJTEUpOwoJCQkkdGhpcy0+c291cmNlX21hcF91cmwgPSAkY29uZmlnWydjc3NfdXJsJ10gLiBzZWxmOjpTT1VSQ0VNQVBGSUxFOwoJCX0KCQkvLyBFbmQgc291cmNlbWFwCgkJLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgl9CgkKCQoJCgkKCQoJLy8gTmVlZHMgdG8gYmUgb3ZlcnJpZGRlbiBieSB0aGUgc3ViY2xhc3NlcwoJcHVibGljIGZ1bmN0aW9uIENvbXBpbGVDU1MoJiRjc3M9JycpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CgkKCQoJCgkKCQoJLy8gRnJvbSA6IGh0dHA6Ly9jb2RlLnNlZWJ6Lm5ldC9wL21pbmlmeS1jc3MvCgkvLyBUaGFua3MKCXB1YmxpYyBmdW5jdGlvbiBNaW5pZnlDU1MoJiRjc3M9JycpCgl7CgkJJGNzcyA9IHByZWdfcmVwbGFjZSgnIS9cKlteKl0qXCorKFteL11bXipdKlwqKykqLyEnLCAnJywgJGNzcyk7CgkKCQkkY3NzID0gc3RyX3JlcGxhY2UoYXJyYXkoIlxyIiwiXG4iKSwgJycsICRjc3MpOwoJCSRjc3MgPSBwcmVnX3JlcGxhY2UoJ2AoW14qL10pXC9cKihbXipdfFsqXSg/IS8pKXs1LH1cKlwvKFteKi9dKWBVcycsICckMSQzJywgJGNzcyk7CgkJJGNzcyA9IHByZWdfcmVwbGFjZSgnYFxzKih7fH18LHw6fDspXHMqYCcsICckMScsICRjc3MpOwoJCSRjc3MgPSBzdHJfcmVwbGFjZSgnO30nLCAnfScsICRjc3MpOwoJCSRjc3MgPSBwcmVnX3JlcGxhY2UoJ2AoPz18fSlbXnt9XSt7fWAnLCAnJywgJGNzcyk7CgkJJGNzcyA9IHByZWdfcmVwbGFjZSgnYFtcc10rYCcsICcgJywgJGNzcyk7CgkJCgkJLy8gVGVzdAoJCS8vJGNzcyA9ICcvKk1pbmkqLycuJGNzczsKCQkKCQlpZiAoJHRoaXMtPmdlbmVyYXRlX3NvdXJjZW1hcCAmJiAkdGhpcy0+c291cmNlX21hcF91cmwpCgkJewoJCQkvLyBBbmQgYWRkIHNvdXJjZW1hcCBiZWNhdXNlIG1pbmlmeSByZW1vdmVzIGNvbW1lbnRzCgkJCSRjc3MgPSAkY3NzIC4gIi8qIyBzb3VyY2VNYXBwaW5nVVJMPSIgLiAkdGhpcy0+c291cmNlX21hcF91cmwgLiAiICovIjsKCQl9Cgl9Cgp9CgoKCgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDb3JlJywgJ1NtYXJ0eVByZUNvbXBpbGUnLCBmYWxzZSk7CgoKCgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdDb3JlJywgJ1NtYXJ0eVByZUNvbXBpbGUnKTsKCgoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovLyBWZXJzaW9uIDEuMQppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCcxLjEnKSA8IDAgKSAKewoJLy8gU3dpdGNoIGZyb20gcG9zdCB0byBwcmVjb21waWxlIGluIG9yZGVyIHRvIG1ha2UgU21hcnR5IHdvcmsKCSR0aGlzLT5BZGRFdmVudEhhbmRsZXIoJ0NvcmUnLCAnU21hcnR5UHJlQ29tcGlsZScsIGZhbHNlKTsKCSR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCAnU21hcnR5UG9zdENvbXBpbGUnLCBmYWxzZSk7Cn0KCgoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/preprocessors/LessCommand/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/preprocessors/LessCommand/class.Preprocessor_LessCommand.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFByZXByb2Nlc3Nvcl9MZXNzQ29tbWFuZCBleHRlbmRzIFByZXByb2Nlc3NvciB7CgoJY29uc3QgRlJJRU5ETFlfTkFNRSA9ICdMZXNzIGNvbXBpbGVyIGZyb20gY29tbWFuZCBsaW5lJzsKCWNvbnN0IERFU0NSSVBUSU9OID0gJ1RoZSBvZmZpY2lhbCBjb21tYW5kIGxpbmUgTEVTUyBjb21waWxhdG9yJzsKCWNvbnN0IEFVVEhPUiA9ICdDb3JlIExFU1MgdGVhbSc7Cgljb25zdCBXRUJTSVRFID0gJ2h0dHA6Ly9sZXNzY3NzLm9yZyc7Cgljb25zdCBOT1RFID0gJ0Zhc3QsIGJ1dCB5b3UgTkVFRCB0aGUgbGVzc2MgY29tbWFuZCBsaW5lIHRvb2wgKHYuIDEuNyBvciBuZXdlcikgaW5zdGFsbGVkIG9uIHlvdXIgc2VydmVyIHRvIHVzZSBpdCAtIGNoZWNrIHRoZSBvZmZpY2lhbCB3ZWJzaXRlIGZvciBtb3JlIGluZm9ybWF0aW9ucyc7Cgljb25zdCBMT0dPID0gJ2xvZ28ucG5nJzsKCQoJCgkKCS8vIE5vdGUgOiAkY3NzIGlzIHBhc3NlZCBieSByZWZlcmVuY2UgLSBubyBuZWVkIHRvIHJldHVybgoJcHVibGljIGZ1bmN0aW9uIENvbXBpbGVDU1MoJiRjc3M9JycpCgl7CgkJLy8gUHV0IGluIGEgY2FjaGUgZmlsZQoJCSRmaWxlID0gY21zX2pvaW5fcGF0aChUTVBfQ0FDSEVfTE9DQVRJT04sICdjc3NwcmVwcm9jZXNzb3IuY3NzJyk7CgkJZmlsZV9wdXRfY29udGVudHMoJGZpbGUsICRjc3MpOwoJCQoJCSRmaWxlX291dHB1dCA9IGNtc19qb2luX3BhdGgoVE1QX0NBQ0hFX0xPQ0FUSU9OLCAnY3NzcHJlcHJvY2Vzc29yX291dC5jc3MnKTsKCQkKCQkvLyBFWEVDICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCgkJLy8gQ29tcGlsZQoJCSRjb21tYW5kID0gJ2xlc3NjICc7CgkJCiAJCWlmICgkdGhpcy0+bWluaWZ5KQogCQl7CiAJCQkvLyRjb21tYW5kIC49ICcteCAtLWNsZWFuLWNzcyAnOyAvLyBub3RlOiBjbGVhbi1jc3MgZG9lcyBub3Qgd29yayB3aXRoIHNvdXJjZSBtYXBzCiAJCQkkY29tbWFuZCAuPSAnLXggJzsKCQl9CgkJCgkJLy8gU291cmNlbWFwCgkJaWYgKCR0aGlzLT5nZW5lcmF0ZV9zb3VyY2VtYXApCgkJewoJCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJCQoJCQkkY29tbWFuZCAuPSAnLS1zb3VyY2UtbWFwPScgLiAkdGhpcy0+c291cmNlX21hcF9maWxlIC4gJyAtLXNvdXJjZS1tYXAtdXJsPScgLiAkdGhpcy0+c291cmNlX21hcF91cmwgLiAnIC0tc291cmNlLW1hcC1iYXNlcGF0aD0nIC4gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10gLiAnIC0tc291cmNlLW1hcC1yb290cGF0aD0nIC4gJGNvbmZpZ1sndXBsb2Fkc191cmwnXSAuICcgJzsKCQl9CgkJCgkJaWYgKCFlbXB0eSgkdGhpcy0+aW1wb3J0X2RpcnMpKQoJCXsKCQkJLy8gQ2hlY2sgaWYgd2UgYXJlIG9uIExpbnV4IG9yIFdpbmRvd3MgLSBuZWVkIHRlc3RpbmcKCQkJLy8gU2VlIGh0dHA6Ly9sZXNzY3NzLm9yZy91c2FnZS8jY29tbWFuZC1saW5lLXVzYWdlLWluY2x1ZGUtcGF0aHMKCQkJJHBocG9zID0gc3RydG9sb3dlcihQSFBfT1MpOwoJCQkkc2VwYXJhdG9yPSAnOic7CgkJCWlmIChzdHJwb3MoJHBocG9zLCAnd2luJykpCgkJCQkkc2VwYXJhdG9yPSAnOyc7CgkJCQoJCQkkY29tbWFuZCAuPSAnIC0taW5jbHVkZS1wYXRoPScgLiBpbXBsb2RlKCRzZXBhcmF0b3IsICR0aGlzLT5pbXBvcnRfZGlycyk7CgkJfQoJCQoJCSRjb21tYW5kIC49ICcgJyAuICRmaWxlIC4gJyAnIC4kZmlsZV9vdXRwdXQ7CgkJCgkJLy8gQXNrIGZvciBjb21tYW5kIHRvIHN5c3RlbQoJCSRyZXN1bHQgPSBleGVjKCRjb21tYW5kKTsKCQkKCQlpZiAoIWVtcHR5KCRyZXN1bHQpKQoJCQlkZWJ1Z190b19sb2coJ0NTU1ByZXByb2Nlc3NvcjogJyAuICRyZXN1bHQpOwoJCQoJCSRjc3MgPSBmaWxlX2dldF9jb250ZW50cygkZmlsZV9vdXRwdXQpOwoJCQoJCS8vIFJlbW92ZSBjYWNoZSBmaWxlCgkJLy91bmxpbmsoJGZpbGUpOwoJCQoJCXJldHVybiB0cnVlOwoJfQoKCn0KCgoKCj8+]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessCommand/logo.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/class.Preprocessor_LessPHPOyejorge.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFByZXByb2Nlc3Nvcl9MZXNzUEhQT3llam9yZ2UgZXh0ZW5kcyBQcmVwcm9jZXNzb3IgewoKCWNvbnN0IEZSSUVORExZX05BTUUgPSAnTGVzc1BIUCAoT3llam9yZ2UpJzsKCWNvbnN0IERFU0NSSVBUSU9OID0gJ0EgUEhQIC8gTEVTU0NTUyBwcmUtcHJvY2Vzc29yJzsKCWNvbnN0IEFVVEhPUiA9ICdveWVqb3JnZSAtIEpvc2ggU2NobWlkdCc7Cgljb25zdCBXRUJTSVRFID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9veWVqb3JnZS9sZXNzLnBocCc7Cgljb25zdCBOT1RFID0gJyc7Cgljb25zdCBMT0dPID0gJ2xvZ28ucG5nJzsKCQoJCgkvLyBGb3IgTGVzc1BIUE95ZWpvcmdlCglwdWJsaWMgJHBhcnNlcjsKCQoKCXB1YmxpYyBmdW5jdGlvbiBMb2FkKCkKCXsKCQlwYXJlbnQ6OkxvYWQoKTsKCQkKCQlyZXF1aXJlX29uY2UoY21zX2pvaW5fcGF0aChfX0RJUl9fLCAnTGVzcycsICdBdXRvbG9hZGVyLnBocCcpKTsKCQlMZXNzX0F1dG9sb2FkZXI6OnJlZ2lzdGVyKCk7CgkJCgkJLy8gT3B0aW9ucwoJCSRvcHRpb25zWydjb21wcmVzcyddID0gJHRoaXMtPm1pbmlmeTsKCQkKCQlpZiAoJHRoaXMtPmdlbmVyYXRlX3NvdXJjZW1hcCkKCQl7CgkJCSRvcHRpb25zWydzb3VyY2VNYXAnXSA9IHRydWU7CgkJCSRvcHRpb25zWydzb3VyY2VNYXBXcml0ZVRvJ10gPSAkdGhpcy0+c291cmNlX21hcF9maWxlOwoJCQkkb3B0aW9uc1snc291cmNlTWFwVVJMJ10gPSAkdGhpcy0+c291cmNlX21hcF91cmw7CgkJCQoJCQkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJCSRvcHRpb25zWydzb3VyY2VNYXBCYXNlcGF0aCddID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ107CgkJfQoJCQoJCSR0aGlzLT5wYXJzZXIgPSBuZXcgTGVzc19QYXJzZXIoJG9wdGlvbnMpOwoJCQoJCS8vIEltcG9ydCBkaXJzCgkJJHRoaXMtPnBhcnNlci0+U2V0SW1wb3J0RGlycygkdGhpcy0+aW1wb3J0X2RpcnMpOwoJfQoJCgkvLyBOb3RlIDogJGNzcyBpcyBwYXNzZWQgYnkgcmVmZXJlbmNlIC0gbm8gbmVlZCB0byByZXR1cm4KCXB1YmxpYyBmdW5jdGlvbiBDb21waWxlQ1NTKCYkY3NzPScnKQoJewoJCXRyeSB7CgkJCSR0aGlzLT5wYXJzZXItPnBhcnNlKCRjc3MpOwoJCQkkY3NzID0gJHRoaXMtPnBhcnNlci0+Z2V0Q3NzKCk7CgkJfQoJCWNhdGNoIChleGNlcHRpb24gJGUpIHsKCQkJJGVycm9yX21lc3NhZ2UgPSAkZS0+Z2V0TWVzc2FnZSgpOwoJCQlkZWJ1Z190b19sb2coJGVycm9yX21lc3NhZ2UpOwoJCX0KCQkKCQlyZXR1cm4gdHJ1ZTsKCX0KCn0KCgoKCj8+]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Autoloader.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBdXRvbG9hZGVyCiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgYXV0b2xvYWQKICovCmNsYXNzIExlc3NfQXV0b2xvYWRlciB7CgoJLyoqCgkgKiBSZWdpc3RlcmVkIGZsYWcKCSAqCgkgKiBAdmFyIGJvb2xlYW4KCSAqLwoJcHJvdGVjdGVkIHN0YXRpYyAkcmVnaXN0ZXJlZCA9IGZhbHNlOwoKCS8qKgoJICogTGlicmFyeSBkaXJlY3RvcnkKCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwcm90ZWN0ZWQgc3RhdGljICRsaWJEaXI7CgoJLyoqCgkgKiBSZWdpc3RlciB0aGUgYXV0b2xvYWRlciBpbiB0aGUgc3BsIGF1dG9sb2FkZXIKCSAqCgkgKiBAcmV0dXJuIHZvaWQKCSAqIEB0aHJvd3MgRXhjZXB0aW9uIElmIHRoZXJlIHdhcyBhbiBlcnJvciBpbiByZWdpc3RyYXRpb24KCSAqLwoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZWdpc3RlcigpewoJCWlmKCBzZWxmOjokcmVnaXN0ZXJlZCApewoJCQlyZXR1cm47CgkJfQoKCQlzZWxmOjokbGliRGlyID0gZGlybmFtZShfX0ZJTEVfXyk7CgoJCWlmKGZhbHNlID09PSBzcGxfYXV0b2xvYWRfcmVnaXN0ZXIoYXJyYXkoJ0xlc3NfQXV0b2xvYWRlcicsICdsb2FkQ2xhc3MnKSkpewoJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdVbmFibGUgdG8gcmVnaXN0ZXIgTGVzc19BdXRvbG9hZGVyOjpsb2FkQ2xhc3MgYXMgYW4gYXV0b2xvYWRpbmcgbWV0aG9kLicpOwoJCX0KCgkJc2VsZjo6JHJlZ2lzdGVyZWQgPSB0cnVlOwoJfQoKCS8qKgoJICogVW5yZWdpc3RlcnMgdGhlIGF1dG9sb2FkZXIKCSAqCgkgKiBAcmV0dXJuIHZvaWQKCSAqLwoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiB1bnJlZ2lzdGVyKCl7CgkJc3BsX2F1dG9sb2FkX3VucmVnaXN0ZXIoYXJyYXkoJ0xlc3NfQXV0b2xvYWRlcicsICdsb2FkQ2xhc3MnKSk7CgkJc2VsZjo6JHJlZ2lzdGVyZWQgPSBmYWxzZTsKCX0KCgkvKioKCSAqIExvYWRzIHRoZSBjbGFzcwoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJGNsYXNzTmFtZSBUaGUgY2xhc3MgdG8gbG9hZAoJICovCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvYWRDbGFzcygkY2xhc3NOYW1lKXsKCgoJCS8vIGhhbmRsZSBvbmx5IHBhY2thZ2UgY2xhc3NlcwoJCWlmKHN0cnBvcygkY2xhc3NOYW1lLCAnTGVzc18nKSAhPT0gMCl7CgkJCXJldHVybjsKCQl9CgoJCSRjbGFzc05hbWUgPSBzdWJzdHIoJGNsYXNzTmFtZSw1KTsKCQkkZmlsZU5hbWUgPSBzZWxmOjokbGliRGlyIC4gRElSRUNUT1JZX1NFUEFSQVRPUiAuIHN0cl9yZXBsYWNlKCdfJywgRElSRUNUT1JZX1NFUEFSQVRPUiwgJGNsYXNzTmFtZSkgLiAnLnBocCc7CgoJCWlmKGZpbGVfZXhpc3RzKCRmaWxlTmFtZSkpewoJCQlyZXF1aXJlICRmaWxlTmFtZTsKCQkJcmV0dXJuIHRydWU7CgkJfWVsc2V7CgkJCXRocm93IG5ldyBFeGNlcHRpb24oJ2ZpbGUgbm90IGxvYWRhYmxlICcuJGZpbGVOYW1lKTsKCQl9Cgl9Cgp9]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Cache.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJlcXVpcmVfb25jZSggZGlybmFtZShfX0ZJTEVfXykuJy9WZXJzaW9uLnBocCcpOwoKLyoqCiAqIFV0aWxpdHkgZm9yIGhhbmRsaW5nIHRoZSBnZW5lcmF0aW9uIGFuZCBjYWNoaW5nIG9mIGNzcyBmaWxlcwogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIGNhY2hlCiAqCiAqLwpjbGFzcyBMZXNzX0NhY2hlewoKCS8vIGRpcmVjdG9yeSBsZXNzLnBocCBjYW4gdXNlIGZvciBzdG9yaW5nIGRhdGEKCXB1YmxpYyBzdGF0aWMgJGNhY2hlX2Rpcgk9IGZhbHNlOwoKCS8vIHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgYWZ0ZXIgd2hpY2ggZGF0YSBjcmVhdGVkIGJ5IGxlc3MucGhwIHdpbGwgYmUgc2VlbiBhcyAnZ2FyYmFnZScgYW5kIHBvdGVudGlhbGx5IGNsZWFuZWQgdXAKCXB1YmxpYyBzdGF0aWMgJGdjX2xpZmV0aW1lCT0gNjA0ODAwOwoKCgkvKioKCSAqIFNhdmUgYW5kIHJldXNlIHRoZSByZXN1bHRzIG9mIGNvbXBpbGVkIGxlc3MgZmlsZXMuCgkgKiBUaGUgZmlyc3QgY2FsbCB0byBHZXQoKSB3aWxsIGdlbmVyYXRlIGNzcyBhbmQgc2F2ZSBpdC4KCSAqIFN1YnNlcXVlbnQgY2FsbHMgdG8gR2V0KCkgd2l0aCB0aGUgc2FtZSBhcmd1bWVudHMgd2lsbCByZXR1cm4gdGhlIHNhbWUgY3NzIGZpbGVuYW1lCgkgKgoJICogQHBhcmFtIGFycmF5ICRsZXNzX2ZpbGVzIEFycmF5IG9mIC5sZXNzIGZpbGVzIHRvIGNvbXBpbGUKCSAqIEBwYXJhbSBhcnJheSAkcGFyc2VyX29wdGlvbnMgQXJyYXkgb2YgY29tcGlsZXIgb3B0aW9ucwoJICogQHBhcmFtIGFycmF5ICRtb2RpZnlfdmFycyBBcnJheSBvZiB2YXJpYWJsZXMKCSAqIEByZXR1cm4gc3RyaW5nIE5hbWUgb2YgdGhlIGNzcyBmaWxlCgkgKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gR2V0KCAkbGVzc19maWxlcywgJHBhcnNlcl9vcHRpb25zID0gYXJyYXkoKSwgJG1vZGlmeV92YXJzID0gYXJyYXkoKSApewoKCgkJLy9jaGVjayAkY2FjaGVfZGlyCgkJaWYoIGlzc2V0KCRwYXJzZXJfb3B0aW9uc1snY2FjaGVfZGlyJ10pICl7CgkJCUxlc3NfQ2FjaGU6OiRjYWNoZV9kaXIgPSAkcGFyc2VyX29wdGlvbnNbJ2NhY2hlX2RpciddOwoJCX0KCgkJaWYoIGVtcHR5KExlc3NfQ2FjaGU6OiRjYWNoZV9kaXIpICl7CgkJCXRocm93IG5ldyBFeGNlcHRpb24oJ2NhY2hlX2RpciBub3Qgc2V0Jyk7CgkJfQoKCQlzZWxmOjpDaGVja0NhY2hlRGlyKCk7CgkJJGxlc3NfZmlsZXMgPSAoYXJyYXkpJGxlc3NfZmlsZXM7CgoKCQkvL2NyZWF0ZSBhIGZpbGUgZm9yIHZhcmlhYmxlcwoJCWlmKCAhZW1wdHkoJG1vZGlmeV92YXJzKSApewoJCQkkbGVzc3ZhcnMgPSBMZXNzX1BhcnNlcjo6c2VyaWFsaXplVmFycygkbW9kaWZ5X3ZhcnMpOwoJCQkkdmFyc19maWxlID0gTGVzc19DYWNoZTo6JGNhY2hlX2Rpci4nbGVzc3BocHZhcnNfJyAuIHNoYTEoJGxlc3N2YXJzKSAuICcubGVzcyc7CgoJCQlpZiggIWZpbGVfZXhpc3RzKCR2YXJzX2ZpbGUpICl7CgkJCQlmaWxlX3B1dF9jb250ZW50cygkdmFyc19maWxlLCAkbGVzc3ZhcnMpOwoJCQl9CgoJCQkkbGVzc19maWxlcyArPSBhcnJheSgkdmFyc19maWxlID0+ICcvJyk7CgkJfQoKCgkJLy8gZ2VuZXJhdGUgbmFtZSBmb3IgY29tcGlsZWQgY3NzIGZpbGUKCQkkaGFzaCA9IG1kNShqc29uX2VuY29kZSgkbGVzc19maWxlcykpOwogCQkkbGlzdF9maWxlID0gTGVzc19DYWNoZTo6JGNhY2hlX2Rpci4nbGVzc3BocF8nLiRoYXNoLicubGlzdCc7CgoKIAkJLy8gY2hlY2sgY2FjaGVkIGNvbnRlbnQKIAkJaWYoICFpc3NldCgkcGFyc2VyX29wdGlvbnNbJ3VzZV9jYWNoZSddKSB8fCAkcGFyc2VyX29wdGlvbnNbJ3VzZV9jYWNoZSddID09PSB0cnVlICl7CgkJCWlmKCBmaWxlX2V4aXN0cygkbGlzdF9maWxlKSApewoKCQkJCXNlbGY6Okxpc3RGaWxlcygkbGlzdF9maWxlLCAkbGlzdCwgJGNhY2hlZF9uYW1lKTsKCQkJCSRjb21waWxlZF9uYW1lID0gc2VsZjo6Q29tcGlsZWROYW1lKCRsaXN0KTsKCgkJCQkvLyBpZiAkY2FjaGVkX25hbWUgIT0gJGNvbXBpbGVkX25hbWUsIHdlIGtub3cgd2UgbmVlZCB0byByZWNvbXBpbGUKCQkJCWlmKCAhJGNhY2hlZF9uYW1lIHx8ICRjYWNoZWRfbmFtZSA9PT0gJGNvbXBpbGVkX25hbWUgKXsKCgkJCQkJJG91dHB1dF9maWxlID0gc2VsZjo6T3V0cHV0RmlsZSgkY29tcGlsZWRfbmFtZSwgJHBhcnNlcl9vcHRpb25zICk7CgoJCQkJCWlmKCAkb3V0cHV0X2ZpbGUgJiYgZmlsZV9leGlzdHMoJG91dHB1dF9maWxlKSApewoJCQkJCQlAdG91Y2goJGxpc3RfZmlsZSk7CgkJCQkJCXJldHVybiBiYXNlbmFtZSgkb3V0cHV0X2ZpbGUpOyAvLyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHdlIGp1c3QgcmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBmaWxlCgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoKCQkkY29tcGlsZWQgPSBzZWxmOjpDYWNoZSggJGxlc3NfZmlsZXMsICRwYXJzZXJfb3B0aW9ucyApOwoJCWlmKCAhJGNvbXBpbGVkICl7CgkJCXJldHVybiBmYWxzZTsKCQl9CgoJCSRjb21waWxlZF9uYW1lID0gc2VsZjo6Q29tcGlsZWROYW1lKCAkbGVzc19maWxlcyApOwoJCSRvdXRwdXRfZmlsZSA9IHNlbGY6Ok91dHB1dEZpbGUoJGNvbXBpbGVkX25hbWUsICRwYXJzZXJfb3B0aW9ucyApOwoKCgkJLy9zYXZlIHRoZSBmaWxlIGxpc3QKCQkkbGlzdCA9ICRsZXNzX2ZpbGVzOwoJCSRsaXN0W10gPSAkY29tcGlsZWRfbmFtZTsKCQkkY2FjaGUgPSBpbXBsb2RlKCJcbiIsJGxpc3QpOwoJCWZpbGVfcHV0X2NvbnRlbnRzKCAkbGlzdF9maWxlLCAkY2FjaGUgKTsKCgoJCS8vc2F2ZSB0aGUgY3NzCgkJZmlsZV9wdXRfY29udGVudHMoICRvdXRwdXRfZmlsZSwgJGNvbXBpbGVkICk7CgoKCQkvL2NsZWFuIHVwCgkJc2VsZjo6Q2xlYW5DYWNoZSgpOwoKCQlyZXR1cm4gYmFzZW5hbWUoJG91dHB1dF9maWxlKTsKCX0KCgkvKioKCSAqIEZvcmNlIHRoZSBjb21waWxlciB0byByZWdlbmVyYXRlIHRoZSBjYWNoZWQgY3NzIGZpbGUKCSAqCgkgKiBAcGFyYW0gYXJyYXkgJGxlc3NfZmlsZXMgQXJyYXkgb2YgLmxlc3MgZmlsZXMgdG8gY29tcGlsZQoJICogQHBhcmFtIGFycmF5ICRwYXJzZXJfb3B0aW9ucyBBcnJheSBvZiBjb21waWxlciBvcHRpb25zCgkgKiBAcGFyYW0gYXJyYXkgJG1vZGlmeV92YXJzIEFycmF5IG9mIHZhcmlhYmxlcwoJICogQHJldHVybiBzdHJpbmcgTmFtZSBvZiB0aGUgY3NzIGZpbGUKCSAqLwoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBSZWdlbiggJGxlc3NfZmlsZXMsICRwYXJzZXJfb3B0aW9ucyA9IGFycmF5KCksICRtb2RpZnlfdmFycyA9IGFycmF5KCkgKXsKCQkkcGFyc2VyX29wdGlvbnNbJ3VzZV9jYWNoZSddID0gZmFsc2U7CgkJcmV0dXJuIHNlbGY6OkdldCggJGxlc3NfZmlsZXMsICRwYXJzZXJfb3B0aW9ucywgJG1vZGlmeV92YXJzICk7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDYWNoZSggJiRsZXNzX2ZpbGVzLCAkcGFyc2VyX29wdGlvbnMgPSBhcnJheSgpICl7CgoKCQkvLyBnZXQgbGVzcy5waHAgaWYgaXQgZXhpc3RzCgkJJGZpbGUgPSBkaXJuYW1lKF9fRklMRV9fKSAuICcvTGVzcy5waHAnOwoJCWlmKCBmaWxlX2V4aXN0cygkZmlsZSkgJiYgIWNsYXNzX2V4aXN0cygnTGVzc19QYXJzZXInKSApewoJCQlyZXF1aXJlX29uY2UoJGZpbGUpOwoJCX0KCgkJJHBhcnNlcl9vcHRpb25zWydjYWNoZV9kaXInXSA9IExlc3NfQ2FjaGU6OiRjYWNoZV9kaXI7CgkJJHBhcnNlciA9IG5ldyBMZXNzX1BhcnNlcigkcGFyc2VyX29wdGlvbnMpOwoKCgkJLy8gY29tYmluZSBmaWxlcwoJCWZvcmVhY2goJGxlc3NfZmlsZXMgYXMgJGZpbGVfcGF0aCA9PiAkdXJpX29yX2xlc3MgKXsKCgkJCS8vdHJlYXQgYXMgbGVzcyBtYXJrdXAgaWYgdGhlcmUgYXJlIG5ld2xpbmUgY2hhcmFjdGVycwoJCQlpZiggc3RycG9zKCR1cmlfb3JfbGVzcywiXG4iKSAhPT0gZmFsc2UgKXsKCQkJCSRwYXJzZXItPlBhcnNlKCAkdXJpX29yX2xlc3MgKTsKCQkJCWNvbnRpbnVlOwoJCQl9CgoJCQkkcGFyc2VyLT5QYXJzZUZpbGUoICRmaWxlX3BhdGgsICR1cmlfb3JfbGVzcyApOwoJCX0KCgkJJGNvbXBpbGVkID0gJHBhcnNlci0+Z2V0Q3NzKCk7CgoKCQkkbGVzc19maWxlcyA9ICRwYXJzZXItPmFsbFBhcnNlZEZpbGVzKCk7CgoJCXJldHVybiAkY29tcGlsZWQ7Cgl9CgoKCXByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIE91dHB1dEZpbGUoICRjb21waWxlZF9uYW1lLCAkcGFyc2VyX29wdGlvbnMgKXsKCgkJLy9jdXN0b20gb3V0cHV0IGZpbGUKCQlpZiggIWVtcHR5KCRwYXJzZXJfb3B0aW9uc1snb3V0cHV0J10pICl7CgoJCQkvL3JlbGF0aXZlIHRvIGNhY2hlIGRpcmVjdG9yeT8KCQkJaWYoIHByZWdfbWF0Y2goJyNbXFxcXC9dIycsJHBhcnNlcl9vcHRpb25zWydvdXRwdXQnXSkgKXsKCQkJCXJldHVybiAkcGFyc2VyX29wdGlvbnNbJ291dHB1dCddOwoJCQl9CgoJCQlyZXR1cm4gTGVzc19DYWNoZTo6JGNhY2hlX2Rpci4kcGFyc2VyX29wdGlvbnNbJ291dHB1dCddOwoJCX0KCgkJcmV0dXJuIExlc3NfQ2FjaGU6OiRjYWNoZV9kaXIuJGNvbXBpbGVkX25hbWU7Cgl9CgoKCXByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIENvbXBpbGVkTmFtZSggJGZpbGVzICl7CgoJCS8vc2F2ZSB0aGUgZmlsZSBsaXN0CgkJJHRlbXAgPSBhcnJheShMZXNzX1ZlcnNpb246OmNhY2hlX3ZlcnNpb24pOwoJCWZvcmVhY2goJGZpbGVzIGFzICRmaWxlKXsKCQkJJHRlbXBbXSA9IGZpbGVtdGltZSgkZmlsZSkuIlx0Ii5maWxlc2l6ZSgkZmlsZSkuIlx0Ii4kZmlsZTsKCQl9CgoJCXJldHVybiAnbGVzc3BocF8nLnNoYTEoanNvbl9lbmNvZGUoJHRlbXApKS4nLmNzcyc7Cgl9CgoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gU2V0Q2FjaGVEaXIoICRkaXIgKXsKCQlMZXNzX0NhY2hlOjokY2FjaGVfZGlyID0gJGRpcjsKCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIENoZWNrQ2FjaGVEaXIoKXsKCgkJTGVzc19DYWNoZTo6JGNhY2hlX2RpciA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLExlc3NfQ2FjaGU6OiRjYWNoZV9kaXIpOwoJCUxlc3NfQ2FjaGU6OiRjYWNoZV9kaXIgPSBydHJpbShMZXNzX0NhY2hlOjokY2FjaGVfZGlyLCcvJykuJy8nOwoKCQlpZiggIWZpbGVfZXhpc3RzKExlc3NfQ2FjaGU6OiRjYWNoZV9kaXIpICl7CgkJCWlmKCAhbWtkaXIoTGVzc19DYWNoZTo6JGNhY2hlX2RpcikgKXsKCQkJCXRocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9QYXJzZXIoJ0xlc3MucGhwIGNhY2hlIGRpcmVjdG9yeSBjb3VsZG5cJ3QgYmUgY3JlYXRlZDogJy5MZXNzX0NhY2hlOjokY2FjaGVfZGlyKTsKCQkJfQoKCQl9ZWxzZWlmKCAhaXNfZGlyKExlc3NfQ2FjaGU6OiRjYWNoZV9kaXIpICl7CgkJCXRocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9QYXJzZXIoJ0xlc3MucGhwIGNhY2hlIGRpcmVjdG9yeSBkb2VzblwndCBleGlzdDogJy5MZXNzX0NhY2hlOjokY2FjaGVfZGlyKTsKCgkJfWVsc2VpZiggIWlzX3dyaXRhYmxlKExlc3NfQ2FjaGU6OiRjYWNoZV9kaXIpICl7CgkJCXRocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9QYXJzZXIoJ0xlc3MucGhwIGNhY2hlIGRpcmVjdG9yeSBpc25cJ3Qgd3JpdGFibGU6ICcuTGVzc19DYWNoZTo6JGNhY2hlX2Rpcik7CgoJCX0KCgl9CgoKCS8qKgoJICogRGVsZXRlIHVudXNlZCBsZXNzLnBocCBmaWxlcwoJICoKCSAqLwoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBDbGVhbkNhY2hlKCl7CgkJc3RhdGljICRjbGVhbiA9IGZhbHNlOwoKCQlpZiggJGNsZWFuICl7CgkJCXJldHVybjsKCQl9CgoJCSRmaWxlcyA9IHNjYW5kaXIoTGVzc19DYWNoZTo6JGNhY2hlX2Rpcik7CgkJaWYoICRmaWxlcyApewoJCQkkY2hlY2tfdGltZSA9IHRpbWUoKSAtIHNlbGY6OiRnY19saWZldGltZTsKCQkJZm9yZWFjaCgkZmlsZXMgYXMgJGZpbGUpewoKCQkJCS8vIGRvbid0IGRlbGV0ZSBpZiB0aGUgZmlsZSB3YXNuJ3QgY3JlYXRlZCB3aXRoIGxlc3MucGhwCgkJCQlpZiggc3RycG9zKCRmaWxlLCdsZXNzcGhwXycpICE9PSAwICl7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJJGZ1bGxfcGF0aCA9IExlc3NfQ2FjaGU6OiRjYWNoZV9kaXIuJy8nLiRmaWxlOwoKCQkJCS8vIG1ha2Ugc3VyZSB0aGUgZmlsZSBzdGlsbCBleGlzdHMKCQkJCS8vIGNzcyBmaWxlcyBtYXkgaGF2ZSBhbHJlYWR5IGJlZW4gZGVsZXRlZAoJCQkJaWYoICFmaWxlX2V4aXN0cygkZnVsbF9wYXRoKSApewoJCQkJCWNvbnRpbnVlOwoJCQkJfQoJCQkJJG10aW1lID0gZmlsZW10aW1lKCRmdWxsX3BhdGgpOwoKCQkJCS8vIGRvbid0IGRlbGV0ZSBpZiBpdCdzIGEgcmVsYXRpdmVseSBuZXcgZmlsZQoJCQkJaWYoICRtdGltZSA+ICRjaGVja190aW1lICl7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJJHBhcnRzID0gZXhwbG9kZSgnLicsJGZpbGUpOwoJCQkJJHR5cGUgPSBhcnJheV9wb3AoJHBhcnRzKTsKCgoJCQkJLy8gZGVsZXRlIGNzcyBmaWxlcyBiYXNlZCBvbiB0aGUgbGlzdCBmaWxlcwoJCQkJaWYoICR0eXBlID09PSAnY3NzJyApewoJCQkJCWNvbnRpbnVlOwoJCQkJfQoKCgkJCQkvLyBkZWxldGUgdGhlIGxpc3QgZmlsZSBhbmQgYXNzb2NpYXRlZCBjc3MgZmlsZQoJCQkJaWYoICR0eXBlID09PSAnbGlzdCcgKXsKCQkJCQlzZWxmOjpMaXN0RmlsZXMoJGZ1bGxfcGF0aCwgJGxpc3QsICRjc3NfZmlsZV9uYW1lKTsKCQkJCQlpZiggJGNzc19maWxlX25hbWUgKXsKCQkJCQkJJGNzc19maWxlID0gTGVzc19DYWNoZTo6JGNhY2hlX2Rpci4nLycuJGNzc19maWxlX25hbWU7CgkJCQkJCWlmKCBmaWxlX2V4aXN0cygkY3NzX2ZpbGUpICl7CgkJCQkJCQl1bmxpbmsoJGNzc19maWxlKTsKCQkJCQkJfQoJCQkJCX0KCQkJCX0KCgkJCQl1bmxpbmsoJGZ1bGxfcGF0aCk7CgkJCX0KCQl9CgoJCSRjbGVhbiA9IHRydWU7Cgl9CgoKCS8qKgoJICogR2V0IHRoZSBsaXN0IG9mIGxlc3MgZmlsZXMgYW5kIGdlbmVyYXRlZCBjc3MgZmlsZSBmcm9tIGEgbGlzdCBmaWxlCgkgKgoJICovCglzdGF0aWMgZnVuY3Rpb24gTGlzdEZpbGVzKCRsaXN0X2ZpbGUsICYkbGlzdCwgJiRjc3NfZmlsZV9uYW1lICl7CgoJCSRsaXN0ID0gZXhwbG9kZSgiXG4iLGZpbGVfZ2V0X2NvbnRlbnRzKCRsaXN0X2ZpbGUpKTsKCgkJLy9wb3AgdGhlIGNhY2hlZCBuYW1lIHRoYXQgc2hvdWxkIG1hdGNoICRjb21waWxlZF9uYW1lCgkJJGNzc19maWxlX25hbWUgPSBhcnJheV9wb3AoJGxpc3QpOwoKCQlpZiggIXByZWdfbWF0Y2goJy9ebGVzc3BocF9bYS1mMC05XStcLmNzcyQvJywkY3NzX2ZpbGVfbmFtZSkgKXsKCQkJJGxpc3RbXSA9ICRjc3NfZmlsZV9uYW1lOwoJCQkkY3NzX2ZpbGVfbmFtZSA9IGZhbHNlOwoJCX0KCgl9Cgp9]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Colors.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBVdGlsaXR5IGZvciBjc3MgY29sb3JzCiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgY29sb3IKICovCmNsYXNzIExlc3NfQ29sb3JzIHsKCglwdWJsaWMgc3RhdGljICRjb2xvcnMgPSBhcnJheSgKCQkJJ2FsaWNlYmx1ZSc9PicjZjBmOGZmJywKCQkJJ2FudGlxdWV3aGl0ZSc9PicjZmFlYmQ3JywKCQkJJ2FxdWEnPT4nIzAwZmZmZicsCgkJCSdhcXVhbWFyaW5lJz0+JyM3ZmZmZDQnLAoJCQknYXp1cmUnPT4nI2YwZmZmZicsCgkJCSdiZWlnZSc9PicjZjVmNWRjJywKCQkJJ2Jpc3F1ZSc9PicjZmZlNGM0JywKCQkJJ2JsYWNrJz0+JyMwMDAwMDAnLAoJCQknYmxhbmNoZWRhbG1vbmQnPT4nI2ZmZWJjZCcsCgkJCSdibHVlJz0+JyMwMDAwZmYnLAoJCQknYmx1ZXZpb2xldCc9PicjOGEyYmUyJywKCQkJJ2Jyb3duJz0+JyNhNTJhMmEnLAoJCQknYnVybHl3b29kJz0+JyNkZWI4ODcnLAoJCQknY2FkZXRibHVlJz0+JyM1ZjllYTAnLAoJCQknY2hhcnRyZXVzZSc9PicjN2ZmZjAwJywKCQkJJ2Nob2NvbGF0ZSc9PicjZDI2OTFlJywKCQkJJ2NvcmFsJz0+JyNmZjdmNTAnLAoJCQknY29ybmZsb3dlcmJsdWUnPT4nIzY0OTVlZCcsCgkJCSdjb3Juc2lsayc9PicjZmZmOGRjJywKCQkJJ2NyaW1zb24nPT4nI2RjMTQzYycsCgkJCSdjeWFuJz0+JyMwMGZmZmYnLAoJCQknZGFya2JsdWUnPT4nIzAwMDA4YicsCgkJCSdkYXJrY3lhbic9PicjMDA4YjhiJywKCQkJJ2Rhcmtnb2xkZW5yb2QnPT4nI2I4ODYwYicsCgkJCSdkYXJrZ3JheSc9PicjYTlhOWE5JywKCQkJJ2RhcmtncmV5Jz0+JyNhOWE5YTknLAoJCQknZGFya2dyZWVuJz0+JyMwMDY0MDAnLAoJCQknZGFya2toYWtpJz0+JyNiZGI3NmInLAoJCQknZGFya21hZ2VudGEnPT4nIzhiMDA4YicsCgkJCSdkYXJrb2xpdmVncmVlbic9PicjNTU2YjJmJywKCQkJJ2RhcmtvcmFuZ2UnPT4nI2ZmOGMwMCcsCgkJCSdkYXJrb3JjaGlkJz0+JyM5OTMyY2MnLAoJCQknZGFya3JlZCc9PicjOGIwMDAwJywKCQkJJ2RhcmtzYWxtb24nPT4nI2U5OTY3YScsCgkJCSdkYXJrc2VhZ3JlZW4nPT4nIzhmYmM4ZicsCgkJCSdkYXJrc2xhdGVibHVlJz0+JyM0ODNkOGInLAoJCQknZGFya3NsYXRlZ3JheSc9PicjMmY0ZjRmJywKCQkJJ2RhcmtzbGF0ZWdyZXknPT4nIzJmNGY0ZicsCgkJCSdkYXJrdHVycXVvaXNlJz0+JyMwMGNlZDEnLAoJCQknZGFya3Zpb2xldCc9PicjOTQwMGQzJywKCQkJJ2RlZXBwaW5rJz0+JyNmZjE0OTMnLAoJCQknZGVlcHNreWJsdWUnPT4nIzAwYmZmZicsCgkJCSdkaW1ncmF5Jz0+JyM2OTY5NjknLAoJCQknZGltZ3JleSc9PicjNjk2OTY5JywKCQkJJ2RvZGdlcmJsdWUnPT4nIzFlOTBmZicsCgkJCSdmaXJlYnJpY2snPT4nI2IyMjIyMicsCgkJCSdmbG9yYWx3aGl0ZSc9PicjZmZmYWYwJywKCQkJJ2ZvcmVzdGdyZWVuJz0+JyMyMjhiMjInLAoJCQknZnVjaHNpYSc9PicjZmYwMGZmJywKCQkJJ2dhaW5zYm9ybyc9PicjZGNkY2RjJywKCQkJJ2dob3N0d2hpdGUnPT4nI2Y4ZjhmZicsCgkJCSdnb2xkJz0+JyNmZmQ3MDAnLAoJCQknZ29sZGVucm9kJz0+JyNkYWE1MjAnLAoJCQknZ3JheSc9PicjODA4MDgwJywKCQkJJ2dyZXknPT4nIzgwODA4MCcsCgkJCSdncmVlbic9PicjMDA4MDAwJywKCQkJJ2dyZWVueWVsbG93Jz0+JyNhZGZmMmYnLAoJCQknaG9uZXlkZXcnPT4nI2YwZmZmMCcsCgkJCSdob3RwaW5rJz0+JyNmZjY5YjQnLAoJCQknaW5kaWFucmVkJz0+JyNjZDVjNWMnLAoJCQknaW5kaWdvJz0+JyM0YjAwODInLAoJCQknaXZvcnknPT4nI2ZmZmZmMCcsCgkJCSdraGFraSc9PicjZjBlNjhjJywKCQkJJ2xhdmVuZGVyJz0+JyNlNmU2ZmEnLAoJCQknbGF2ZW5kZXJibHVzaCc9PicjZmZmMGY1JywKCQkJJ2xhd25ncmVlbic9PicjN2NmYzAwJywKCQkJJ2xlbW9uY2hpZmZvbic9PicjZmZmYWNkJywKCQkJJ2xpZ2h0Ymx1ZSc9PicjYWRkOGU2JywKCQkJJ2xpZ2h0Y29yYWwnPT4nI2YwODA4MCcsCgkJCSdsaWdodGN5YW4nPT4nI2UwZmZmZicsCgkJCSdsaWdodGdvbGRlbnJvZHllbGxvdyc9PicjZmFmYWQyJywKCQkJJ2xpZ2h0Z3JheSc9PicjZDNkM2QzJywKCQkJJ2xpZ2h0Z3JleSc9PicjZDNkM2QzJywKCQkJJ2xpZ2h0Z3JlZW4nPT4nIzkwZWU5MCcsCgkJCSdsaWdodHBpbmsnPT4nI2ZmYjZjMScsCgkJCSdsaWdodHNhbG1vbic9PicjZmZhMDdhJywKCQkJJ2xpZ2h0c2VhZ3JlZW4nPT4nIzIwYjJhYScsCgkJCSdsaWdodHNreWJsdWUnPT4nIzg3Y2VmYScsCgkJCSdsaWdodHNsYXRlZ3JheSc9PicjNzc4ODk5JywKCQkJJ2xpZ2h0c2xhdGVncmV5Jz0+JyM3Nzg4OTknLAoJCQknbGlnaHRzdGVlbGJsdWUnPT4nI2IwYzRkZScsCgkJCSdsaWdodHllbGxvdyc9PicjZmZmZmUwJywKCQkJJ2xpbWUnPT4nIzAwZmYwMCcsCgkJCSdsaW1lZ3JlZW4nPT4nIzMyY2QzMicsCgkJCSdsaW5lbic9PicjZmFmMGU2JywKCQkJJ21hZ2VudGEnPT4nI2ZmMDBmZicsCgkJCSdtYXJvb24nPT4nIzgwMDAwMCcsCgkJCSdtZWRpdW1hcXVhbWFyaW5lJz0+JyM2NmNkYWEnLAoJCQknbWVkaXVtYmx1ZSc9PicjMDAwMGNkJywKCQkJJ21lZGl1bW9yY2hpZCc9PicjYmE1NWQzJywKCQkJJ21lZGl1bXB1cnBsZSc9PicjOTM3MGQ4JywKCQkJJ21lZGl1bXNlYWdyZWVuJz0+JyMzY2IzNzEnLAoJCQknbWVkaXVtc2xhdGVibHVlJz0+JyM3YjY4ZWUnLAoJCQknbWVkaXVtc3ByaW5nZ3JlZW4nPT4nIzAwZmE5YScsCgkJCSdtZWRpdW10dXJxdW9pc2UnPT4nIzQ4ZDFjYycsCgkJCSdtZWRpdW12aW9sZXRyZWQnPT4nI2M3MTU4NScsCgkJCSdtaWRuaWdodGJsdWUnPT4nIzE5MTk3MCcsCgkJCSdtaW50Y3JlYW0nPT4nI2Y1ZmZmYScsCgkJCSdtaXN0eXJvc2UnPT4nI2ZmZTRlMScsCgkJCSdtb2NjYXNpbic9PicjZmZlNGI1JywKCQkJJ25hdmFqb3doaXRlJz0+JyNmZmRlYWQnLAoJCQknbmF2eSc9PicjMDAwMDgwJywKCQkJJ29sZGxhY2UnPT4nI2ZkZjVlNicsCgkJCSdvbGl2ZSc9PicjODA4MDAwJywKCQkJJ29saXZlZHJhYic9PicjNmI4ZTIzJywKCQkJJ29yYW5nZSc9PicjZmZhNTAwJywKCQkJJ29yYW5nZXJlZCc9PicjZmY0NTAwJywKCQkJJ29yY2hpZCc9PicjZGE3MGQ2JywKCQkJJ3BhbGVnb2xkZW5yb2QnPT4nI2VlZThhYScsCgkJCSdwYWxlZ3JlZW4nPT4nIzk4ZmI5OCcsCgkJCSdwYWxldHVycXVvaXNlJz0+JyNhZmVlZWUnLAoJCQkncGFsZXZpb2xldHJlZCc9PicjZDg3MDkzJywKCQkJJ3BhcGF5YXdoaXAnPT4nI2ZmZWZkNScsCgkJCSdwZWFjaHB1ZmYnPT4nI2ZmZGFiOScsCgkJCSdwZXJ1Jz0+JyNjZDg1M2YnLAoJCQkncGluayc9PicjZmZjMGNiJywKCQkJJ3BsdW0nPT4nI2RkYTBkZCcsCgkJCSdwb3dkZXJibHVlJz0+JyNiMGUwZTYnLAoJCQkncHVycGxlJz0+JyM4MDAwODAnLAoJCQkncmVkJz0+JyNmZjAwMDAnLAoJCQkncm9zeWJyb3duJz0+JyNiYzhmOGYnLAoJCQkncm95YWxibHVlJz0+JyM0MTY5ZTEnLAoJCQknc2FkZGxlYnJvd24nPT4nIzhiNDUxMycsCgkJCSdzYWxtb24nPT4nI2ZhODA3MicsCgkJCSdzYW5keWJyb3duJz0+JyNmNGE0NjAnLAoJCQknc2VhZ3JlZW4nPT4nIzJlOGI1NycsCgkJCSdzZWFzaGVsbCc9PicjZmZmNWVlJywKCQkJJ3NpZW5uYSc9PicjYTA1MjJkJywKCQkJJ3NpbHZlcic9PicjYzBjMGMwJywKCQkJJ3NreWJsdWUnPT4nIzg3Y2VlYicsCgkJCSdzbGF0ZWJsdWUnPT4nIzZhNWFjZCcsCgkJCSdzbGF0ZWdyYXknPT4nIzcwODA5MCcsCgkJCSdzbGF0ZWdyZXknPT4nIzcwODA5MCcsCgkJCSdzbm93Jz0+JyNmZmZhZmEnLAoJCQknc3ByaW5nZ3JlZW4nPT4nIzAwZmY3ZicsCgkJCSdzdGVlbGJsdWUnPT4nIzQ2ODJiNCcsCgkJCSd0YW4nPT4nI2QyYjQ4YycsCgkJCSd0ZWFsJz0+JyMwMDgwODAnLAoJCQkndGhpc3RsZSc9PicjZDhiZmQ4JywKCQkJJ3RvbWF0byc9PicjZmY2MzQ3JywKCQkJJ3R1cnF1b2lzZSc9PicjNDBlMGQwJywKCQkJJ3Zpb2xldCc9PicjZWU4MmVlJywKCQkJJ3doZWF0Jz0+JyNmNWRlYjMnLAoJCQknd2hpdGUnPT4nI2ZmZmZmZicsCgkJCSd3aGl0ZXNtb2tlJz0+JyNmNWY1ZjUnLAoJCQkneWVsbG93Jz0+JyNmZmZmMDAnLAoJCQkneWVsbG93Z3JlZW4nPT4nIzlhY2QzMicKCQkpOwoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaGFzT3duUHJvcGVydHkoJGNvbG9yKSB7CgkJcmV0dXJuIGlzc2V0KHNlbGY6OiRjb2xvcnNbJGNvbG9yXSk7Cgl9CgoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY29sb3IoJGNvbG9yKSB7CgkJcmV0dXJuIHNlbGY6OiRjb2xvcnNbJGNvbG9yXTsKCX0KCn0K]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Configurable.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiBDb25maWd1cmFibGUNCiAqDQogKiBAcGFja2FnZSBMZXNzDQogKiBAc3VicGFja2FnZSBDb3JlDQogKi8NCmFic3RyYWN0IGNsYXNzIExlc3NfQ29uZmlndXJhYmxlIHsNCg0KCS8qKg0KCSAqIEFycmF5IG9mIG9wdGlvbnMNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8NCglwcm90ZWN0ZWQgJG9wdGlvbnMgPSBhcnJheSgpOw0KDQoJLyoqDQoJICogQXJyYXkgb2YgZGVmYXVsdCBvcHRpb25zDQoJICoNCgkgKiBAdmFyIGFycmF5DQoJICovDQoJcHJvdGVjdGVkICRkZWZhdWx0T3B0aW9ucyA9IGFycmF5KCk7DQoNCg0KCS8qKg0KCSAqIFNldCBvcHRpb25zDQoJICoNCgkgKiBJZiAkb3B0aW9ucyBpcyBhbiBvYmplY3QgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgaW50byBhbiBhcnJheSBieSBjYWxsZWQNCgkgKiBpdCdzIHRvQXJyYXkgbWV0aG9kLg0KCSAqDQoJICogQHRocm93cyBFeGNlcHRpb24NCgkgKiBAcGFyYW0gYXJyYXl8b2JqZWN0ICRvcHRpb25zDQoJICoNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gc2V0T3B0aW9ucygkb3B0aW9ucyl7DQoJCSRvcHRpb25zID0gYXJyYXlfaW50ZXJzZWN0X2tleSgkb3B0aW9ucywkdGhpcy0+ZGVmYXVsdE9wdGlvbnMpOw0KCQkkdGhpcy0+b3B0aW9ucyA9IGFycmF5X21lcmdlKCR0aGlzLT5kZWZhdWx0T3B0aW9ucywgJHRoaXMtPm9wdGlvbnMsICRvcHRpb25zKTsNCgl9DQoNCg0KCS8qKg0KCSAqIEdldCBhbiBvcHRpb24gdmFsdWUgYnkgbmFtZQ0KCSAqDQoJICogSWYgdGhlIG9wdGlvbiBpcyBlbXB0eSBvciBub3Qgc2V0IGEgTlVMTCB2YWx1ZSB3aWxsIGJlIHJldHVybmVkLg0KCSAqDQoJICogQHBhcmFtIHN0cmluZyAkbmFtZQ0KCSAqIEBwYXJhbSBtaXhlZCAkZGVmYXVsdCBEZWZhdWx0IHZhbHVlIGlmIGNvbmZpdXJhdGlvbiBvZiAkbmFtZSBpcyBub3QgcHJlc2VudA0KCSAqIEByZXR1cm4gbWl4ZWQNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gZ2V0T3B0aW9uKCRuYW1lLCAkZGVmYXVsdCA9IG51bGwpew0KCQlpZihpc3NldCgkdGhpcy0+b3B0aW9uc1skbmFtZV0pKXsNCgkJCXJldHVybiAkdGhpcy0+b3B0aW9uc1skbmFtZV07DQoJCX0NCgkJcmV0dXJuICRkZWZhdWx0Ow0KCX0NCg0KDQoJLyoqDQoJICogU2V0IGFuIG9wdGlvbg0KCSAqDQoJICogQHBhcmFtIHN0cmluZyAkbmFtZQ0KCSAqIEBwYXJhbSBtaXhlZCAkdmFsdWUNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gc2V0T3B0aW9uKCRuYW1lLCAkdmFsdWUpew0KCQkkdGhpcy0+b3B0aW9uc1skbmFtZV0gPSAkdmFsdWU7DQoJfQ0KDQp9]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Environment.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgovKioKICogRW52aXJvbm1lbnQKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSBlbnZpcm9ubWVudAogKi8KY2xhc3MgTGVzc19FbnZpcm9ubWVudHsKCgkvL3B1YmxpYyAkcGF0aHMgPSBhcnJheSgpOwkJCQkvLyBvcHRpb24gLSB1bm1vZGlmaWVkIC0gcGF0aHMgdG8gc2VhcmNoIGZvciBpbXBvcnRzIG9uCgkvL3B1YmxpYyBzdGF0aWMgJGZpbGVzID0gYXJyYXkoKTsJCS8vIGxpc3Qgb2YgZmlsZXMgdGhhdCBoYXZlIGJlZW4gaW1wb3J0ZWQsIHVzZWQgZm9yIGltcG9ydC1vbmNlCgkvL3B1YmxpYyAkcm9vdHBhdGg7CQkJCQkJLy8gb3B0aW9uIC0gcm9vdHBhdGggdG8gYXBwZW5kIHRvIFVSTCdzCgkvL3B1YmxpYyBzdGF0aWMgJHN0cmljdEltcG9ydHMgPSBudWxsOwkvLyBvcHRpb24gLQoJLy9wdWJsaWMgJGluc2VjdXJlOwkJCQkJCS8vIG9wdGlvbiAtIHdoZXRoZXIgdG8gYWxsb3cgaW1wb3J0cyBmcm9tIGluc2VjdXJlIHNzbCBob3N0cwoJLy9wdWJsaWMgJHByb2Nlc3NJbXBvcnRzOwkJCQkvLyBvcHRpb24gLSB3aGV0aGVyIHRvIHByb2Nlc3MgaW1wb3J0cy4gaWYgZmFsc2UgdGhlbiBpbXBvcnRzIHdpbGwgbm90IGJlIGltcG9ydGVkCgkvL3B1YmxpYyAkamF2YXNjcmlwdEVuYWJsZWQ7CQkJLy8gb3B0aW9uIC0gd2hldGhlciBKYXZhU2NyaXB0IGlzIGVuYWJsZWQuIGlmIHVuZGVmaW5lZCwgZGVmYXVsdHMgdG8gdHJ1ZQoJLy9wdWJsaWMgJHVzZUZpbGVDYWNoZTsJCQkJCS8vIGJyb3dzZXIgb25seSAtIHdoZXRoZXIgdG8gdXNlIHRoZSBwZXIgZmlsZSBzZXNzaW9uIGNhY2hlCglwdWJsaWMgJGN1cnJlbnRGaWxlSW5mbzsJCQkJLy8gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnQgZmlsZSAtIGZvciBlcnJvciByZXBvcnRpbmcgYW5kIGltcG9ydGluZyBhbmQgbWFraW5nIHVybHMgcmVsYXRpdmUgZXRjLgoKCXB1YmxpYyAkaW1wb3J0TXVsdGlwbGUgPSBmYWxzZTsgCQkvLyB3aGV0aGVyIHdlIGFyZSBjdXJyZW50bHkgaW1wb3J0aW5nIG11bHRpcGxlIGNvcGllcwoKCgkvKioKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljICRmcmFtZXMgPSBhcnJheSgpOwoKCS8qKgoJICogQHZhciBhcnJheQoJICovCglwdWJsaWMgJG1lZGlhQmxvY2tzID0gYXJyYXkoKTsKCgkvKioKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljICRtZWRpYVBhdGggPSBhcnJheSgpOwoKCXB1YmxpYyBzdGF0aWMgJHBhcmVuc1N0YWNrID0gMDsKCglwdWJsaWMgc3RhdGljICR0YWJMZXZlbCA9IDA7CgoJcHVibGljIHN0YXRpYyAkbGFzdFJ1bGUgPSBmYWxzZTsKCglwdWJsaWMgc3RhdGljICRfb3V0cHV0TWFwOwoKCXB1YmxpYyBzdGF0aWMgJG1peGluX3N0YWNrID0gMDsKCgkvKioKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljICRmdW5jdGlvbnMgPSBhcnJheSgpOwoKCglwdWJsaWMgZnVuY3Rpb24gSW5pdCgpewoKCQlzZWxmOjokcGFyZW5zU3RhY2sgPSAwOwoJCXNlbGY6OiR0YWJMZXZlbCA9IDA7CgkJc2VsZjo6JGxhc3RSdWxlID0gZmFsc2U7CgkJc2VsZjo6JG1peGluX3N0YWNrID0gMDsKCgkJaWYoIExlc3NfUGFyc2VyOjokb3B0aW9uc1snY29tcHJlc3MnXSApewoKCQkJTGVzc19FbnZpcm9ubWVudDo6JF9vdXRwdXRNYXAgPSBhcnJheSgKCQkJCScsJwk9PiAnLCcsCgkJCQknOiAnID0+ICc6JywKCQkJCScnICA9PiAnJywKCQkJCScgJyA9PiAnICcsCgkJCQknOicgPT4gJyA6JywKCQkJCScrJyA9PiAnKycsCgkJCQknficgPT4gJ34nLAoJCQkJJz4nID0+ICc+JywKCQkJCSd8JyA9PiAnfCcsCgkJICAgICAgICAnXicgPT4gJ14nLAoJCSAgICAgICAgJ15eJyA9PiAnXl4nCgkJCSk7CgoJCX1lbHNlewoKCQkJTGVzc19FbnZpcm9ubWVudDo6JF9vdXRwdXRNYXAgPSBhcnJheSgKCQkJCScsJwk9PiAnLCAnLAoJCQkJJzogJyA9PiAnOiAnLAoJCQkJJycgID0+ICcnLAoJCQkJJyAnID0+ICcgJywKCQkJCSc6JyA9PiAnIDonLAoJCQkJJysnID0+ICcgKyAnLAoJCQkJJ34nID0+ICcgfiAnLAoJCQkJJz4nID0+ICcgPiAnLAoJCQkJJ3wnID0+ICd8JywKCQkgICAgICAgICdeJyA9PiAnIF4gJywKCQkgICAgICAgICdeXicgPT4gJyBeXiAnCgkJCSk7CgoJCX0KCX0KCgoJcHVibGljIGZ1bmN0aW9uIGNvcHlFdmFsRW52KCRmcmFtZXMgPSBhcnJheSgpICl7CgkJJG5ld19lbnYgPSBuZXcgTGVzc19FbnZpcm9ubWVudCgpOwoJCSRuZXdfZW52LT5mcmFtZXMgPSAkZnJhbWVzOwoJCXJldHVybiAkbmV3X2VudjsKCX0KCgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc01hdGhPbigpewoJCXJldHVybiAhTGVzc19QYXJzZXI6OiRvcHRpb25zWydzdHJpY3RNYXRoJ10gfHwgTGVzc19FbnZpcm9ubWVudDo6JHBhcmVuc1N0YWNrOwoJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNQYXRoUmVsYXRpdmUoJHBhdGgpewoJCXJldHVybiAhcHJlZ19tYXRjaCgnL14oPzpbYS16LV0rOnxcLykvJywkcGF0aCk7Cgl9CgoKCS8qKgoJICogQ2Fub25pY2FsaXplIGEgcGF0aCBieSByZXNvbHZpbmcgcmVmZXJlbmNlcyB0byAnLy4vJywgJy8uLi8nCgkgKiBEb2VzIG5vdCByZW1vdmUgbGVhZGluZyAiLi4vIgoJICogQHBhcmFtIHN0cmluZyBwYXRoIG9yIHVybAoJICogQHJldHVybiBzdHJpbmcgQ2Fub25pY2FsaXplZCBwYXRoCgkgKgoJICovCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG5vcm1hbGl6ZVBhdGgoJHBhdGgpewoKCQkkc2VnbWVudHMgPSBleHBsb2RlKCcvJywkcGF0aCk7CgkJJHNlZ21lbnRzID0gYXJyYXlfcmV2ZXJzZSgkc2VnbWVudHMpOwoKCQkkcGF0aCA9IGFycmF5KCk7CgkJJHBhdGhfbGVuID0gMDsKCgkJd2hpbGUoICRzZWdtZW50cyApewoJCQkkc2VnbWVudCA9IGFycmF5X3BvcCgkc2VnbWVudHMpOwoJCQlzd2l0Y2goICRzZWdtZW50ICkgewoKCQkJCWNhc2UgJy4nOgoJCQkJYnJlYWs7CgoJCQkJY2FzZSAnLi4nOgoJCQkJCWlmKCAhJHBhdGhfbGVuIHx8ICggJHBhdGhbJHBhdGhfbGVuLTFdID09PSAnLi4nKSApewoJCQkJCQkkcGF0aFtdID0gJHNlZ21lbnQ7CgkJCQkJCSRwYXRoX2xlbisrOwoJCQkJCX1lbHNlewoJCQkJCQlhcnJheV9wb3AoJHBhdGgpOwoJCQkJCQkkcGF0aF9sZW4tLTsKCQkJCQl9CgkJCQlicmVhazsKCgkJCQlkZWZhdWx0OgoJCQkJCSRwYXRoW10gPSAkc2VnbWVudDsKCQkJCQkkcGF0aF9sZW4rKzsKCQkJCWJyZWFrOwoJCQl9CgkJfQoKCQlyZXR1cm4gaW1wbG9kZSgnLycsJHBhdGgpOwoJfQoKCglwdWJsaWMgZnVuY3Rpb24gdW5zaGlmdEZyYW1lKCRmcmFtZSl7CgkJYXJyYXlfdW5zaGlmdCgkdGhpcy0+ZnJhbWVzLCAkZnJhbWUpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBzaGlmdEZyYW1lKCl7CgkJcmV0dXJuIGFycmF5X3NoaWZ0KCR0aGlzLT5mcmFtZXMpOwoJfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Exception/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Exception/Chunk.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiBDaHVuayBFeGNlcHRpb24NCiAqDQogKiBAcGFja2FnZSBMZXNzDQogKiBAc3VicGFja2FnZSBleGNlcHRpb24NCiAqLw0KY2xhc3MgTGVzc19FeGNlcHRpb25fQ2h1bmsgZXh0ZW5kcyBMZXNzX0V4Y2VwdGlvbl9QYXJzZXJ7DQoNCg0KCXByb3RlY3RlZCAkcGFyc2VyQ3VycmVudEluZGV4ID0gMDsNCg0KCXByb3RlY3RlZCAkZW1pdEZyb20gPSAwOw0KDQoJcHJvdGVjdGVkICRpbnB1dF9sZW47DQoNCg0KCS8qKg0KCSAqIENvbnN0cnVjdG9yDQoJICoNCgkgKiBAcGFyYW0gc3RyaW5nICRpbnB1dA0KCSAqIEBwYXJhbSBFeGNlcHRpb24gJHByZXZpb3VzIFByZXZpb3VzIGV4Y2VwdGlvbg0KCSAqIEBwYXJhbSBpbnRlZ2VyICRpbmRleCBUaGUgY3VycmVudCBwYXJzZXIgaW5kZXgNCgkgKiBAcGFyYW0gTGVzc19GaWxlSW5mb3xzdHJpbmcgJGN1cnJlbnRGaWxlIFRoZSBmaWxlDQoJICogQHBhcmFtIGludGVnZXIgJGNvZGUgVGhlIGV4Y2VwdGlvbiBjb2RlDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRpbnB1dCwgRXhjZXB0aW9uICRwcmV2aW91cyA9IG51bGwsICRpbmRleCA9IG51bGwsICRjdXJyZW50RmlsZSA9IG51bGwsICRjb2RlID0gMCl7DQoNCgkJJHRoaXMtPm1lc3NhZ2UgPSAnUGFyc2VFcnJvcjogVW5leHBlY3RlZCBpbnB1dCc7IC8vZGVmYXVsdCBtZXNzYWdlDQoNCgkJJHRoaXMtPmluZGV4ID0gJGluZGV4Ow0KDQoJCSR0aGlzLT5jdXJyZW50RmlsZSA9ICRjdXJyZW50RmlsZTsNCg0KCQkkdGhpcy0+aW5wdXQgPSAkaW5wdXQ7DQoJCSR0aGlzLT5pbnB1dF9sZW4gPSBzdHJsZW4oJGlucHV0KTsNCg0KCQkkdGhpcy0+Q2h1bmtzKCk7DQoJCSR0aGlzLT5nZW5NZXNzYWdlKCk7DQoJfQ0KDQoNCgkvKioNCgkgKiBTZWUgbGVzcy5qcyBjaHVua3MoKQ0KCSAqIFdlIGRvbid0IGFjdHVhbGx5IG5lZWQgdGhlIGNodW5rcw0KCSAqDQoJICovDQoJcHJvdGVjdGVkIGZ1bmN0aW9uIENodW5rcygpew0KCQkkbGV2ZWwgPSAwOw0KCQkkcGFyZW5MZXZlbCA9IDA7DQoJCSRsYXN0TXVsdGlDb21tZW50RW5kQnJhY2UgPSBudWxsOw0KCQkkbGFzdE9wZW5pbmcgPSBudWxsOw0KCQkkbGFzdE11bHRpQ29tbWVudCA9IG51bGw7DQoJCSRsYXN0UGFyZW4gPSBudWxsOw0KDQoJCWZvciggJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCA9IDA7ICR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXggPCAkdGhpcy0+aW5wdXRfbGVuOyAkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4KysgKXsNCgkJCSRjYyA9ICR0aGlzLT5DaGFyQ29kZSgkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4KTsNCgkJCWlmICgoKCRjYyA+PSA5NykgJiYgKCRjYyA8PSAxMjIpKSB8fCAoJGNjIDwgMzQpKSB7DQoJCQkJLy8gYS16IG9yIHdoaXRlc3BhY2UNCgkJCQljb250aW51ZTsNCgkJCX0NCg0KCQkJc3dpdGNoICgkY2MpIHsNCg0KCQkJCS8vICgNCgkJCQljYXNlIDQwOg0KCQkJCQkkcGFyZW5MZXZlbCsrOw0KCQkJCQkkbGFzdFBhcmVuID0gJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleDsNCgkJCQkJY29udGludWU7DQoNCgkJCQkvLyApDQoJCQkJY2FzZSA0MToNCgkJCQkJJHBhcmVuTGV2ZWwtLTsNCgkJCQkJaWYoICRwYXJlbkxldmVsIDwgMCApew0KCQkJCQkJcmV0dXJuICR0aGlzLT5mYWlsKCJtaXNzaW5nIG9wZW5pbmcgYChgIik7DQoJCQkJCX0NCgkJCQkJY29udGludWU7DQoNCgkJCQkvLyA7DQoJCQkJY2FzZSA1OToNCgkJCQkJLy9pZiAoISRwYXJlbkxldmVsKSB7ICR0aGlzLT5lbWl0Q2h1bmsoKTsJfQ0KCQkJCQljb250aW51ZTsNCg0KCQkJCS8vIHsNCgkJCQljYXNlIDEyMzoNCgkJCQkJJGxldmVsKys7DQoJCQkJCSRsYXN0T3BlbmluZyA9ICR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXg7DQoJCQkJCWNvbnRpbnVlOw0KDQoJCQkJLy8gfQ0KCQkJCWNhc2UgMTI1Og0KCQkJCQkkbGV2ZWwtLTsNCgkJCQkJaWYoICRsZXZlbCA8IDAgKXsNCgkJCQkJCXJldHVybiAkdGhpcy0+ZmFpbCgibWlzc2luZyBvcGVuaW5nIGB7YCIpOw0KDQoJCQkJCX0NCgkJCQkJLy9pZiAoISRsZXZlbCAmJiAhJHBhcmVuTGV2ZWwpIHsgJHRoaXMtPmVtaXRDaHVuaygpOyB9DQoJCQkJCWNvbnRpbnVlOw0KCQkJCS8vIFwNCgkJCQljYXNlIDkyOg0KCQkJCQlpZiAoJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCA8ICR0aGlzLT5pbnB1dF9sZW4gLSAxKSB7ICR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXgrKzsgY29udGludWU7IH0NCgkJCQkJcmV0dXJuICR0aGlzLT5mYWlsKCJ1bmVzY2FwZWQgYFxcYCIpOw0KDQoJCQkJLy8gIiwgJyBhbmQgYA0KCQkJCWNhc2UgMzQ6DQoJCQkJY2FzZSAzOToNCgkJCQljYXNlIDk2Og0KCQkJCQkkbWF0Y2hlZCA9IDA7DQoJCQkJCSRjdXJyZW50Q2h1bmtTdGFydEluZGV4ID0gJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleDsNCgkJCQkJZm9yICgkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4ID0gJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCArIDE7ICR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXggPCAkdGhpcy0+aW5wdXRfbGVuOyAkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4KyspIHsNCgkJCQkJCSRjYzIgPSAkdGhpcy0+Q2hhckNvZGUoJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCk7DQoJCQkJCQlpZiAoJGNjMiA+IDk2KSB7IGNvbnRpbnVlOyB9DQoJCQkJCQlpZiAoJGNjMiA9PSAkY2MpIHsgJG1hdGNoZWQgPSAxOyBicmVhazsgfQ0KCQkJCQkJaWYgKCRjYzIgPT0gOTIpIHsgICAgICAgIC8vIFwNCgkJCQkJCQlpZiAoJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCA9PSAkdGhpcy0+aW5wdXRfbGVuIC0gMSkgew0KCQkJCQkJCQlyZXR1cm4gJHRoaXMtPmZhaWwoInVuZXNjYXBlZCBgXFxgIik7DQoJCQkJCQkJfQ0KCQkJCQkJCSR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXgrKzsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCQlpZiAoJG1hdGNoZWQpIHsgY29udGludWU7IH0NCgkJCQkJcmV0dXJuICR0aGlzLT5mYWlsKCJ1bm1hdGNoZWQgYCIgKyBjaHIoJGNjKSArICJgIiwgJGN1cnJlbnRDaHVua1N0YXJ0SW5kZXgpOw0KDQoJCQkJLy8gLywgY2hlY2sgZm9yIGNvbW1lbnQNCgkJCQljYXNlIDQ3Og0KCQkJCQlpZiAoJHBhcmVuTGV2ZWwgfHwgKCR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXggPT0gJHRoaXMtPmlucHV0X2xlbiAtIDEpKSB7IGNvbnRpbnVlOyB9DQoJCQkJCSRjYzIgPSAkdGhpcy0+Q2hhckNvZGUoJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCsxKTsNCgkJCQkJaWYgKCRjYzIgPT0gNDcpIHsNCgkJCQkJCS8vIC8vLCBmaW5kIGxuZmVlZA0KCQkJCQkJZm9yICgkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4ID0gJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCArIDI7ICR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXggPCAkdGhpcy0+aW5wdXRfbGVuOyAkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4KyspIHsNCgkJCQkJCQkkY2MyID0gJHRoaXMtPkNoYXJDb2RlKCR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXgpOw0KCQkJCQkJCWlmICgoJGNjMiA8PSAxMykgJiYgKCgkY2MyID09IDEwKSB8fCAoJGNjMiA9PSAxMykpKSB7IGJyZWFrOyB9DQoJCQkJCQl9DQoJCQkJCX0gZWxzZSBpZiAoJGNjMiA9PSA0Mikgew0KCQkJCQkJLy8gLyosIGZpbmQgKi8NCgkJCQkJCSRsYXN0TXVsdGlDb21tZW50ID0gJGN1cnJlbnRDaHVua1N0YXJ0SW5kZXggPSAkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4Ow0KCQkJCQkJZm9yICgkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4ID0gJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCArIDI7ICR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXggPCAkdGhpcy0+aW5wdXRfbGVuIC0gMTsgJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCsrKSB7DQoJCQkJCQkJJGNjMiA9ICR0aGlzLT5DaGFyQ29kZSgkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4KTsNCgkJCQkJCQlpZiAoJGNjMiA9PSAxMjUpIHsgJGxhc3RNdWx0aUNvbW1lbnRFbmRCcmFjZSA9ICR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXg7IH0NCgkJCQkJCQlpZiAoJGNjMiAhPSA0MikgeyBjb250aW51ZTsgfQ0KCQkJCQkJCWlmICgkdGhpcy0+Q2hhckNvZGUoJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCsxKSA9PSA0NykgeyBicmVhazsgfQ0KCQkJCQkJfQ0KCQkJCQkJaWYgKCR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXggPT0gJHRoaXMtPmlucHV0X2xlbiAtIDEpIHsNCgkJCQkJCQlyZXR1cm4gJHRoaXMtPmZhaWwoIm1pc3NpbmcgY2xvc2luZyBgKi9gIiwgJGN1cnJlbnRDaHVua1N0YXJ0SW5kZXgpOw0KCQkJCQkJfQ0KCQkJCQl9DQoJCQkJCWNvbnRpbnVlOw0KDQoJCQkJLy8gKiwgY2hlY2sgZm9yIHVubWF0Y2hlZCAqLw0KCQkJCWNhc2UgNDI6DQoJCQkJCWlmICgoJHRoaXMtPnBhcnNlckN1cnJlbnRJbmRleCA8ICR0aGlzLT5pbnB1dF9sZW4gLSAxKSAmJiAoJHRoaXMtPkNoYXJDb2RlKCR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXgrMSkgPT0gNDcpKSB7DQoJCQkJCQlyZXR1cm4gJHRoaXMtPmZhaWwoInVubWF0Y2hlZCBgLypgIik7DQoJCQkJCX0NCgkJCQkJY29udGludWU7DQoJCQl9DQoJCX0NCg0KCQlpZiggJGxldmVsICE9PSAwICl7DQoJCQlpZiggKCRsYXN0TXVsdGlDb21tZW50ID4gJGxhc3RPcGVuaW5nKSAmJiAoJGxhc3RNdWx0aUNvbW1lbnRFbmRCcmFjZSA+ICRsYXN0TXVsdGlDb21tZW50KSApew0KCQkJCXJldHVybiAkdGhpcy0+ZmFpbCgibWlzc2luZyBjbG9zaW5nIGB9YCBvciBgKi9gIiwgJGxhc3RPcGVuaW5nKTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuICR0aGlzLT5mYWlsKCJtaXNzaW5nIGNsb3NpbmcgYH1gIiwgJGxhc3RPcGVuaW5nKTsNCgkJCX0NCgkJfSBlbHNlIGlmICggJHBhcmVuTGV2ZWwgIT09IDAgKXsNCgkJCXJldHVybiAkdGhpcy0+ZmFpbCgibWlzc2luZyBjbG9zaW5nIGApYCIsICRsYXN0UGFyZW4pOw0KCQl9DQoNCg0KCQkvL2NodW5rIGRpZG4ndCBmYWlsDQoNCg0KCQkvLyR0aGlzLT5lbWl0Q2h1bmsodHJ1ZSk7DQoJfQ0KDQoJcHVibGljIGZ1bmN0aW9uIENoYXJDb2RlKCRwb3Mpew0KCQlyZXR1cm4gb3JkKCR0aGlzLT5pbnB1dFskcG9zXSk7DQoJfQ0KDQoNCglwdWJsaWMgZnVuY3Rpb24gZmFpbCggJG1zZywgJGluZGV4ID0gbnVsbCApew0KDQoJCWlmKCAhJGluZGV4ICl7DQoJCQkkdGhpcy0+aW5kZXggPSAkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4Ow0KCQl9ZWxzZXsNCgkJCSR0aGlzLT5pbmRleCA9ICRpbmRleDsNCgkJfQ0KCQkkdGhpcy0+bWVzc2FnZSA9ICdQYXJzZUVycm9yOiAnLiRtc2c7DQoJfQ0KDQoNCgkvKg0KCWZ1bmN0aW9uIGVtaXRDaHVuayggJGZvcmNlID0gZmFsc2UgKXsNCgkJJGxlbiA9ICR0aGlzLT5wYXJzZXJDdXJyZW50SW5kZXggLSAkdGhpcy0+ZW1pdEZyb207DQoJCWlmICgoKCRsZW4gPCA1MTIpICYmICEkZm9yY2UpIHx8ICEkbGVuKSB7DQoJCQlyZXR1cm47DQoJCX0NCgkJJGNodW5rc1tdID0gc3Vic3RyKCR0aGlzLT5pbnB1dCwgJHRoaXMtPmVtaXRGcm9tLCAkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4ICsgMSAtICR0aGlzLT5lbWl0RnJvbSApOw0KCQkkdGhpcy0+ZW1pdEZyb20gPSAkdGhpcy0+cGFyc2VyQ3VycmVudEluZGV4ICsgMTsNCgl9DQoJKi8NCg0KfQ0K]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Exception/Compiler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiBDb21waWxlciBFeGNlcHRpb24NCiAqDQogKiBAcGFja2FnZSBMZXNzDQogKiBAc3VicGFja2FnZSBleGNlcHRpb24NCiAqLw0KY2xhc3MgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIgZXh0ZW5kcyBMZXNzX0V4Y2VwdGlvbl9QYXJzZXJ7DQoNCn0=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Exception/Parser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiBQYXJzZXIgRXhjZXB0aW9uDQogKg0KICogQHBhY2thZ2UgTGVzcw0KICogQHN1YnBhY2thZ2UgZXhjZXB0aW9uDQogKi8NCmNsYXNzIExlc3NfRXhjZXB0aW9uX1BhcnNlciBleHRlbmRzIEV4Y2VwdGlvbnsNCg0KCS8qKg0KCSAqIFRoZSBjdXJyZW50IGZpbGUNCgkgKg0KCSAqIEB2YXIgTGVzc19JbXBvcnRlZEZpbGUNCgkgKi8NCglwdWJsaWMgJGN1cnJlbnRGaWxlOw0KDQoJLyoqDQoJICogVGhlIGN1cnJlbnQgcGFyc2VyIGluZGV4DQoJICoNCgkgKiBAdmFyIGludGVnZXINCgkgKi8NCglwdWJsaWMgJGluZGV4Ow0KDQoJcHJvdGVjdGVkICRpbnB1dDsNCg0KCXByb3RlY3RlZCAkZGV0YWlscyA9IGFycmF5KCk7DQoNCg0KCS8qKg0KCSAqIENvbnN0cnVjdG9yDQoJICoNCgkgKiBAcGFyYW0gc3RyaW5nICRtZXNzYWdlDQoJICogQHBhcmFtIEV4Y2VwdGlvbiAkcHJldmlvdXMgUHJldmlvdXMgZXhjZXB0aW9uDQoJICogQHBhcmFtIGludGVnZXIgJGluZGV4IFRoZSBjdXJyZW50IHBhcnNlciBpbmRleA0KCSAqIEBwYXJhbSBMZXNzX0ZpbGVJbmZvfHN0cmluZyAkY3VycmVudEZpbGUgVGhlIGZpbGUNCgkgKiBAcGFyYW0gaW50ZWdlciAkY29kZSBUaGUgZXhjZXB0aW9uIGNvZGUNCgkgKi8NCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG1lc3NhZ2UgPSBudWxsLCBFeGNlcHRpb24gJHByZXZpb3VzID0gbnVsbCwgJGluZGV4ID0gbnVsbCwgJGN1cnJlbnRGaWxlID0gbnVsbCwgJGNvZGUgPSAwKXsNCg0KCQlpZiAoUEhQX1ZFUlNJT05fSUQgPCA1MDMwMCkgew0KCQkJJHRoaXMtPnByZXZpb3VzID0gJHByZXZpb3VzOw0KCQkJcGFyZW50OjpfX2NvbnN0cnVjdCgkbWVzc2FnZSwgJGNvZGUpOw0KCQl9IGVsc2Ugew0KCQkJcGFyZW50OjpfX2NvbnN0cnVjdCgkbWVzc2FnZSwgJGNvZGUsICRwcmV2aW91cyk7DQoJCX0NCg0KCQkkdGhpcy0+Y3VycmVudEZpbGUgPSAkY3VycmVudEZpbGU7DQoJCSR0aGlzLT5pbmRleCA9ICRpbmRleDsNCg0KCQkkdGhpcy0+Z2VuTWVzc2FnZSgpOw0KCX0NCg0KDQoJcHJvdGVjdGVkIGZ1bmN0aW9uIGdldElucHV0KCl7DQoNCgkJaWYoICEkdGhpcy0+aW5wdXQgJiYgJHRoaXMtPmN1cnJlbnRGaWxlICYmICR0aGlzLT5jdXJyZW50RmlsZVsnZmlsZW5hbWUnXSApew0KCQkJJHRoaXMtPmlucHV0ID0gZmlsZV9nZXRfY29udGVudHMoICR0aGlzLT5jdXJyZW50RmlsZVsnZmlsZW5hbWUnXSApOw0KCQl9DQoJfQ0KDQoNCg0KCS8qKg0KCSAqIENvbnZlcnRzIHRoZSBleGNlcHRpb24gdG8gc3RyaW5nDQoJICoNCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBnZW5NZXNzYWdlKCl7DQoNCgkJaWYoICR0aGlzLT5jdXJyZW50RmlsZSAmJiAkdGhpcy0+Y3VycmVudEZpbGVbJ2ZpbGVuYW1lJ10gKXsNCgkJCSR0aGlzLT5tZXNzYWdlIC49ICcgaW4gJy5iYXNlbmFtZSgkdGhpcy0+Y3VycmVudEZpbGVbJ2ZpbGVuYW1lJ10pOw0KCQl9DQoNCgkJaWYoICR0aGlzLT5pbmRleCAhPT0gbnVsbCApew0KCQkJJHRoaXMtPmdldElucHV0KCk7DQoJCQlpZiggJHRoaXMtPmlucHV0ICl7DQoJCQkJJGxpbmUgPSBzZWxmOjpnZXRMaW5lTnVtYmVyKCk7DQoJCQkJJHRoaXMtPm1lc3NhZ2UgLj0gJyBvbiBsaW5lICcuJGxpbmUuJywgY29sdW1uICcuc2VsZjo6Z2V0Q29sdW1uKCk7DQoNCgkJCQkkbGluZXMgPSBleHBsb2RlKCJcbiIsJHRoaXMtPmlucHV0KTsNCg0KCQkJCSRjb3VudCA9IGNvdW50KCRsaW5lcyk7DQoJCQkJJHN0YXJ0X2xpbmUgPSBtYXgoMCwgJGxpbmUtMyk7DQoJCQkJJGxhc3RfbGluZSA9IG1pbigkY291bnQsICRzdGFydF9saW5lKzYpOw0KCQkJCSRudW1fbGVuID0gc3RybGVuKCRsYXN0X2xpbmUpOw0KCQkJCWZvciggJGkgPSAkc3RhcnRfbGluZTsgJGkgPCAkbGFzdF9saW5lOyAkaSsrICl7DQoJCQkJCSR0aGlzLT5tZXNzYWdlIC49ICJcbiIuc3RyX3BhZCgkaSsxLCRudW1fbGVuLCcwJyxTVFJfUEFEX0xFRlQpLid8ICcuJGxpbmVzWyRpXTsNCgkJCQl9DQoJCQl9DQoJCX0NCg0KCX0NCg0KCS8qKg0KCSAqIFJldHVybnMgdGhlIGxpbmUgbnVtYmVyIHRoZSBlcnJvciB3YXMgZW5jb3VudGVyZWQNCgkgKg0KCSAqIEByZXR1cm4gaW50ZWdlcg0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBnZXRMaW5lTnVtYmVyKCl7DQoJCWlmKCAkdGhpcy0+aW5kZXggKXsNCgkJCS8vIGh0dHBzOi8vYnVncy5waHAubmV0L2J1Zy5waHA/aWQ9NDk3OTANCgkJCWlmIChpbmlfZ2V0KCJtYnN0cmluZy5mdW5jX292ZXJsb2FkIikpIHsNCgkJCQlyZXR1cm4gc3Vic3RyX2NvdW50KHN1YnN0cigkdGhpcy0+aW5wdXQsIDAsICR0aGlzLT5pbmRleCksICJcbiIpICsgMTsNCgkJCX0gZWxzZSB7DQoJCQkJcmV0dXJuIHN1YnN0cl9jb3VudCgkdGhpcy0+aW5wdXQsICJcbiIsIDAsICR0aGlzLT5pbmRleCkgKyAxOw0KCQkJfQ0KCQl9DQoJCXJldHVybiAxOw0KCX0NCg0KDQoJLyoqDQoJICogUmV0dXJucyB0aGUgY29sdW1uIHRoZSBlcnJvciB3YXMgZW5jb3VudGVyZWQNCgkgKg0KCSAqIEByZXR1cm4gaW50ZWdlcg0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBnZXRDb2x1bW4oKXsNCg0KCQkkcGFydCA9IHN1YnN0cigkdGhpcy0+aW5wdXQsIDAsICR0aGlzLT5pbmRleCk7DQoJCSRwb3MgPSBzdHJycG9zKCRwYXJ0LCJcbiIpOw0KCQlyZXR1cm4gJHRoaXMtPmluZGV4IC0gJHBvczsNCgl9DQoNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Functions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBCdWlsdGluIGZ1bmN0aW9ucwogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIGZ1bmN0aW9uCiAqIEBzZWUgaHR0cDovL2xlc3Njc3Mub3JnL2Z1bmN0aW9ucy8KICovCmNsYXNzIExlc3NfRnVuY3Rpb25zewoKCXB1YmxpYyAkZW52OwoJcHVibGljICRjdXJyZW50RmlsZUluZm87CgoJZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGVudiwgJGN1cnJlbnRGaWxlSW5mbyA9IG51bGwgKXsKCQkkdGhpcy0+ZW52ID0gJGVudjsKCQkkdGhpcy0+Y3VycmVudEZpbGVJbmZvID0gJGN1cnJlbnRGaWxlSW5mbzsKCX0KCgoJLyoqCgkgKiBAcGFyYW0gc3RyaW5nICRvcAoJICovCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIG9wZXJhdGUoICRvcCwgJGEsICRiICl7CgkJc3dpdGNoICgkb3ApIHsKCQkJY2FzZSAnKyc6IHJldHVybiAkYSArICRiOwoJCQljYXNlICctJzogcmV0dXJuICRhIC0gJGI7CgkJCWNhc2UgJyonOiByZXR1cm4gJGEgKiAkYjsKCQkJY2FzZSAnLyc6IHJldHVybiAkYSAvICRiOwoJCX0KCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNsYW1wKCR2YWwsICRtYXggPSAxKXsKCQlyZXR1cm4gbWluKCBtYXgoJHZhbCwgMCksICRtYXgpOwoJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvdW5kKCAkdmFsdWUgKXsKCgkJaWYoICR2YWx1ZSA9PT0gMCApewoJCQlyZXR1cm4gJHZhbHVlOwoJCX0KCgkJaWYoIExlc3NfUGFyc2VyOjokb3B0aW9uc1snbnVtUHJlY2lzaW9uJ10gKXsKCQkJJHAgPSBwb3coMTAsIExlc3NfUGFyc2VyOjokb3B0aW9uc1snbnVtUHJlY2lzaW9uJ10pOwoJCQlyZXR1cm4gcm91bmQoICR2YWx1ZSAqICRwKSAvICRwOwoJCX0KCQlyZXR1cm4gJHZhbHVlOwoJfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbnVtYmVyKCRuKXsKCgkJaWYgKCRuIGluc3RhbmNlb2YgTGVzc19UcmVlX0RpbWVuc2lvbikgewoJCQlyZXR1cm4gZmxvYXR2YWwoICRuLT51bml0LT5pcygnJScpID8gJG4tPnZhbHVlIC8gMTAwIDogJG4tPnZhbHVlKTsKCQl9IGVsc2UgaWYgKGlzX251bWVyaWMoJG4pKSB7CgkJCXJldHVybiAkbjsKCQl9IGVsc2UgewoJCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIoImNvbG9yIGZ1bmN0aW9ucyB0YWtlIG51bWJlcnMgYXMgcGFyYW1ldGVycyIpOwoJCX0KCX0KCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHNjYWxlZCgkbiwgJHNpemUgPSAyNTUgKXsKCQlpZiggJG4gaW5zdGFuY2VvZiBMZXNzX1RyZWVfRGltZW5zaW9uICYmICRuLT51bml0LT5pcygnJScpICl7CgkJCXJldHVybiAoZmxvYXQpJG4tPnZhbHVlICogJHNpemUgLyAxMDA7CgkJfSBlbHNlIHsKCQkJcmV0dXJuIExlc3NfRnVuY3Rpb25zOjpudW1iZXIoJG4pOwoJCX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gcmdiICgkciwgJGcsICRiKXsKCQlyZXR1cm4gJHRoaXMtPnJnYmEoJHIsICRnLCAkYiwgMS4wKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gcmdiYSgkciwgJGcsICRiLCAkYSl7CgkJJHJnYiA9IGFycmF5KCRyLCAkZywgJGIpOwoJCSRyZ2IgPSBhcnJheV9tYXAoYXJyYXkoJ0xlc3NfRnVuY3Rpb25zJywnc2NhbGVkJyksJHJnYik7CgoJCSRhID0gc2VsZjo6bnVtYmVyKCRhKTsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9Db2xvcigkcmdiLCAkYSk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGhzbCgkaCwgJHMsICRsKXsKCQlyZXR1cm4gJHRoaXMtPmhzbGEoJGgsICRzLCAkbCwgMS4wKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gaHNsYSgkaCwgJHMsICRsLCAkYSl7CgoJCSRoID0gZm1vZChzZWxmOjpudW1iZXIoJGgpLCAzNjApIC8gMzYwOyAvLyBDbGFzc2ljICUgb3BlcmF0b3Igd2lsbCBjaGFuZ2UgZmxvYXQgdG8gaW50CgkJJHMgPSBzZWxmOjpjbGFtcChzZWxmOjpudW1iZXIoJHMpKTsKCQkkbCA9IHNlbGY6OmNsYW1wKHNlbGY6Om51bWJlcigkbCkpOwoJCSRhID0gc2VsZjo6Y2xhbXAoc2VsZjo6bnVtYmVyKCRhKSk7CgoJCSRtMiA9ICRsIDw9IDAuNSA/ICRsICogKCRzICsgMSkgOiAkbCArICRzIC0gJGwgKiAkczsKCgkJJG0xID0gJGwgKiAyIC0gJG0yOwoKCQlyZXR1cm4gJHRoaXMtPnJnYmEoIHNlbGY6OmhzbGFfaHVlKCRoICsgMS8zLCAkbTEsICRtMikgKiAyNTUsCgkJCQkJCQlzZWxmOjpoc2xhX2h1ZSgkaCwgJG0xLCAkbTIpICogMjU1LAoJCQkJCQkJc2VsZjo6aHNsYV9odWUoJGggLSAxLzMsICRtMSwgJG0yKSAqIDI1NSwKCQkJCQkJCSRhKTsKCX0KCgkvKioKCSAqIEBwYXJhbSBkb3VibGUgJGgKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGhzbGFfaHVlKCRoLCAkbTEsICRtMil7CgkJJGggPSAkaCA8IDAgPyAkaCArIDEgOiAoJGggPiAxID8gJGggLSAxIDogJGgpOwoJCWlmCSAgKCRoICogNiA8IDEpIHJldHVybiAkbTEgKyAoJG0yIC0gJG0xKSAqICRoICogNjsKCQllbHNlIGlmICgkaCAqIDIgPCAxKSByZXR1cm4gJG0yOwoJCWVsc2UgaWYgKCRoICogMyA8IDIpIHJldHVybiAkbTEgKyAoJG0yIC0gJG0xKSAqICgyLzMgLSAkaCkgKiA2OwoJCWVsc2UJCQkJIHJldHVybiAkbTE7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGhzdigkaCwgJHMsICR2KSB7CgkJcmV0dXJuICR0aGlzLT5oc3ZhKCRoLCAkcywgJHYsIDEuMCk7Cgl9CgoJLyoqCgkgKiBAcGFyYW0gZG91YmxlICRhCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBoc3ZhKCRoLCAkcywgJHYsICRhKSB7CgkJJGggPSAoKExlc3NfRnVuY3Rpb25zOjpudW1iZXIoJGgpICUgMzYwKSAvIDM2MCApICogMzYwOwoJCSRzID0gTGVzc19GdW5jdGlvbnM6Om51bWJlcigkcyk7CgkJJHYgPSBMZXNzX0Z1bmN0aW9uczo6bnVtYmVyKCR2KTsKCQkkYSA9IExlc3NfRnVuY3Rpb25zOjpudW1iZXIoJGEpOwoKCQkkaSA9IGZsb29yKCgkaCAvIDYwKSAlIDYpOwoJCSRmID0gKCRoIC8gNjApIC0gJGk7CgoJCSR2cyA9IGFycmF5KCAkdiwKCQkJCSAgJHYgKiAoMSAtICRzKSwKCQkJCSAgJHYgKiAoMSAtICRmICogJHMpLAoJCQkJICAkdiAqICgxIC0gKDEgLSAkZikgKiAkcykpOwoKCQkkcGVybSA9IGFycmF5KGFycmF5KDAsIDMsIDEpLAoJCQkJCWFycmF5KDIsIDAsIDEpLAoJCQkJCWFycmF5KDEsIDAsIDMpLAoJCQkJCWFycmF5KDEsIDIsIDApLAoJCQkJCWFycmF5KDMsIDEsIDApLAoJCQkJCWFycmF5KDAsIDEsIDIpKTsKCgkJcmV0dXJuICR0aGlzLT5yZ2JhKCR2c1skcGVybVskaV1bMF1dICogMjU1LAoJCQkJCQkgJHZzWyRwZXJtWyRpXVsxXV0gKiAyNTUsCgkJCQkJCSAkdnNbJHBlcm1bJGldWzJdXSAqIDI1NSwKCQkJCQkJICRhKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gaHVlKCRjb2xvcil7CgkJJGMgPSAkY29sb3ItPnRvSFNMKCk7CgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfRGltZW5zaW9uKExlc3NfUGFyc2VyOjpyb3VuZCgkY1snaCddKSk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHNhdHVyYXRpb24oJGNvbG9yKXsKCQkkYyA9ICRjb2xvci0+dG9IU0woKTsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oTGVzc19QYXJzZXI6OnJvdW5kKCRjWydzJ10gKiAxMDApLCAnJScpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBsaWdodG5lc3MoJGNvbG9yKXsKCQkkYyA9ICRjb2xvci0+dG9IU0woKTsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oTGVzc19QYXJzZXI6OnJvdW5kKCRjWydsJ10gKiAxMDApLCAnJScpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBoc3ZodWUoICRjb2xvciApewoJCSRoc3YgPSAkY29sb3ItPnRvSFNWKCk7CgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfRGltZW5zaW9uKCBMZXNzX1BhcnNlcjo6cm91bmQoJGhzdlsnaCddKSApOwoJfQoKCglwdWJsaWMgZnVuY3Rpb24gaHN2c2F0dXJhdGlvbiggJGNvbG9yICl7CgkJJGhzdiA9ICRjb2xvci0+dG9IU1YoKTsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oIExlc3NfUGFyc2VyOjpyb3VuZCgkaHN2WydzJ10gKiAxMDApLCAnJScgKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gaHN2dmFsdWUoICRjb2xvciApewoJCSRoc3YgPSAkY29sb3ItPnRvSFNWKCk7CgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfRGltZW5zaW9uKCBMZXNzX1BhcnNlcjo6cm91bmQoJGhzdlsndiddICogMTAwKSwgJyUnICk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHJlZCgkY29sb3IpIHsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oICRjb2xvci0+cmdiWzBdICk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGdyZWVuKCRjb2xvcikgewoJCXJldHVybiBuZXcgTGVzc19UcmVlX0RpbWVuc2lvbiggJGNvbG9yLT5yZ2JbMV0gKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gYmx1ZSgkY29sb3IpIHsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oICRjb2xvci0+cmdiWzJdICk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGFscGhhKCRjb2xvcil7CgkJJGMgPSAkY29sb3ItPnRvSFNMKCk7CgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfRGltZW5zaW9uKCRjWydhJ10pOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBsdW1hICgkY29sb3IpIHsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oTGVzc19QYXJzZXI6OnJvdW5kKCAkY29sb3ItPmx1bWEoKSAqICRjb2xvci0+YWxwaGEgKiAxMDApLCAnJScpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBsdW1pbmFuY2UoICRjb2xvciApewoJCSRsdW1pbmFuY2UgPQoJCQkoMC4yMTI2ICogJGNvbG9yLT5yZ2JbMF0gLyAyNTUpCgkJICArICgwLjcxNTIgKiAkY29sb3ItPnJnYlsxXSAvIDI1NSkKCQkgICsgKDAuMDcyMiAqICRjb2xvci0+cmdiWzJdIC8gMjU1KTsKCgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfRGltZW5zaW9uKExlc3NfUGFyc2VyOjpyb3VuZCggJGx1bWluYW5jZSAqICRjb2xvci0+YWxwaGEgKiAxMDApLCAnJScpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBzYXR1cmF0ZSgkY29sb3IsICRhbW91bnQgPSBudWxsKXsKCQkvLyBmaWx0ZXI6IHNhdHVyYXRlKDMuMik7CgkJLy8gc2hvdWxkIGJlIGtlcHQgYXMgaXMsIHNvIGNoZWNrIGZvciBjb2xvcgoJCWlmKCAhcHJvcGVydHlfZXhpc3RzKCRjb2xvciwncmdiJykgKXsKCQkJcmV0dXJuIG51bGw7CgkJfQoJCSRoc2wgPSAkY29sb3ItPnRvSFNMKCk7CgoJCSRoc2xbJ3MnXSArPSAkYW1vdW50LT52YWx1ZSAvIDEwMDsKCQkkaHNsWydzJ10gPSBzZWxmOjpjbGFtcCgkaHNsWydzJ10pOwoKCQlyZXR1cm4gJHRoaXMtPmhzbGEoJGhzbFsnaCddLCAkaHNsWydzJ10sICRoc2xbJ2wnXSwgJGhzbFsnYSddKTsKCX0KCgkvKioKCSAqIEBwYXJhbSBMZXNzX1RyZWVfRGltZW5zaW9uICRhbW91bnQKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGRlc2F0dXJhdGUoJGNvbG9yLCAkYW1vdW50KXsKCQkkaHNsID0gJGNvbG9yLT50b0hTTCgpOwoKCQkkaHNsWydzJ10gLT0gJGFtb3VudC0+dmFsdWUgLyAxMDA7CgkJJGhzbFsncyddID0gc2VsZjo6Y2xhbXAoJGhzbFsncyddKTsKCgkJcmV0dXJuICR0aGlzLT5oc2xhKCRoc2xbJ2gnXSwgJGhzbFsncyddLCAkaHNsWydsJ10sICRoc2xbJ2EnXSk7Cgl9CgoKCglwdWJsaWMgZnVuY3Rpb24gbGlnaHRlbigkY29sb3IsICRhbW91bnQpewoJCSRoc2wgPSAkY29sb3ItPnRvSFNMKCk7CgoJCSRoc2xbJ2wnXSArPSAkYW1vdW50LT52YWx1ZSAvIDEwMDsKCQkkaHNsWydsJ10gPSBzZWxmOjpjbGFtcCgkaHNsWydsJ10pOwoKCQlyZXR1cm4gJHRoaXMtPmhzbGEoJGhzbFsnaCddLCAkaHNsWydzJ10sICRoc2xbJ2wnXSwgJGhzbFsnYSddKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZGFya2VuKCRjb2xvciwgJGFtb3VudCl7CgoJCWlmKCAkY29sb3IgaW5zdGFuY2VvZiBMZXNzX1RyZWVfQ29sb3IgKXsKCQkJJGhzbCA9ICRjb2xvci0+dG9IU0woKTsKCQkJJGhzbFsnbCddIC09ICRhbW91bnQtPnZhbHVlIC8gMTAwOwoJCQkkaHNsWydsJ10gPSBzZWxmOjpjbGFtcCgkaHNsWydsJ10pOwoKCQkJcmV0dXJuICR0aGlzLT5oc2xhKCRoc2xbJ2gnXSwgJGhzbFsncyddLCAkaHNsWydsJ10sICRoc2xbJ2EnXSk7CgkJfQoKCQlMZXNzX0Z1bmN0aW9uczo6RXhwZWN0ZWQoJ2NvbG9yJywkY29sb3IpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBmYWRlaW4oJGNvbG9yLCAkYW1vdW50KXsKCQkkaHNsID0gJGNvbG9yLT50b0hTTCgpOwoJCSRoc2xbJ2EnXSArPSAkYW1vdW50LT52YWx1ZSAvIDEwMDsKCQkkaHNsWydhJ10gPSBzZWxmOjpjbGFtcCgkaHNsWydhJ10pOwoJCXJldHVybiAkdGhpcy0+aHNsYSgkaHNsWydoJ10sICRoc2xbJ3MnXSwgJGhzbFsnbCddLCAkaHNsWydhJ10pOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBmYWRlb3V0KCRjb2xvciwgJGFtb3VudCl7CgkJJGhzbCA9ICRjb2xvci0+dG9IU0woKTsKCQkkaHNsWydhJ10gLT0gJGFtb3VudC0+dmFsdWUgLyAxMDA7CgkJJGhzbFsnYSddID0gc2VsZjo6Y2xhbXAoJGhzbFsnYSddKTsKCQlyZXR1cm4gJHRoaXMtPmhzbGEoJGhzbFsnaCddLCAkaHNsWydzJ10sICRoc2xbJ2wnXSwgJGhzbFsnYSddKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZmFkZSgkY29sb3IsICRhbW91bnQpewoJCSRoc2wgPSAkY29sb3ItPnRvSFNMKCk7CgoJCSRoc2xbJ2EnXSA9ICRhbW91bnQtPnZhbHVlIC8gMTAwOwoJCSRoc2xbJ2EnXSA9IHNlbGY6OmNsYW1wKCRoc2xbJ2EnXSk7CgkJcmV0dXJuICR0aGlzLT5oc2xhKCRoc2xbJ2gnXSwgJGhzbFsncyddLCAkaHNsWydsJ10sICRoc2xbJ2EnXSk7Cgl9CgoKCglwdWJsaWMgZnVuY3Rpb24gc3BpbigkY29sb3IsICRhbW91bnQpewoJCSRoc2wgPSAkY29sb3ItPnRvSFNMKCk7CgkJJGh1ZSA9IGZtb2QoJGhzbFsnaCddICsgJGFtb3VudC0+dmFsdWUsIDM2MCk7CgoJCSRoc2xbJ2gnXSA9ICRodWUgPCAwID8gMzYwICsgJGh1ZSA6ICRodWU7CgoJCXJldHVybiAkdGhpcy0+aHNsYSgkaHNsWydoJ10sICRoc2xbJ3MnXSwgJGhzbFsnbCddLCAkaHNsWydhJ10pOwoJfQoKCS8vCgkvLyBDb3B5cmlnaHQgKGMpIDIwMDYtMjAwOSBIYW1wdG9uIENhdGxpbiwgTmF0aGFuIFdlaXplbmJhdW0sIGFuZCBDaHJpcyBFcHBzdGVpbgoJLy8gaHR0cDovL3Nhc3MtbGFuZy5jb20KCS8vCgoJLyoqCgkgKiBAcGFyYW0gTGVzc19UcmVlX0NvbG9yICRjb2xvcjEKCSAqLwoJcHVibGljIGZ1bmN0aW9uIG1peCgkY29sb3IxLCAkY29sb3IyLCAkd2VpZ2h0ID0gbnVsbCl7CgkJaWYgKCEkd2VpZ2h0KSB7CgkJCSR3ZWlnaHQgPSBuZXcgTGVzc19UcmVlX0RpbWVuc2lvbignNTAnLCAnJScpOwoJCX0KCgkJJHAgPSAkd2VpZ2h0LT52YWx1ZSAvIDEwMC4wOwoJCSR3ID0gJHAgKiAyIC0gMTsKCQkkaHNsMSA9ICRjb2xvcjEtPnRvSFNMKCk7CgkJJGhzbDIgPSAkY29sb3IyLT50b0hTTCgpOwoJCSRhID0gJGhzbDFbJ2EnXSAtICRoc2wyWydhJ107CgoJCSR3MSA9ICgoKCgkdyAqICRhKSA9PSAtMSkgPyAkdyA6ICgkdyArICRhKSAvICgxICsgJHcgKiAkYSkpICsgMSkgLyAyOwoJCSR3MiA9IDEgLSAkdzE7CgoJCSRyZ2IgPSBhcnJheSgkY29sb3IxLT5yZ2JbMF0gKiAkdzEgKyAkY29sb3IyLT5yZ2JbMF0gKiAkdzIsCgkJCQkJICRjb2xvcjEtPnJnYlsxXSAqICR3MSArICRjb2xvcjItPnJnYlsxXSAqICR3MiwKCQkJCQkgJGNvbG9yMS0+cmdiWzJdICogJHcxICsgJGNvbG9yMi0+cmdiWzJdICogJHcyKTsKCgkJJGFscGhhID0gJGNvbG9yMS0+YWxwaGEgKiAkcCArICRjb2xvcjItPmFscGhhICogKDEgLSAkcCk7CgoJCXJldHVybiBuZXcgTGVzc19UcmVlX0NvbG9yKCRyZ2IsICRhbHBoYSk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGdyZXlzY2FsZSgkY29sb3IpewoJCXJldHVybiAkdGhpcy0+ZGVzYXR1cmF0ZSgkY29sb3IsIG5ldyBMZXNzX1RyZWVfRGltZW5zaW9uKDEwMCkpOwoJfQoKCglwdWJsaWMgZnVuY3Rpb24gY29udHJhc3QoICRjb2xvciwgJGRhcmsgPSBudWxsLCAkbGlnaHQgPSBudWxsLCAkdGhyZXNob2xkID0gbnVsbCl7CgkJLy8gZmlsdGVyOiBjb250cmFzdCgzLjIpOwoJCS8vIHNob3VsZCBiZSBrZXB0IGFzIGlzLCBzbyBjaGVjayBmb3IgY29sb3IKCQlpZiggIXByb3BlcnR5X2V4aXN0cygkY29sb3IsJ3JnYicpICl7CgkJCXJldHVybiBudWxsOwoJCX0KCQlpZiggISRsaWdodCApewoJCQkkbGlnaHQgPSAkdGhpcy0+cmdiYSgyNTUsIDI1NSwgMjU1LCAxLjApOwoJCX0KCQlpZiggISRkYXJrICl7CgkJCSRkYXJrID0gJHRoaXMtPnJnYmEoMCwgMCwgMCwgMS4wKTsKCQl9CgkJLy9GaWd1cmUgb3V0IHdoaWNoIGlzIGFjdHVhbGx5IGxpZ2h0IGFuZCBkYXJrIQoJCWlmKCAkZGFyay0+bHVtYSgpID4gJGxpZ2h0LT5sdW1hKCkgKXsKCQkJJHQgPSAkbGlnaHQ7CgkJCSRsaWdodCA9ICRkYXJrOwoJCQkkZGFyayA9ICR0OwoJCX0KCQlpZiggISR0aHJlc2hvbGQgKXsKCQkJJHRocmVzaG9sZCA9IDAuNDM7CgkJfSBlbHNlIHsKCQkJJHRocmVzaG9sZCA9IExlc3NfRnVuY3Rpb25zOjpudW1iZXIoJHRocmVzaG9sZCk7CgkJfQoKCQlpZiggJGNvbG9yLT5sdW1hKCkgPCAkdGhyZXNob2xkICl7CgkJCXJldHVybiAkbGlnaHQ7CgkJfSBlbHNlIHsKCQkJcmV0dXJuICRkYXJrOwoJCX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gZSAoJHN0cil7CgkJaWYoIGlzX3N0cmluZygkc3RyKSApewoJCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9Bbm9ueW1vdXMoJHN0cik7CgkJfQoJCXJldHVybiBuZXcgTGVzc19UcmVlX0Fub255bW91cygkc3RyIGluc3RhbmNlb2YgTGVzc19UcmVlX0phdmFTY3JpcHQgPyAkc3RyLT5leHByZXNzaW9uIDogJHN0ci0+dmFsdWUpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBlc2NhcGUgKCRzdHIpewoKCQkkcmV2ZXJ0ID0gYXJyYXkoJyUyMSc9PichJywgJyUyQSc9PicqJywgJyUyNyc9PiInIiwnJTNGJz0+Jz8nLCclMjYnPT4nJicsJyUyQyc9PicsJywnJTJGJz0+Jy8nLCclNDAnPT4nQCcsJyUyQic9PicrJywnJTI0Jz0+JyQnKTsKCgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfQW5vbnltb3VzKHN0cnRyKHJhd3VybGVuY29kZSgkc3RyLT52YWx1ZSksICRyZXZlcnQpKTsKCX0KCgoJLyoqCgkgKiB0b2RvOiBUaGlzIGZ1bmN0aW9uIHdpbGwgbmVlZCBzb21lIGFkZGl0aW9uYWwgd29yayB0byBtYWtlIGl0IHdvcmsgdGhlIHNhbWUgYXMgbGVzcy5qcwoJICoKCSAqLwoJcHVibGljIGZ1bmN0aW9uIHJlcGxhY2UoICRzdHJpbmcsICRwYXR0ZXJuLCAkcmVwbGFjZW1lbnQsICRmbGFncyA9IG51bGwgKXsKCQkkcmVzdWx0ID0gJHN0cmluZy0+dmFsdWU7CgoJCSRleHByID0gJy8nLnN0cl9yZXBsYWNlKCcvJywnXFwvJywkcGF0dGVybi0+dmFsdWUpLicvJzsKCQlpZiggJGZsYWdzICYmICRmbGFncy0+dmFsdWUpewoJCQkkZXhwciAuPSBzZWxmOjpyZXBsYWNlX2ZsYWdzKCRmbGFncy0+dmFsdWUpOwoJCX0KCgkJJHJlc3VsdCA9IHByZWdfcmVwbGFjZSgkZXhwciwkcmVwbGFjZW1lbnQtPnZhbHVlLCRyZXN1bHQpOwoKCgkJaWYoIHByb3BlcnR5X2V4aXN0cygkc3RyaW5nLCdxdW90ZScpICl7CgkJCXJldHVybiBuZXcgTGVzc19UcmVlX1F1b3RlZCggJHN0cmluZy0+cXVvdGUsICRyZXN1bHQsICRzdHJpbmctPmVzY2FwZWQpOwoJCX0KCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9RdW90ZWQoICcnLCAkcmVzdWx0ICk7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZXBsYWNlX2ZsYWdzKCRmbGFncyl7CgkJJGZsYWdzID0gc3RyX3NwbGl0KCRmbGFncywxKTsKCQkkbmV3X2ZsYWdzID0gJyc7CgoJCWZvcmVhY2goJGZsYWdzIGFzICRmbGFnKXsKCQkJc3dpdGNoKCRmbGFnKXsKCQkJCWNhc2UgJ2UnOgoJCQkJY2FzZSAnZyc6CgkJCQlicmVhazsKCgkJCQlkZWZhdWx0OgoJCQkJJG5ld19mbGFncyAuPSAkZmxhZzsKCQkJCWJyZWFrOwoJCQl9CgkJfQoKCQlyZXR1cm4gJG5ld19mbGFnczsKCX0KCglwdWJsaWMgZnVuY3Rpb24gX3BlcmNlbnQoKXsKCQkkc3RyaW5nID0gZnVuY19nZXRfYXJnKDApOwoKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlhcnJheV9zaGlmdCgkYXJncyk7CgkJJHJlc3VsdCA9ICRzdHJpbmctPnZhbHVlOwoKCQlmb3JlYWNoKCRhcmdzIGFzICRhcmcpewoJCQlpZiggcHJlZ19tYXRjaCgnLyVbc2RhXS9pJywkcmVzdWx0LCAkdG9rZW4pICl7CgkJCQkkdG9rZW4gPSAkdG9rZW5bMF07CgkJCQkkdmFsdWUgPSBzdHJpc3RyKCR0b2tlbiwgJ3MnKSA/ICRhcmctPnZhbHVlIDogJGFyZy0+dG9DU1MoKTsKCQkJCSR2YWx1ZSA9IHByZWdfbWF0Y2goJy9bQS1aXSQvJywgJHRva2VuKSA/IHVybGVuY29kZSgkdmFsdWUpIDogJHZhbHVlOwoJCQkJJHJlc3VsdCA9IHByZWdfcmVwbGFjZSgnLyVbc2RhXS9pJywkdmFsdWUsICRyZXN1bHQsIDEpOwoJCQl9CgkJfQoJCSRyZXN1bHQgPSBzdHJfcmVwbGFjZSgnJSUnLCAnJScsICRyZXN1bHQpOwoKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9RdW90ZWQoICRzdHJpbmctPnF1b3RlICwgJHJlc3VsdCwgJHN0cmluZy0+ZXNjYXBlZCk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIHVuaXQoICR2YWwsICR1bml0ID0gbnVsbCkgewoJCWlmKCAhKCR2YWwgaW5zdGFuY2VvZiBMZXNzX1RyZWVfRGltZW5zaW9uKSApewoJCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIoJ1RoZSBmaXJzdCBhcmd1bWVudCB0byB1bml0IG11c3QgYmUgYSBudW1iZXInIC4gKCR2YWwgaW5zdGFuY2VvZiBMZXNzX1RyZWVfT3BlcmF0aW9uID8gJy4gSGF2ZSB5b3UgZm9yZ290dGVuIHBhcmVudGhlc2lzPycgOiAnLicpICk7CgkJfQoKCQlpZiggJHVuaXQgKXsKCQkJaWYoICR1bml0IGluc3RhbmNlb2YgTGVzc19UcmVlX0tleXdvcmQgKXsKCQkJCSR1bml0ID0gJHVuaXQtPnZhbHVlOwoJCQl9IGVsc2UgewoJCQkJJHVuaXQgPSAkdW5pdC0+dG9DU1MoKTsKCQkJfQoJCX0gZWxzZSB7CgkJCSR1bml0ID0gIiI7CgkJfQoJCXJldHVybiBuZXcgTGVzc19UcmVlX0RpbWVuc2lvbigkdmFsLT52YWx1ZSwgJHVuaXQgKTsKICAgIH0KCglwdWJsaWMgZnVuY3Rpb24gY29udmVydCgkdmFsLCAkdW5pdCl7CgkJcmV0dXJuICR2YWwtPmNvbnZlcnRUbygkdW5pdC0+dmFsdWUpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiByb3VuZCgkbiwgJGYgPSBmYWxzZSkgewoKCQkkZnJhY3Rpb24gPSAwOwoJCWlmKCAkZiAhPT0gZmFsc2UgKXsKCQkJJGZyYWN0aW9uID0gJGYtPnZhbHVlOwoJCX0KCgkJcmV0dXJuICR0aGlzLT5fbWF0aCgnTGVzc19QYXJzZXI6OnJvdW5kJyxudWxsLCAkbiwgJGZyYWN0aW9uKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gcGkoKXsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oTV9QSSk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIG1vZCgkYSwgJGIpIHsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oICRhLT52YWx1ZSAlICRiLT52YWx1ZSwgJGEtPnVuaXQpOwoJfQoKCgoJcHVibGljIGZ1bmN0aW9uIHBvdygkeCwgJHkpIHsKCQlpZiggaXNfbnVtZXJpYygkeCkgJiYgaXNfbnVtZXJpYygkeSkgKXsKCQkJJHggPSBuZXcgTGVzc19UcmVlX0RpbWVuc2lvbigkeCk7CgkJCSR5ID0gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oJHkpOwoJCX1lbHNlaWYoICEoJHggaW5zdGFuY2VvZiBMZXNzX1RyZWVfRGltZW5zaW9uKSB8fCAhKCR5IGluc3RhbmNlb2YgTGVzc19UcmVlX0RpbWVuc2lvbikgKXsKCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCdBcmd1bWVudHMgbXVzdCBiZSBudW1iZXJzJyk7CgkJfQoKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oIHBvdygkeC0+dmFsdWUsICR5LT52YWx1ZSksICR4LT51bml0ICk7Cgl9CgoJLy8gdmFyIG1hdGhGdW5jdGlvbnMgPSBbe25hbWU6ImNlIC4uLgoJcHVibGljIGZ1bmN0aW9uIGNlaWwoICRuICl7CQlyZXR1cm4gJHRoaXMtPl9tYXRoKCdjZWlsJywgbnVsbCwgJG4pOyB9CglwdWJsaWMgZnVuY3Rpb24gZmxvb3IoICRuICl7CXJldHVybiAkdGhpcy0+X21hdGgoJ2Zsb29yJywgbnVsbCwgJG4pOyB9CglwdWJsaWMgZnVuY3Rpb24gc3FydCggJG4gKXsJCXJldHVybiAkdGhpcy0+X21hdGgoJ3NxcnQnLCBudWxsLCAkbik7IH0KCXB1YmxpYyBmdW5jdGlvbiBhYnMoICRuICl7CQlyZXR1cm4gJHRoaXMtPl9tYXRoKCdhYnMnLCBudWxsLCAkbik7IH0KCglwdWJsaWMgZnVuY3Rpb24gdGFuKCAkbiApewkJcmV0dXJuICR0aGlzLT5fbWF0aCgndGFuJywgJycsICRuKTsJfQoJcHVibGljIGZ1bmN0aW9uIHNpbiggJG4gKXsJCXJldHVybiAkdGhpcy0+X21hdGgoJ3NpbicsICcnLCAkbik7CX0KCXB1YmxpYyBmdW5jdGlvbiBjb3MoICRuICl7CQlyZXR1cm4gJHRoaXMtPl9tYXRoKCdjb3MnLCAnJywgJG4pOwl9CgoJcHVibGljIGZ1bmN0aW9uIGF0YW4oICRuICl7CQlyZXR1cm4gJHRoaXMtPl9tYXRoKCdhdGFuJywgJ3JhZCcsICRuKTsJfQoJcHVibGljIGZ1bmN0aW9uIGFzaW4oICRuICl7CQlyZXR1cm4gJHRoaXMtPl9tYXRoKCdhc2luJywgJ3JhZCcsICRuKTsJfQoJcHVibGljIGZ1bmN0aW9uIGFjb3MoICRuICl7CQlyZXR1cm4gJHRoaXMtPl9tYXRoKCdhY29zJywgJ3JhZCcsICRuKTsJfQoKCXByaXZhdGUgZnVuY3Rpb24gX21hdGgoKSB7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJJGZuID0gYXJyYXlfc2hpZnQoJGFyZ3MpOwoJCSR1bml0ID0gYXJyYXlfc2hpZnQoJGFyZ3MpOwoKCQlpZiAoJGFyZ3NbMF0gaW5zdGFuY2VvZiBMZXNzX1RyZWVfRGltZW5zaW9uKSB7CgoJCQlpZiggJHVuaXQgPT09IG51bGwgKXsKCQkJCSR1bml0ID0gJGFyZ3NbMF0tPnVuaXQ7CgkJCX1lbHNlewoJCQkJJGFyZ3NbMF0gPSAkYXJnc1swXS0+dW5pZnkoKTsKCQkJfQoJCQkkYXJnc1swXSA9IChmbG9hdCkkYXJnc1swXS0+dmFsdWU7CgkJCXJldHVybiBuZXcgTGVzc19UcmVlX0RpbWVuc2lvbiggY2FsbF91c2VyX2Z1bmNfYXJyYXkoJGZuLCAkYXJncyksICR1bml0KTsKCQl9IGVsc2UgaWYgKGlzX251bWVyaWMoJGFyZ3NbMF0pKSB7CgkJCXJldHVybiBjYWxsX3VzZXJfZnVuY19hcnJheSgkZm4sJGFyZ3MpOwoJCX0gZWxzZSB7CgkJCXRocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9Db21waWxlcigibWF0aCBmdW5jdGlvbnMgdGFrZSBudW1iZXJzIGFzIHBhcmFtZXRlcnMiKTsKCQl9Cgl9CgoJLyoqCgkgKiBAcGFyYW0gYm9vbGVhbiAkaXNNaW4KCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBfbWlubWF4KCAkaXNNaW4sICRhcmdzICl7CgoJCSRhcmdfY291bnQgPSBjb3VudCgkYXJncyk7CgoJCWlmKCAkYXJnX2NvdW50IDwgMSApewoJCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIoICdvbmUgb3IgbW9yZSBhcmd1bWVudHMgcmVxdWlyZWQnKTsKCQl9CgoJCSRqID0gbnVsbDsKCQkkdW5pdENsb25lID0gbnVsbDsKCQkkdW5pdFN0YXRpYyA9IG51bGw7CgoKCQkkb3JkZXIgPSBhcnJheSgpOwkvLyBlbGVtcyBvbmx5IGNvbnRhaW5zIG9yaWdpbmFsIGFyZ3VtZW50IHZhbHVlcy4KCQkkdmFsdWVzID0gYXJyYXkoKTsJLy8ga2V5IGlzIHRoZSB1bml0LnRvU3RyaW5nKCkgZm9yIHVuaWZpZWQgdHJlZS5EaW1lbnNpb24gdmFsdWVzLAoJCQkJCQkJLy8gdmFsdWUgaXMgdGhlIGluZGV4IGludG8gdGhlIG9yZGVyIGFycmF5LgoKCgkJZm9yKCAkaSA9IDA7ICRpIDwgJGFyZ19jb3VudDsgJGkrKyApewoJCQkkY3VycmVudCA9ICRhcmdzWyRpXTsKCQkJaWYoICEoJGN1cnJlbnQgaW5zdGFuY2VvZiBMZXNzX1RyZWVfRGltZW5zaW9uKSApewoJCQkJaWYoIGlzX2FycmF5KCRhcmdzWyRpXS0+dmFsdWUpICl7CgkJCQkJJGFyZ3NbXSA9ICRhcmdzWyRpXS0+dmFsdWU7CgkJCQl9CgkJCQljb250aW51ZTsKCQkJfQoKCQkJaWYoICRjdXJyZW50LT51bml0LT50b1N0cmluZygpID09PSAnJyAmJiAhJHVuaXRDbG9uZSApewoJCQkJJHRlbXAgPSBuZXcgTGVzc19UcmVlX0RpbWVuc2lvbigkY3VycmVudC0+dmFsdWUsICR1bml0Q2xvbmUpOwoJCQkJJGN1cnJlbnRVbmlmaWVkID0gJHRlbXAtPnVuaWZ5KCk7CgkJCX1lbHNlewoJCQkJJGN1cnJlbnRVbmlmaWVkID0gJGN1cnJlbnQtPnVuaWZ5KCk7CgkJCX0KCgkJCWlmKCAkY3VycmVudFVuaWZpZWQtPnVuaXQtPnRvU3RyaW5nKCkgPT09ICIiICYmICEkdW5pdFN0YXRpYyApewoJCQkJJHVuaXQgPSAkdW5pdFN0YXRpYzsKCQkJfWVsc2V7CgkJCQkkdW5pdCA9ICRjdXJyZW50VW5pZmllZC0+dW5pdC0+dG9TdHJpbmcoKTsKCQkJfQoKCQkJaWYoICR1bml0ICE9PSAnJyAmJiAhJHVuaXRTdGF0aWMgfHwgJHVuaXQgIT09ICcnICYmICRvcmRlclswXS0+dW5pZnkoKS0+dW5pdC0+dG9TdHJpbmcoKSA9PT0gIiIgKXsKCQkJCSR1bml0U3RhdGljID0gJHVuaXQ7CgkJCX0KCgkJCWlmKCAkdW5pdCAhPSAnJyAmJiAhJHVuaXRDbG9uZSApewoJCQkJJHVuaXRDbG9uZSA9ICRjdXJyZW50LT51bml0LT50b1N0cmluZygpOwoJCQl9CgoJCQlpZiggaXNzZXQoJHZhbHVlc1snJ10pICYmICR1bml0ICE9PSAnJyAmJiAkdW5pdCA9PT0gJHVuaXRTdGF0aWMgKXsKCQkJCSRqID0gJHZhbHVlc1snJ107CgkJCX1lbHNlaWYoIGlzc2V0KCR2YWx1ZXNbJHVuaXRdKSApewoJCQkJJGogPSAkdmFsdWVzWyR1bml0XTsKCQkJfWVsc2V7CgoJCQkJaWYoICR1bml0U3RhdGljICYmICR1bml0ICE9PSAkdW5pdFN0YXRpYyApewoJCQkJCXRocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9Db21waWxlciggJ2luY29tcGF0aWJsZSB0eXBlcycpOwoJCQkJfQoJCQkJJHZhbHVlc1skdW5pdF0gPSBjb3VudCgkb3JkZXIpOwoJCQkJJG9yZGVyW10gPSAkY3VycmVudDsKCQkJCWNvbnRpbnVlOwoJCQl9CgoKCQkJaWYoICRvcmRlclskal0tPnVuaXQtPnRvU3RyaW5nKCkgPT09ICIiICYmICR1bml0Q2xvbmUgKXsKCQkJCSR0ZW1wID0gbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oICRvcmRlclskal0tPnZhbHVlLCAkdW5pdENsb25lKTsKCQkJCSRyZWZlcmVuY2VVbmlmaWVkID0gJHRlbXAtPnVuaWZpeSgpOwoJCQl9ZWxzZXsKCQkJCSRyZWZlcmVuY2VVbmlmaWVkID0gJG9yZGVyWyRqXS0+dW5pZnkoKTsKCQkJfQoJCQlpZiggKCRpc01pbiAmJiAkY3VycmVudFVuaWZpZWQtPnZhbHVlIDwgJHJlZmVyZW5jZVVuaWZpZWQtPnZhbHVlKSB8fCAoISRpc01pbiAmJiAkY3VycmVudFVuaWZpZWQtPnZhbHVlID4gJHJlZmVyZW5jZVVuaWZpZWQtPnZhbHVlKSApewoJCQkJJG9yZGVyWyRqXSA9ICRjdXJyZW50OwoJCQl9CgkJfQoKCQlpZiggY291bnQoJG9yZGVyKSA9PSAxICl7CgkJCXJldHVybiAkb3JkZXJbMF07CgkJfQoJCSRhcmdzID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRvcmRlciBhcyAkYSl7CgkJCSRhcmdzW10gPSAkYS0+dG9DU1MoJHRoaXMtPmVudik7CgkJfQoJCXJldHVybiBuZXcgTGVzc19UcmVlX0Fub255bW91cyggKCRpc01pbj8nbWluKCc6J21heCgnKSAuIGltcGxvZGUoTGVzc19FbnZpcm9ubWVudDo6JF9vdXRwdXRNYXBbJywnXSwkYXJncykuJyknKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gbWluKCl7CgkJJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CgkJcmV0dXJuICR0aGlzLT5fbWlubWF4KCB0cnVlLCAkYXJncyApOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBtYXgoKXsKCQkkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKCQlyZXR1cm4gJHRoaXMtPl9taW5tYXgoIGZhbHNlLCAkYXJncyApOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBnZXR1bml0KCRuKXsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9Bbm9ueW1vdXMoJG4tPnVuaXQpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBhcmdiKCRjb2xvcikgewoJCXJldHVybiBuZXcgTGVzc19UcmVlX0Fub255bW91cygkY29sb3ItPnRvQVJHQigpKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gcGVyY2VudGFnZSgkbikgewoJCXJldHVybiBuZXcgTGVzc19UcmVlX0RpbWVuc2lvbigkbi0+dmFsdWUgKiAxMDAsICclJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGNvbG9yKCRuKSB7CgoJCWlmKCAkbiBpbnN0YW5jZW9mIExlc3NfVHJlZV9RdW90ZWQgKXsKCQkJJGNvbG9yQ2FuZGlkYXRlID0gJG4tPnZhbHVlOwoJCQkkcmV0dXJuQ29sb3IgPSBMZXNzX1RyZWVfQ29sb3I6OmZyb21LZXl3b3JkKCRjb2xvckNhbmRpZGF0ZSk7CgkJCWlmKCAkcmV0dXJuQ29sb3IgKXsKCQkJCXJldHVybiAkcmV0dXJuQ29sb3I7CgkJCX0KCQkJaWYoIHByZWdfbWF0Y2goJy9eIyhbQS1GYS1mMC05XXs2fXxbQS1GYS1mMC05XXszfSkvJywkY29sb3JDYW5kaWRhdGUpICl7CgkJCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9Db2xvcihzdWJzdHIoJGNvbG9yQ2FuZGlkYXRlLCAxKSk7CgkJCX0KCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCJhcmd1bWVudCBtdXN0IGJlIGEgY29sb3Iga2V5d29yZCBvciAzLzYgZGlnaXQgaGV4IGUuZy4gI0ZGRiIpOwoJCX0gZWxzZSB7CgkJCXRocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9Db21waWxlcigiYXJndW1lbnQgbXVzdCBiZSBhIHN0cmluZyIpOwoJCX0KCX0KCgoJcHVibGljIGZ1bmN0aW9uIGlzY29sb3IoJG4pIHsKCQlyZXR1cm4gJHRoaXMtPl9pc2EoJG4sICdMZXNzX1RyZWVfQ29sb3InKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNudW1iZXIoJG4pIHsKCQlyZXR1cm4gJHRoaXMtPl9pc2EoJG4sICdMZXNzX1RyZWVfRGltZW5zaW9uJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGlzc3RyaW5nKCRuKSB7CgkJcmV0dXJuICR0aGlzLT5faXNhKCRuLCAnTGVzc19UcmVlX1F1b3RlZCcpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBpc2tleXdvcmQoJG4pIHsKCQlyZXR1cm4gJHRoaXMtPl9pc2EoJG4sICdMZXNzX1RyZWVfS2V5d29yZCcpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBpc3VybCgkbikgewoJCXJldHVybiAkdGhpcy0+X2lzYSgkbiwgJ0xlc3NfVHJlZV9VcmwnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNwaXhlbCgkbikgewoJCXJldHVybiAkdGhpcy0+aXN1bml0KCRuLCAncHgnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNwZXJjZW50YWdlKCRuKSB7CgkJcmV0dXJuICR0aGlzLT5pc3VuaXQoJG4sICclJyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGlzZW0oJG4pIHsKCQlyZXR1cm4gJHRoaXMtPmlzdW5pdCgkbiwgJ2VtJyk7Cgl9CgoJLyoqCgkgKiBAcGFyYW0gc3RyaW5nICR1bml0CgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBpc3VuaXQoICRuLCAkdW5pdCApewoJCXJldHVybiAoJG4gaW5zdGFuY2VvZiBMZXNzX1RyZWVfRGltZW5zaW9uKSAmJiAkbi0+dW5pdC0+aXMoICggcHJvcGVydHlfZXhpc3RzKCR1bml0LCd2YWx1ZScpID8gJHVuaXQtPnZhbHVlIDogJHVuaXQpICkgPyBuZXcgTGVzc19UcmVlX0tleXdvcmQoJ3RydWUnKSA6IG5ldyBMZXNzX1RyZWVfS2V5d29yZCgnZmFsc2UnKTsKCX0KCgkvKioKCSAqIEBwYXJhbSBzdHJpbmcgJHR5cGUKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBfaXNhKCRuLCAkdHlwZSkgewoJCXJldHVybiBpc19hKCRuLCAkdHlwZSkgPyBuZXcgTGVzc19UcmVlX0tleXdvcmQoJ3RydWUnKSA6IG5ldyBMZXNzX1RyZWVfS2V5d29yZCgnZmFsc2UnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdGludCgkY29sb3IsICRhbW91bnQpIHsKCQlyZXR1cm4gJHRoaXMtPm1peCggJHRoaXMtPnJnYigyNTUsMjU1LDI1NSksICRjb2xvciwgJGFtb3VudCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJGFtb3VudCkgewoJCXJldHVybiAkdGhpcy0+bWl4KCR0aGlzLT5yZ2IoMCwgMCwgMCksICRjb2xvciwgJGFtb3VudCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGV4dHJhY3QoJHZhbHVlcywgJGluZGV4ICl7CgkJJGluZGV4ID0gKGludCkkaW5kZXgtPnZhbHVlIC0gMTsgLy8gKDEtYmFzZWQgaW5kZXgpCgkJLy8gaGFuZGxlIG5vbi1hcnJheSB2YWx1ZXMgYXMgYW4gYXJyYXkgb2YgbGVuZ3RoIDEKCQkvLyByZXR1cm4gJ3VuZGVmaW5lZCcgaWYgaW5kZXggaXMgaW52YWxpZAoJCWlmKCBwcm9wZXJ0eV9leGlzdHMoJHZhbHVlcywndmFsdWUnKSAmJiBpc19hcnJheSgkdmFsdWVzLT52YWx1ZSkgKXsKCQkJaWYoIGlzc2V0KCR2YWx1ZXMtPnZhbHVlWyRpbmRleF0pICl7CgkJCQlyZXR1cm4gJHZhbHVlcy0+dmFsdWVbJGluZGV4XTsKCQkJfQoJCQlyZXR1cm4gbnVsbDsKCgkJfWVsc2VpZiggKGludCkkaW5kZXggPT09IDAgKXsKCQkJcmV0dXJuICR2YWx1ZXM7CgkJfQoKCQlyZXR1cm4gbnVsbDsKCX0KCglwdWJsaWMgZnVuY3Rpb24gbGVuZ3RoKCR2YWx1ZXMpewoJCSRuID0gKHByb3BlcnR5X2V4aXN0cygkdmFsdWVzLCd2YWx1ZScpICYmIGlzX2FycmF5KCR2YWx1ZXMtPnZhbHVlKSkgPyBjb3VudCgkdmFsdWVzLT52YWx1ZSkgOiAxOwoJCXJldHVybiBuZXcgTGVzc19UcmVlX0RpbWVuc2lvbigkbik7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGRhdGF1cmkoJG1pbWV0eXBlTm9kZSwgJGZpbGVQYXRoTm9kZSA9IG51bGwgKSB7CgoJCSRmaWxlUGF0aCA9ICggJGZpbGVQYXRoTm9kZSA/ICRmaWxlUGF0aE5vZGUtPnZhbHVlIDogbnVsbCApOwoJCSRtaW1ldHlwZSA9ICRtaW1ldHlwZU5vZGUtPnZhbHVlOwoKCQkkYXJncyA9IDI7CgkJaWYoICEkZmlsZVBhdGggKXsKCQkJJGZpbGVQYXRoID0gJG1pbWV0eXBlOwoJCQkkYXJncyA9IDE7CgkJfQoKCQkkZmlsZVBhdGggPSBzdHJfcmVwbGFjZSgnXFwnLCcvJywkZmlsZVBhdGgpOwoJCWlmKCBMZXNzX0Vudmlyb25tZW50Ojppc1BhdGhSZWxhdGl2ZSgkZmlsZVBhdGgpICl7CgoJCQlpZiggTGVzc19QYXJzZXI6OiRvcHRpb25zWydyZWxhdGl2ZVVybHMnXSApewoJCQkJJHRlbXAgPSAkdGhpcy0+Y3VycmVudEZpbGVJbmZvWydjdXJyZW50RGlyZWN0b3J5J107CgkJCX0gZWxzZSB7CgkJCQkkdGVtcCA9ICR0aGlzLT5jdXJyZW50RmlsZUluZm9bJ2VudHJ5UGF0aCddOwoJCQl9CgoJCQlpZiggIWVtcHR5KCR0ZW1wKSApewoJCQkJJGZpbGVQYXRoID0gTGVzc19FbnZpcm9ubWVudDo6bm9ybWFsaXplUGF0aChydHJpbSgkdGVtcCwnLycpLicvJy4kZmlsZVBhdGgpOwoJCQl9CgoJCX0KCgoJCS8vIGRldGVjdCB0aGUgbWltZXR5cGUgaWYgbm90IGdpdmVuCgkJaWYoICRhcmdzIDwgMiApewoKCQkJLyogaW5jb21wbGV0ZQoJCQkkbWltZSA9IHJlcXVpcmUoJ21pbWUnKTsKCQkJbWltZXR5cGUgPSBtaW1lLmxvb2t1cChwYXRoKTsKCgkJCS8vIHVzZSBiYXNlIDY0IHVubGVzcyBpdCdzIGFuIEFTQ0lJIG9yIFVURi04IGZvcm1hdAoJCQl2YXIgY2hhcnNldCA9IG1pbWUuY2hhcnNldHMubG9va3VwKG1pbWV0eXBlKTsKCQkJdXNlQmFzZTY0ID0gWydVUy1BU0NJSScsICdVVEYtOCddLmluZGV4T2YoY2hhcnNldCkgPCAwOwoJCQlpZiAodXNlQmFzZTY0KSBtaW1ldHlwZSArPSAnO2Jhc2U2NCc7CgkJCSovCgoJCQkkbWltZXR5cGUgPSBMZXNzX01pbWU6Omxvb2t1cCgkZmlsZVBhdGgpOwoKCQkJJGNoYXJzZXQgPSBMZXNzX01pbWU6OmNoYXJzZXRzX2xvb2t1cCgkbWltZXR5cGUpOwoJCQkkdXNlQmFzZTY0ID0gIWluX2FycmF5KCRjaGFyc2V0LGFycmF5KCdVUy1BU0NJSScsICdVVEYtOCcpKTsKCQkJaWYoICR1c2VCYXNlNjQgKXsgJG1pbWV0eXBlIC49ICc7YmFzZTY0JzsgfQoKCQl9ZWxzZXsKCQkJJHVzZUJhc2U2NCA9IHByZWdfbWF0Y2goJy87YmFzZTY0JC8nLCRtaW1ldHlwZSk7CgkJfQoKCgkJaWYoIGZpbGVfZXhpc3RzKCRmaWxlUGF0aCkgKXsKCQkJJGJ1ZiA9IEBmaWxlX2dldF9jb250ZW50cygkZmlsZVBhdGgpOwoJCX1lbHNlewoJCQkkYnVmID0gZmFsc2U7CgkJfQoKCgkJLy8gSUU4IGNhbm5vdCBoYW5kbGUgYSBkYXRhLXVyaSBsYXJnZXIgdGhhbiAzMktCLiBJZiB0aGlzIGlzIGV4Y2VlZGVkCgkJLy8gYW5kIHRoZSAtLWllQ29tcGF0IGZsYWcgaXMgZW5hYmxlZCwgcmV0dXJuIGEgbm9ybWFsIHVybCgpIGluc3RlYWQuCgkJJERBVEFfVVJJX01BWF9LQiA9IDMyOwoJCSRmaWxlU2l6ZUluS0IgPSByb3VuZCggc3RybGVuKCRidWYpIC8gMTAyNCApOwoJCWlmKCAkZmlsZVNpemVJbktCID49ICREQVRBX1VSSV9NQVhfS0IgKXsKCQkJJHVybCA9IG5ldyBMZXNzX1RyZWVfVXJsKCAoJGZpbGVQYXRoTm9kZSA/ICRmaWxlUGF0aE5vZGUgOiAkbWltZXR5cGVOb2RlKSwgJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyk7CgkJCXJldHVybiAkdXJsLT5jb21waWxlKCR0aGlzKTsKCQl9CgoJCWlmKCAkYnVmICl7CgkJCSRidWYgPSAkdXNlQmFzZTY0ID8gYmFzZTY0X2VuY29kZSgkYnVmKSA6IHJhd3VybGVuY29kZSgkYnVmKTsKCQkJJGZpbGVQYXRoID0gJyJkYXRhOicgLiAkbWltZXR5cGUgLiAnLCcgLiAkYnVmIC4gJyInOwoJCX0KCgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfVXJsKCBuZXcgTGVzc19UcmVlX0Fub255bW91cygkZmlsZVBhdGgpICk7Cgl9CgoJLy9zdmctZ3JhZGllbnQKCXB1YmxpYyBmdW5jdGlvbiBzdmdncmFkaWVudCggJGRpcmVjdGlvbiApewoKCQkkdGhyb3dfbWVzc2FnZSA9ICdzdmctZ3JhZGllbnQgZXhwZWN0cyBkaXJlY3Rpb24sIHN0YXJ0X2NvbG9yIFtzdGFydF9wb3NpdGlvbl0sIFtjb2xvciBwb3NpdGlvbixdLi4uLCBlbmRfY29sb3IgW2VuZF9wb3NpdGlvbl0nOwoJCSRhcmd1bWVudHMgPSBmdW5jX2dldF9hcmdzKCk7CgoJCWlmKCBjb3VudCgkYXJndW1lbnRzKSA8IDMgKXsKCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCAkdGhyb3dfbWVzc2FnZSApOwoJCX0KCgkJJHN0b3BzID0gYXJyYXlfc2xpY2UoJGFyZ3VtZW50cywxKTsKCQkkZ3JhZGllbnRUeXBlID0gJ2xpbmVhcic7CgkJJHJlY3RhbmdsZURpbWVuc2lvbiA9ICd4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIic7CgkJJHVzZUJhc2U2NCA9IHRydWU7CgkJJGRpcmVjdGlvblZhbHVlID0gJGRpcmVjdGlvbi0+dG9DU1MoKTsKCgoJCXN3aXRjaCggJGRpcmVjdGlvblZhbHVlICl7CgkJCWNhc2UgInRvIGJvdHRvbSI6CgkJCQkkZ3JhZGllbnREaXJlY3Rpb25TdmcgPSAneDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiJzsKCQkJCWJyZWFrOwoJCQljYXNlICJ0byByaWdodCI6CgkJCQkkZ3JhZGllbnREaXJlY3Rpb25TdmcgPSAneDE9IjAlIiB5MT0iMCUiIHgyPSIxMDAlIiB5Mj0iMCUiJzsKCQkJCWJyZWFrOwoJCQljYXNlICJ0byBib3R0b20gcmlnaHQiOgoJCQkJJGdyYWRpZW50RGlyZWN0aW9uU3ZnID0gJ3gxPSIwJSIgeTE9IjAlIiB4Mj0iMTAwJSIgeTI9IjEwMCUiJzsKCQkJCWJyZWFrOwoJCQljYXNlICJ0byB0b3AgcmlnaHQiOgoJCQkJJGdyYWRpZW50RGlyZWN0aW9uU3ZnID0gJ3gxPSIwJSIgeTE9IjEwMCUiIHgyPSIxMDAlIiB5Mj0iMCUiJzsKCQkJCWJyZWFrOwoJCQljYXNlICJlbGxpcHNlIjoKCQkJY2FzZSAiZWxsaXBzZSBhdCBjZW50ZXIiOgoJCQkJJGdyYWRpZW50VHlwZSA9ICJyYWRpYWwiOwoJCQkJJGdyYWRpZW50RGlyZWN0aW9uU3ZnID0gJ2N4PSI1MCUiIGN5PSI1MCUiIHI9Ijc1JSInOwoJCQkJJHJlY3RhbmdsZURpbWVuc2lvbiA9ICd4PSItNTAiIHk9Ii01MCIgd2lkdGg9IjEwMSIgaGVpZ2h0PSIxMDEiJzsKCQkJCWJyZWFrOwoJCQlkZWZhdWx0OgoJCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCAic3ZnLWdyYWRpZW50IGRpcmVjdGlvbiBtdXN0IGJlICd0byBib3R0b20nLCAndG8gcmlnaHQnLCAndG8gYm90dG9tIHJpZ2h0JywgJ3RvIHRvcCByaWdodCcgb3IgJ2VsbGlwc2UgYXQgY2VudGVyJyIgKTsKCQl9CgoJCSRyZXR1cm5lciA9ICc8P3htbCB2ZXJzaW9uPSIxLjAiID8+JyAuCgkJCSc8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4xIiB3aWR0aD0iMTAwJSIgaGVpZ2h0PSIxMDAlIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIj4nIC4KCQkJJzwnIC4gJGdyYWRpZW50VHlwZSAuICdHcmFkaWVudCBpZD0iZ3JhZGllbnQiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAnIC4gJGdyYWRpZW50RGlyZWN0aW9uU3ZnIC4gJz4nOwoKCQlmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkc3RvcHMpOyAkaSsrICl7CgkJCWlmKCBpc19vYmplY3QoJHN0b3BzWyRpXSkgJiYgcHJvcGVydHlfZXhpc3RzKCRzdG9wc1skaV0sJ3ZhbHVlJykgKXsKCQkJCSRjb2xvciA9ICRzdG9wc1skaV0tPnZhbHVlWzBdOwoJCQkJJHBvc2l0aW9uID0gJHN0b3BzWyRpXS0+dmFsdWVbMV07CgkJCX1lbHNlewoJCQkJJGNvbG9yID0gJHN0b3BzWyRpXTsKCQkJCSRwb3NpdGlvbiA9IG51bGw7CgkJCX0KCgkJCWlmKCAhKCRjb2xvciBpbnN0YW5jZW9mIExlc3NfVHJlZV9Db2xvcikgfHwgKCEoKCRpID09PSAwIHx8ICRpKzEgPT09IGNvdW50KCRzdG9wcykpICYmICRwb3NpdGlvbiA9PT0gbnVsbCkgJiYgISgkcG9zaXRpb24gaW5zdGFuY2VvZiBMZXNzX1RyZWVfRGltZW5zaW9uKSkgKXsKCQkJCXRocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9Db21waWxlciggJHRocm93X21lc3NhZ2UgKTsKCQkJfQoJCQlpZiggJHBvc2l0aW9uICl7CgkJCQkkcG9zaXRpb25WYWx1ZSA9ICRwb3NpdGlvbi0+dG9DU1MoKTsKCQkJfWVsc2VpZiggJGkgPT09IDAgKXsKCQkJCSRwb3NpdGlvblZhbHVlID0gJzAlJzsKCQkJfWVsc2V7CgkJCQkkcG9zaXRpb25WYWx1ZSA9ICcxMDAlJzsKCQkJfQoJCQkkYWxwaGEgPSAkY29sb3ItPmFscGhhOwoJCQkkcmV0dXJuZXIgLj0gJzxzdG9wIG9mZnNldD0iJyAuICRwb3NpdGlvblZhbHVlIC4gJyIgc3RvcC1jb2xvcj0iJyAuICRjb2xvci0+dG9SR0IoKSAuICciJyAuICgkYWxwaGEgPCAxID8gJyBzdG9wLW9wYWNpdHk9IicgLiAkYWxwaGEgLiAnIicgOiAnJykgLiAnLz4nOwoJCX0KCgkJJHJldHVybmVyIC49ICc8LycgLiAkZ3JhZGllbnRUeXBlIC4gJ0dyYWRpZW50PjxyZWN0ICcgLiAkcmVjdGFuZ2xlRGltZW5zaW9uIC4gJyBmaWxsPSJ1cmwoI2dyYWRpZW50KSIgLz48L3N2Zz4nOwoKCgkJaWYoICR1c2VCYXNlNjQgKXsKCQkJJHJldHVybmVyID0gIidkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LCIuYmFzZTY0X2VuY29kZSgkcmV0dXJuZXIpLiInIjsKCQl9ZWxzZXsKCQkJJHJldHVybmVyID0gIidkYXRhOmltYWdlL3N2Zyt4bWwsIi4kcmV0dXJuZXIuIiciOwoJCX0KCgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfVVJMKCBuZXcgTGVzc19UcmVlX0Fub255bW91cyggJHJldHVybmVyICkgKTsKCX0KCgoJLyoqCgkgKiBAcGFyYW0gc3RyaW5nICR0eXBlCgkgKi8KCXByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIEV4cGVjdGVkKCAkdHlwZSwgJGFyZyApewoKCQkkZGVidWcgPSBkZWJ1Z19iYWNrdHJhY2UoKTsKCQlhcnJheV9zaGlmdCgkZGVidWcpOwoJCSRsYXN0ID0gYXJyYXlfc2hpZnQoJGRlYnVnKTsKCQkkbGFzdCA9IGFycmF5X2ludGVyc2VjdF9rZXkoJGxhc3QsYXJyYXkoJ2Z1bmN0aW9uJz0+JycsJ2NsYXNzJz0+JycsJ2xpbmUnPT4nJykpOwoKCQkkbWVzc2FnZSA9ICdPYmplY3Qgb2YgdHlwZSAnLmdldF9jbGFzcygkYXJnKS4nIHBhc3NlZCB0byBkYXJrZW4gZnVuY3Rpb24uIEV4cGVjdGluZyBgJy4kdHlwZS4nYC4gJy4kYXJnLT50b0NTUygpLicuICcucHJpbnRfcigkbGFzdCx0cnVlKTsKCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIoJG1lc3NhZ2UpOwoKCX0KCgkvKioKCSAqIFBocCB2ZXJzaW9uIG9mIGphdmFzY3JpcHQncyBgZW5jb2RlVVJJQ29tcG9uZW50YCBmdW5jdGlvbgoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJHN0cmluZyBUaGUgc3RyaW5nIHRvIGVuY29kZQoJICogQHJldHVybiBzdHJpbmcgVGhlIGVuY29kZWQgc3RyaW5nCgkgKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZW5jb2RlVVJJQ29tcG9uZW50KCRzdHJpbmcpewoJCSRyZXZlcnQgPSBhcnJheSgnJTIxJyA9PiAnIScsICclMkEnID0+ICcqJywgJyUyNycgPT4gIiciLCAnJTI4JyA9PiAnKCcsICclMjknID0+ICcpJyk7CgkJcmV0dXJuIHN0cnRyKHJhd3VybGVuY29kZSgkc3RyaW5nKSwgJHJldmVydCk7Cgl9CgoKCS8vIENvbG9yIEJsZW5kaW5nCgkvLyByZWY6IGh0dHA6Ly93d3cudzMub3JnL1RSL2NvbXBvc2l0aW5nLTEKCglwdWJsaWMgZnVuY3Rpb24gY29sb3JCbGVuZCggJG1vZGUsICRjb2xvcjEsICRjb2xvcjIgKXsKCQkkYWIgPSAkY29sb3IxLT5hbHBoYTsJLy8gYmFja2Ryb3AKCQkkYXMgPSAkY29sb3IyLT5hbHBoYTsJLy8gc291cmNlCgkJJHIgPSBhcnJheSgpOwkJCS8vIHJlc3VsdAoKCQkkYXIgPSAkYXMgKyAkYWIgKiAoMSAtICRhcyk7CgkJZm9yKCAkaSA9IDA7ICRpIDwgMzsgJGkrKyApewoJCQkkY2IgPSAkY29sb3IxLT5yZ2JbJGldIC8gMjU1OwoJCQkkY3MgPSAkY29sb3IyLT5yZ2JbJGldIC8gMjU1OwoJCQkkY3IgPSBjYWxsX3VzZXJfZnVuYyggJG1vZGUsICRjYiwgJGNzICk7CgkJCWlmKCAkYXIgKXsKCQkJCSRjciA9ICgkYXMgKiAkY3MgKyAkYWIgKiAoJGNiIC0gJGFzICogKCRjYiArICRjcyAtICRjcikpKSAvICRhcjsKCQkJfQoJCQkkclskaV0gPSAkY3IgKiAyNTU7CgkJfQoKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9Db2xvcigkciwgJGFyKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gbXVsdGlwbHkoJGNvbG9yMSwgJGNvbG9yMiApewoJCXJldHVybiAkdGhpcy0+Y29sb3JCbGVuZCggYXJyYXkoJHRoaXMsJ2NvbG9yQmxlbmRNdWx0aXBseScpLCAgJGNvbG9yMSwgJGNvbG9yMiApOwoJfQoKCXByaXZhdGUgZnVuY3Rpb24gY29sb3JCbGVuZE11bHRpcGx5KCRjYiwgJGNzKXsKCQlyZXR1cm4gJGNiICogJGNzOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBzY3JlZW4oJGNvbG9yMSwgJGNvbG9yMiApewoJCXJldHVybiAkdGhpcy0+Y29sb3JCbGVuZCggYXJyYXkoJHRoaXMsJ2NvbG9yQmxlbmRTY3JlZW4nKSwgICRjb2xvcjEsICRjb2xvcjIgKTsKCX0KCglwcml2YXRlIGZ1bmN0aW9uIGNvbG9yQmxlbmRTY3JlZW4oICRjYiwgJGNzKXsKCQlyZXR1cm4gJGNiICsgJGNzIC0gJGNiICogJGNzOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBvdmVybGF5KCRjb2xvcjEsICRjb2xvcjIpewoJCXJldHVybiAkdGhpcy0+Y29sb3JCbGVuZCggYXJyYXkoJHRoaXMsJ2NvbG9yQmxlbmRPdmVybGF5JyksICAkY29sb3IxLCAkY29sb3IyICk7Cgl9CgoJcHJpdmF0ZSBmdW5jdGlvbiBjb2xvckJsZW5kT3ZlcmxheSgkY2IsICRjcyApewoJCSRjYiAqPSAyOwoJCXJldHVybiAoJGNiIDw9IDEpCgkJCT8gJHRoaXMtPmNvbG9yQmxlbmRNdWx0aXBseSgkY2IsICRjcykKCQkJOiAkdGhpcy0+Y29sb3JCbGVuZFNjcmVlbigkY2IgLSAxLCAkY3MpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBzb2Z0bGlnaHQoJGNvbG9yMSwgJGNvbG9yMil7CgkJcmV0dXJuICR0aGlzLT5jb2xvckJsZW5kKCBhcnJheSgkdGhpcywnY29sb3JCbGVuZFNvZnRsaWdodCcpLCAgJGNvbG9yMSwgJGNvbG9yMiApOwoJfQoKCXByaXZhdGUgZnVuY3Rpb24gY29sb3JCbGVuZFNvZnRsaWdodCgkY2IsICRjcyApewoJCSRkID0gMTsKCQkkZSA9ICRjYjsKCQlpZiggJGNzID4gMC41ICl7CgkJCSRlID0gMTsKCQkJJGQgPSAoJGNiID4gMC4yNSkgPyBzcXJ0KCRjYikKCQkJCTogKCgxNiAqICRjYiAtIDEyKSAqICRjYiArIDQpICogJGNiOwoJCX0KCQlyZXR1cm4gJGNiIC0gKDEgLSAyICogJGNzKSAqICRlICogKCRkIC0gJGNiKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gaGFyZGxpZ2h0KCRjb2xvcjEsICRjb2xvcjIpewoJCXJldHVybiAkdGhpcy0+Y29sb3JCbGVuZCggYXJyYXkoJHRoaXMsJ2NvbG9yQmxlbmRIYXJkbGlnaHQnKSwgICRjb2xvcjEsICRjb2xvcjIgKTsKCX0KCglwcml2YXRlIGZ1bmN0aW9uIGNvbG9yQmxlbmRIYXJkbGlnaHQoICRjYiwgJGNzICl7CgkJcmV0dXJuICR0aGlzLT5jb2xvckJsZW5kT3ZlcmxheSgkY3MsICRjYik7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGRpZmZlcmVuY2UoJGNvbG9yMSwgJGNvbG9yMikgewoJCXJldHVybiAkdGhpcy0+Y29sb3JCbGVuZCggYXJyYXkoJHRoaXMsJ2NvbG9yQmxlbmREaWZmZXJlbmNlJyksICAkY29sb3IxLCAkY29sb3IyICk7Cgl9CgoJcHJpdmF0ZSBmdW5jdGlvbiBjb2xvckJsZW5kRGlmZmVyZW5jZSggJGNiLCAkY3MgKXsKCQlyZXR1cm4gYWJzKCRjYiAtICRjcyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGV4Y2x1c2lvbiggJGNvbG9yMSwgJGNvbG9yMiApewoJCXJldHVybiAkdGhpcy0+Y29sb3JCbGVuZCggYXJyYXkoJHRoaXMsJ2NvbG9yQmxlbmRFeGNsdXNpb24nKSwgICRjb2xvcjEsICRjb2xvcjIgKTsKCX0KCglwcml2YXRlIGZ1bmN0aW9uIGNvbG9yQmxlbmRFeGNsdXNpb24oICRjYiwgJGNzICl7CgkJcmV0dXJuICRjYiArICRjcyAtIDIgKiAkY2IgKiAkY3M7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGF2ZXJhZ2UoJGNvbG9yMSwgJGNvbG9yMil7CgkJcmV0dXJuICR0aGlzLT5jb2xvckJsZW5kKCBhcnJheSgkdGhpcywnY29sb3JCbGVuZEF2ZXJhZ2UnKSwgICRjb2xvcjEsICRjb2xvcjIgKTsKCX0KCgkvLyBub24tdzNjIGZ1bmN0aW9uczoKCXB1YmxpYyBmdW5jdGlvbiBjb2xvckJsZW5kQXZlcmFnZSgkY2IsICRjcyApewoJCXJldHVybiAoJGNiICsgJGNzKSAvIDI7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIG5lZ2F0aW9uKCRjb2xvcjEsICRjb2xvcjIgKXsKCQlyZXR1cm4gJHRoaXMtPmNvbG9yQmxlbmQoIGFycmF5KCR0aGlzLCdjb2xvckJsZW5kTmVnYXRpb24nKSwgICRjb2xvcjEsICRjb2xvcjIgKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gY29sb3JCbGVuZE5lZ2F0aW9uKCRjYiwgJGNzKXsKCQlyZXR1cm4gMSAtIGFicygkY2IgKyAkY3MgLSAxKTsKCX0KCgkvLyB+IEVuZCBvZiBDb2xvciBCbGVuZGluZwoKfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Less.php.combine</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Ci4vUGFyc2VyLnBocAouL0NvbG9ycy5waHAKLi9FbnZpcm9ubWVudC5waHAKLi9GdW5jdGlvbnMucGhwCi4vTWltZS5waHAKLi9UcmVlLnBocAouL091dHB1dC5waHAKLi9WaXNpdG9yLnBocAouL1Zpc2l0b3JSZXBsYWNpbmcucGhwCi4vQ29uZmlndXJhYmxlLnBocAouL1RyZWUKLi9WaXNpdG9yCi4vRXhjZXB0aW9uL1BhcnNlci5waHAKLi9FeGNlcHRpb24vCi4vT3V0cHV0Ci4vU291cmNlTWFwCg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Mime.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBNaW1lIGxvb2t1cAogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIG5vZGUKICovCmNsYXNzIExlc3NfTWltZXsKCgkvLyB0aGlzIG1hcCBpcyBpbnRlbnRpb25hbGx5IGluY29tcGxldGUKCS8vIGlmIHlvdSB3YW50IG1vcmUsIGluc3RhbGwgJ21pbWUnIGRlcAoJc3RhdGljICRfdHlwZXMgPSBhcnJheSgKCSAgICAgICAgJy5odG0nID0+ICd0ZXh0L2h0bWwnLAoJICAgICAgICAnLmh0bWwnPT4gJ3RleHQvaHRtbCcsCgkgICAgICAgICcuZ2lmJyA9PiAnaW1hZ2UvZ2lmJywKCSAgICAgICAgJy5qcGcnID0+ICdpbWFnZS9qcGVnJywKCSAgICAgICAgJy5qcGVnJz0+ICdpbWFnZS9qcGVnJywKCSAgICAgICAgJy5wbmcnID0+ICdpbWFnZS9wbmcnLAoJICAgICAgICAnLnR0ZicgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC10dGYnLAoJICAgICAgICAnLm90ZicgPT4gJ2FwcGxpY2F0aW9uL3gtZm9udC1vdGYnLAoJICAgICAgICAnLmVvdCcgPT4gJ2FwcGxpY2F0aW9uL3ZuZC5tcy1mb250b2JqZWN0JywKCSAgICAgICAgJy53b2ZmJyA9PiAnYXBwbGljYXRpb24veC1mb250LXdvZmYnLAoJICAgICAgICAnLnN2ZycgPT4gJ2ltYWdlL3N2Zyt4bWwnLAoJICAgICAgICApOwoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9va3VwKCAkZmlsZXBhdGggKXsKCQkkcGFydHMgPSBleHBsb2RlKCcuJywkZmlsZXBhdGgpOwoJCSRleHQgPSAnLicuc3RydG9sb3dlcihhcnJheV9wb3AoJHBhcnRzKSk7CgoJCWlmKCAhaXNzZXQoc2VsZjo6JF90eXBlc1skZXh0XSkgKXsKCQkJcmV0dXJuIG51bGw7CgkJfQoJCXJldHVybiBzZWxmOjokX3R5cGVzWyRleHRdOwoJfQoKCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2hhcnNldHNfbG9va3VwKCAkdHlwZSA9IG51bGwgKXsKCQkvLyBhc3N1bWVzIGFsbCB0ZXh0IHR5cGVzIGFyZSBVVEYtOAoJCXJldHVybiAkdHlwZSAmJiBwcmVnX21hdGNoKCcvXnRleHRcLy8nLCR0eXBlKSA/ICdVVEYtOCcgOiAnJzsKCX0KfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Output.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBQYXJzZXIgb3V0cHV0CiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2Ugb3V0cHV0CiAqLwpjbGFzcyBMZXNzX091dHB1dHsKCgkvKioKCSAqIE91dHB1dCBob2xkZXIKCSAqCgkgKiBAdmFyIHN0cmluZwoJICovCglwcm90ZWN0ZWQgJHN0cnMgPSBhcnJheSgpOwoKCS8qKgoJICogQWRkcyBhIGNodW5rIHRvIHRoZSBzdGFjawoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJGNodW5rIFRoZSBjaHVuayB0byBvdXRwdXQKCSAqIEBwYXJhbSBMZXNzX0ZpbGVJbmZvICRmaWxlSW5mbyBUaGUgZmlsZSBpbmZvcm1hdGlvbgoJICogQHBhcmFtIGludGVnZXIgJGluZGV4IFRoZSBpbmRleAoJICogQHBhcmFtIG1peGVkICRtYXBMaW5lcwoJICovCglwdWJsaWMgZnVuY3Rpb24gYWRkKCRjaHVuaywgJGZpbGVJbmZvID0gbnVsbCwgJGluZGV4ID0gMCwgJG1hcExpbmVzID0gbnVsbCl7CgkJJHRoaXMtPnN0cnNbXSA9ICRjaHVuazsKCX0KCgkvKioKCSAqIElzIHRoZSBvdXRwdXQgZW1wdHk/CgkgKgoJICogQHJldHVybiBib29sZWFuCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBpc0VtcHR5KCl7CgkJcmV0dXJuIGNvdW50KCR0aGlzLT5zdHJzKSA9PT0gMDsKCX0KCgoJLyoqCgkgKiBDb252ZXJ0cyB0aGUgb3V0cHV0IHRvIHN0cmluZwoJICoKCSAqIEByZXR1cm4gc3RyaW5nCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiB0b1N0cmluZygpewoJCXJldHVybiBpbXBsb2RlKCcnLCR0aGlzLT5zdHJzKTsKCX0KCn0=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Output/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Output/Mapped.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiBQYXJzZXIgb3V0cHV0IHdpdGggc291cmNlIG1hcA0KICoNCiAqIEBwYWNrYWdlIExlc3MNCiAqIEBzdWJwYWNrYWdlIE91dHB1dA0KICovDQpjbGFzcyBMZXNzX091dHB1dF9NYXBwZWQgZXh0ZW5kcyBMZXNzX091dHB1dCB7DQoNCgkvKioNCgkgKiBUaGUgc291cmNlIG1hcCBnZW5lcmF0b3INCgkgKg0KCSAqIEB2YXIgTGVzc19Tb3VyY2VNYXBfR2VuZXJhdG9yDQoJICovDQoJcHJvdGVjdGVkICRnZW5lcmF0b3I7DQoNCgkvKioNCgkgKiBDdXJyZW50IGxpbmUNCgkgKg0KCSAqIEB2YXIgaW50ZWdlcg0KCSAqLw0KCXByb3RlY3RlZCAkbGluZU51bWJlciA9IDA7DQoNCgkvKioNCgkgKiBDdXJyZW50IGNvbHVtbg0KCSAqDQoJICogQHZhciBpbnRlZ2VyDQoJICovDQoJcHJvdGVjdGVkICRjb2x1bW4gPSAwOw0KDQoJLyoqDQoJICogQXJyYXkgb2YgY29udGVudHMgbWFwIChmaWxlIGFuZCBpdHMgY29udGVudCkNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8NCglwcm90ZWN0ZWQgJGNvbnRlbnRzTWFwID0gYXJyYXkoKTsNCg0KCS8qKg0KCSAqIENvbnN0cnVjdG9yDQoJICoNCgkgKiBAcGFyYW0gYXJyYXkgJGNvbnRlbnRzTWFwIEFycmF5IG9mIGZpbGVuYW1lIHRvIGNvbnRlbnRzIG1hcA0KCSAqIEBwYXJhbSBMZXNzX1NvdXJjZU1hcF9HZW5lcmF0b3IgJGdlbmVyYXRvcg0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChhcnJheSAkY29udGVudHNNYXAsICRnZW5lcmF0b3Ipew0KCQkkdGhpcy0+Y29udGVudHNNYXAgPSAkY29udGVudHNNYXA7DQoJCSR0aGlzLT5nZW5lcmF0b3IgPSAkZ2VuZXJhdG9yOw0KCX0NCg0KCS8qKg0KCSAqIEFkZHMgYSBjaHVuayB0byB0aGUgc3RhY2sNCgkgKiBUaGUgJGluZGV4IGZvciBsZXNzLnBocCBtYXkgYmUgZGlmZmVyZW50IGZyb20gbGVzcy5qcyBzaW5jZSBsZXNzLnBocCBkb2VzIG5vdCBjaHVua2lmeSBpbnB1dHMNCgkgKg0KCSAqIEBwYXJhbSBzdHJpbmcgJGNodW5rDQoJICogQHBhcmFtIHN0cmluZyAkZmlsZUluZm8NCgkgKiBAcGFyYW0gaW50ZWdlciAkaW5kZXgNCgkgKiBAcGFyYW0gbWl4ZWQgJG1hcExpbmVzDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGFkZCgkY2h1bmssICRmaWxlSW5mbyA9IG51bGwsICRpbmRleCA9IDAsICRtYXBMaW5lcyA9IG51bGwpew0KDQoJCS8vaWdub3JlIGFkZGluZyBlbXB0eSBzdHJpbmdzDQoJCWlmKCAkY2h1bmsgPT09ICcnICl7DQoJCQlyZXR1cm47DQoJCX0NCg0KDQoJCSRzb3VyY2VMaW5lcyA9IGFycmF5KCk7DQoJCSRzb3VyY2VDb2x1bW5zID0gJyAnOw0KDQoNCgkJaWYoICRmaWxlSW5mbyApew0KDQoJCQkkdXJsID0gJGZpbGVJbmZvWydjdXJyZW50VXJpJ107DQoNCgkJCWlmKCBpc3NldCgkdGhpcy0+Y29udGVudHNNYXBbJHVybF0pICl7DQoJCQkJJGlucHV0U291cmNlID0gc3Vic3RyKCR0aGlzLT5jb250ZW50c01hcFskdXJsXSwgMCwgJGluZGV4KTsNCgkJCQkkc291cmNlTGluZXMgPSBleHBsb2RlKCJcbiIsICRpbnB1dFNvdXJjZSk7DQoJCQkJJHNvdXJjZUNvbHVtbnMgPSBlbmQoJHNvdXJjZUxpbmVzKTsNCgkJCX1lbHNlew0KCQkJCXRocm93IG5ldyBFeGNlcHRpb24oJ0ZpbGVuYW1lICcuJHVybC4nIG5vdCBpbiBjb250ZW50c01hcCcpOw0KCQkJfQ0KDQoJCX0NCg0KCQkkbGluZXMgPSBleHBsb2RlKCJcbiIsICRjaHVuayk7DQoJCSRjb2x1bW5zID0gZW5kKCRsaW5lcyk7DQoNCgkJaWYoJGZpbGVJbmZvKXsNCg0KCQkJaWYoISRtYXBMaW5lcyl7DQoJCQkJJHRoaXMtPmdlbmVyYXRvci0+YWRkTWFwcGluZygNCgkJCQkJCSR0aGlzLT5saW5lTnVtYmVyICsgMSwJCQkJCS8vIGdlbmVyYXRlZF9saW5lDQoJCQkJCQkkdGhpcy0+Y29sdW1uLAkJCQkJCQkvLyBnZW5lcmF0ZWRfY29sdW1uDQoJCQkJCQljb3VudCgkc291cmNlTGluZXMpLAkJCQkJLy8gb3JpZ2luYWxfbGluZQ0KCQkJCQkJc3RybGVuKCRzb3VyY2VDb2x1bW5zKSwJCQkJCS8vIG9yaWdpbmFsX2NvbHVtbg0KCQkJCQkJJGZpbGVJbmZvDQoJCQkJKTsNCgkJCX1lbHNlew0KCQkJCWZvcigkaSA9IDAsICRjb3VudCA9IGNvdW50KCRsaW5lcyk7ICRpIDwgJGNvdW50OyAkaSsrKXsNCgkJCQkJJHRoaXMtPmdlbmVyYXRvci0+YWRkTWFwcGluZygNCgkJCQkJCSR0aGlzLT5saW5lTnVtYmVyICsgJGkgKyAxLAkJCQkvLyBnZW5lcmF0ZWRfbGluZQ0KCQkJCQkJJGkgPT09IDAgPyAkdGhpcy0+Y29sdW1uIDogMCwJCQkvLyBnZW5lcmF0ZWRfY29sdW1uDQoJCQkJCQljb3VudCgkc291cmNlTGluZXMpICsgJGksCQkJCS8vIG9yaWdpbmFsX2xpbmUNCgkJCQkJCSRpID09PSAwID8gc3RybGVuKCRzb3VyY2VDb2x1bW5zKSA6IDAsIAkvLyBvcmlnaW5hbF9jb2x1bW4NCgkJCQkJCSRmaWxlSW5mbw0KCQkJCQkpOw0KCQkJCX0NCgkJCX0NCgkJfQ0KDQoJCWlmKGNvdW50KCRsaW5lcykgPT09IDEpew0KCQkJJHRoaXMtPmNvbHVtbiArPSBzdHJsZW4oJGNvbHVtbnMpOw0KCQl9ZWxzZXsNCgkJCSR0aGlzLT5saW5lTnVtYmVyICs9IGNvdW50KCRsaW5lcykgLSAxOw0KCQkJJHRoaXMtPmNvbHVtbiA9IHN0cmxlbigkY29sdW1ucyk7DQoJCX0NCg0KCQkvLyBhZGQgb25seSBjaHVuaw0KCQlwYXJlbnQ6OmFkZCgkY2h1bmspOw0KCX0NCg0KfQ==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Parser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCnJlcXVpcmVfb25jZSggZGlybmFtZShfX0ZJTEVfXykuJy9DYWNoZS5waHAnKTsKCi8qKgogKiBDbGFzcyBmb3IgcGFyc2luZyBhbmQgY29tcGlsaW5nIGxlc3MgZmlsZXMgaW50byBjc3MKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSBwYXJzZXIKICoKICovCmNsYXNzIExlc3NfUGFyc2VyewoKCgkvKioKCSAqIERlZmF1bHQgcGFyc2VyIG9wdGlvbnMKCSAqLwoJcHVibGljIHN0YXRpYyAkZGVmYXVsdF9vcHRpb25zID0gYXJyYXkoCgkJJ2NvbXByZXNzJwkJCQk9PiBmYWxzZSwJCQkvLyBvcHRpb24gLSB3aGV0aGVyIHRvIGNvbXByZXNzCgkJJ3N0cmljdFVuaXRzJwkJCT0+IGZhbHNlLAkJCS8vIHdoZXRoZXIgdW5pdHMgbmVlZCB0byBldmFsdWF0ZSBjb3JyZWN0bHkKCQknc3RyaWN0TWF0aCcJCQk9PiBmYWxzZSwJCQkvLyB3aGV0aGVyIG1hdGggaGFzIHRvIGJlIHdpdGhpbiBwYXJlbnRoZXNpcwoJCSdyZWxhdGl2ZVVybHMnCQkJPT4gdHJ1ZSwJCQkvLyBvcHRpb24gLSB3aGV0aGVyIHRvIGFkanVzdCBVUkwncyB0byBiZSByZWxhdGl2ZQoJCSd1cmxBcmdzJwkJCQk9PiBhcnJheSgpLAkJCS8vIHdoZXRoZXIgdG8gYWRkIGFyZ3MgaW50byB1cmwgdG9rZW5zCgkJJ251bVByZWNpc2lvbicJCQk9PiA4LAoKCQknaW1wb3J0X2RpcnMnCQkJPT4gYXJyYXkoKSwKCQknaW1wb3J0X2NhbGxiYWNrJwkJPT4gbnVsbCwKCQknY2FjaGVfZGlyJwkJCQk9PiBudWxsLAoJCSdjYWNoZV9tZXRob2QnCQkJPT4gJ3BocCcsIAkJCS8vIGZhbHNlLCAnc2VyaWFsaXplJywgJ3BocCcsICd2YXJfZXhwb3J0JywgJ2NhbGxiYWNrJzsKCQknY2FjaGVfY2FsbGJhY2tfZ2V0Jwk9PiBudWxsLAoJCSdjYWNoZV9jYWxsYmFja19zZXQnCT0+IG51bGwsCgoJCSdzb3VyY2VNYXAnCQkJCT0+IGZhbHNlLAkJCS8vIHdoZXRoZXIgdG8gb3V0cHV0IGEgc291cmNlIG1hcAoJCSdzb3VyY2VNYXBCYXNlcGF0aCcJCT0+IG51bGwsCgkJJ3NvdXJjZU1hcFdyaXRlVG8nCQk9PiBudWxsLAoJCSdzb3VyY2VNYXBVUkwnCQkJPT4gbnVsbCwKCgkJJ3BsdWdpbnMnCQkJCT0+IGFycmF5KCksCgoJKTsKCglwdWJsaWMgc3RhdGljICRvcHRpb25zID0gYXJyYXkoKTsKCgoJcHJpdmF0ZSAkaW5wdXQ7CQkJCQkvLyBMZXNzIGlucHV0IHN0cmluZwoJcHJpdmF0ZSAkaW5wdXRfbGVuOwkJCQkvLyBpbnB1dCBzdHJpbmcgbGVuZ3RoCglwcml2YXRlICRwb3M7CQkJCQkvLyBjdXJyZW50IGluZGV4IGluIGBpbnB1dGAKCXByaXZhdGUgJHNhdmVTdGFjayA9IGFycmF5KCk7CS8vIGhvbGRzIHN0YXRlIGZvciBiYWNrdHJhY2tpbmcKCXByaXZhdGUgJGZ1cnRoZXN0OwoKCS8qKgoJICogQHZhciBMZXNzX0Vudmlyb25tZW50CgkgKi8KCXByaXZhdGUgJGVudjsKCglwcml2YXRlICRydWxlcyA9IGFycmF5KCk7CgoJcHJpdmF0ZSBzdGF0aWMgJGltcG9ydHMgPSBhcnJheSgpOwoKCXB1YmxpYyBzdGF0aWMgJGhhc19leHRlbmRzID0gZmFsc2U7CgoJcHVibGljIHN0YXRpYyAkbmV4dF9pZCA9IDA7CgoJLyoqCgkgKiBGaWxlbmFtZSB0byBjb250ZW50cyBvZiBhbGwgcGFyc2VkIHRoZSBmaWxlcwoJICoKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHVibGljIHN0YXRpYyAkY29udGVudHNNYXAgPSBhcnJheSgpOwoKCgkvKioKCSAqIEBwYXJhbSBMZXNzX0Vudmlyb25tZW50fGFycmF5fG51bGwgJGVudgoJICovCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoICRlbnYgPSBudWxsICl7CgoJCS8vIFRvcCBwYXJzZXIgb24gYW4gaW1wb3J0IHRyZWUgbXVzdCBiZSBzdXJlIHRoZXJlIGlzIG9uZSAiZW52IgoJCS8vIHdoaWNoIHdpbGwgdGhlbiBiZSBwYXNzZWQgYXJvdW5kIGJ5IHJlZmVyZW5jZS4KCQlpZiggJGVudiBpbnN0YW5jZW9mIExlc3NfRW52aXJvbm1lbnQgKXsKCQkJJHRoaXMtPmVudiA9ICRlbnY7CgkJfWVsc2V7CgkJCSR0aGlzLT5TZXRPcHRpb25zKExlc3NfUGFyc2VyOjokZGVmYXVsdF9vcHRpb25zKTsKCQkJJHRoaXMtPlJlc2V0KCAkZW52ICk7CgkJfQoKCX0KCgoJLyoqCgkgKiBSZXNldCB0aGUgcGFyc2VyIHN0YXRlIGNvbXBsZXRlbHkKCSAqCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBSZXNldCggJG9wdGlvbnMgPSBudWxsICl7CgkJJHRoaXMtPnJ1bGVzID0gYXJyYXkoKTsKCQlzZWxmOjokaW1wb3J0cyA9IGFycmF5KCk7CgkJc2VsZjo6JGhhc19leHRlbmRzID0gZmFsc2U7CgkJc2VsZjo6JGltcG9ydHMgPSBhcnJheSgpOwoJCXNlbGY6OiRjb250ZW50c01hcCA9IGFycmF5KCk7CgoJCSR0aGlzLT5lbnYgPSBuZXcgTGVzc19FbnZpcm9ubWVudCgkb3B0aW9ucyk7CgkJJHRoaXMtPmVudi0+SW5pdCgpOwoKCQkvL3NldCBuZXcgb3B0aW9ucwoJCWlmKCBpc19hcnJheSgkb3B0aW9ucykgKXsKCQkJJHRoaXMtPlNldE9wdGlvbnMoTGVzc19QYXJzZXI6OiRkZWZhdWx0X29wdGlvbnMpOwoJCQkkdGhpcy0+U2V0T3B0aW9ucygkb3B0aW9ucyk7CgkJfQoJfQoKCS8qKgoJICogU2V0IG9uZSBvciBtb3JlIGNvbXBpbGVyIG9wdGlvbnMKCSAqICBvcHRpb25zOiBpbXBvcnRfZGlycywgY2FjaGVfZGlyLCBjYWNoZV9tZXRob2QKCSAqCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBTZXRPcHRpb25zKCAkb3B0aW9ucyApewoJCWZvcmVhY2goJG9wdGlvbnMgYXMgJG9wdGlvbiA9PiAkdmFsdWUpewoJCQkkdGhpcy0+U2V0T3B0aW9uKCRvcHRpb24sJHZhbHVlKTsKCQl9Cgl9CgoJLyoqCgkgKiBTZXQgb25lIGNvbXBpbGVyIG9wdGlvbgoJICoKCSAqLwoJcHVibGljIGZ1bmN0aW9uIFNldE9wdGlvbigkb3B0aW9uLCR2YWx1ZSl7CgoJCXN3aXRjaCgkb3B0aW9uKXsKCgkJCWNhc2UgJ2ltcG9ydF9kaXJzJzoKCQkJCSR0aGlzLT5TZXRJbXBvcnREaXJzKCR2YWx1ZSk7CgkJCXJldHVybjsKCgkJCWNhc2UgJ2NhY2hlX2Rpcic6CgkJCQlpZiggaXNfc3RyaW5nKCR2YWx1ZSkgKXsKCQkJCQlMZXNzX0NhY2hlOjpTZXRDYWNoZURpcigkdmFsdWUpOwoJCQkJCUxlc3NfQ2FjaGU6OkNoZWNrQ2FjaGVEaXIoKTsKCQkJCX0KCQkJcmV0dXJuOwoJCX0KCgkJTGVzc19QYXJzZXI6OiRvcHRpb25zWyRvcHRpb25dID0gJHZhbHVlOwoJfQoKCS8qKgoJICogUmVnaXN0ZXJzIGEgbmV3IGN1c3RvbSBmdW5jdGlvbgoJICoKCSAqIEBwYXJhbSAgc3RyaW5nICAgJG5hbWUgICAgIGZ1bmN0aW9uIG5hbWUKCSAqIEBwYXJhbSAgY2FsbGFibGUgJGNhbGxiYWNrIGNhbGxiYWNrCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiByZWdpc3RlckZ1bmN0aW9uKCRuYW1lLCAkY2FsbGJhY2spIHsKCQkkdGhpcy0+ZW52LT5mdW5jdGlvbnNbJG5hbWVdID0gJGNhbGxiYWNrOwoJfQoKCS8qKgoJICogUmVtb3ZlZCBhbiBhbHJlYWR5IHJlZ2lzdGVyZWQgZnVuY3Rpb24KCSAqCgkgKiBAcGFyYW0gIHN0cmluZyAkbmFtZSBmdW5jdGlvbiBuYW1lCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiB1bnJlZ2lzdGVyRnVuY3Rpb24oJG5hbWUpIHsKCQlpZiggaXNzZXQoJHRoaXMtPmVudi0+ZnVuY3Rpb25zWyRuYW1lXSkgKQoJCQl1bnNldCgkdGhpcy0+ZW52LT5mdW5jdGlvbnNbJG5hbWVdKTsKCX0KCgoJLyoqCgkgKiBHZXQgdGhlIGN1cnJlbnQgY3NzIGJ1ZmZlcgoJICoKCSAqIEByZXR1cm4gc3RyaW5nCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBnZXRDc3MoKXsKCgkJJHByZWNpc2lvbiA9IGluaV9nZXQoJ3ByZWNpc2lvbicpOwoJCUBpbmlfc2V0KCdwcmVjaXNpb24nLDE2KTsKCQkkbG9jYWxlID0gc2V0bG9jYWxlKExDX05VTUVSSUMsIDApOwoJCXNldGxvY2FsZShMQ19OVU1FUklDLCAiQyIpOwoKIAkJJHJvb3QgPSBuZXcgTGVzc19UcmVlX1J1bGVzZXQoYXJyYXkoKSwgJHRoaXMtPnJ1bGVzICk7CgkJJHJvb3QtPnJvb3QgPSB0cnVlOwoJCSRyb290LT5maXJzdFJvb3QgPSB0cnVlOwoKCgkJJHRoaXMtPlByZVZpc2l0b3JzKCRyb290KTsKCgkJc2VsZjo6JGhhc19leHRlbmRzID0gZmFsc2U7CgkJJGV2YWxkUm9vdCA9ICRyb290LT5jb21waWxlKCR0aGlzLT5lbnYpOwoKCgoJCSR0aGlzLT5Qb3N0VmlzaXRvcnMoJGV2YWxkUm9vdCk7CgoJCWlmKCBMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ3NvdXJjZU1hcCddICl7CgkJCSRnZW5lcmF0b3IgPSBuZXcgTGVzc19Tb3VyY2VNYXBfR2VuZXJhdG9yKCRldmFsZFJvb3QsIExlc3NfUGFyc2VyOjokY29udGVudHNNYXAsIExlc3NfUGFyc2VyOjokb3B0aW9ucyApOwoJCQkvLyB3aWxsIGFsc28gc2F2ZSBmaWxlCgkJCS8vIEZJWE1FOiBzaG91bGQgaGFwcGVuIHNvbWV3aGVyZSBlbHNlPwoJCQkkY3NzID0gJGdlbmVyYXRvci0+Z2VuZXJhdGVDU1MoKTsKCQl9ZWxzZXsKCQkJJGNzcyA9ICRldmFsZFJvb3QtPnRvQ1NTKCk7CgkJfQoKCQlpZiggTGVzc19QYXJzZXI6OiRvcHRpb25zWydjb21wcmVzcyddICl7CgkJCSRjc3MgPSBwcmVnX3JlcGxhY2UoJy8oXihccykrKXwoKFxzKSskKS8nLCAnJywgJGNzcyk7CgkJfQoKCQkvL3Jlc2V0IHBocCBzZXR0aW5ncwoJCUBpbmlfc2V0KCdwcmVjaXNpb24nLCRwcmVjaXNpb24pOwoJCXNldGxvY2FsZShMQ19OVU1FUklDLCAkbG9jYWxlKTsKCgkJcmV0dXJuICRjc3M7Cgl9CgoJLyoqCgkgKiBSdW4gcHJlLWNvbXBpbGUgdmlzaXRvcnMKCSAqCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gUHJlVmlzaXRvcnMoJHJvb3QpewoKCQlpZiggTGVzc19QYXJzZXI6OiRvcHRpb25zWydwbHVnaW5zJ10gKXsKCQkJZm9yZWFjaChMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ3BsdWdpbnMnXSBhcyAkcGx1Z2luKXsKCQkJCWlmKCAhZW1wdHkoJHBsdWdpbi0+aXNQcmVFdmFsVmlzaXRvcikgKXsKCQkJCQkkcGx1Z2luLT5ydW4oJHJvb3QpOwoJCQkJfQoJCQl9CgkJfQoJfQoKCgkvKioKCSAqIFJ1biBwb3N0LWNvbXBpbGUgdmlzaXRvcnMKCSAqCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gUG9zdFZpc2l0b3JzKCRldmFsZFJvb3QpewoKCQkkdmlzaXRvcnMgPSBhcnJheSgpOwoJCSR2aXNpdG9yc1tdID0gbmV3IExlc3NfVmlzaXRvcl9qb2luU2VsZWN0b3IoKTsKCQlpZiggc2VsZjo6JGhhc19leHRlbmRzICl7CgkJCSR2aXNpdG9yc1tdID0gbmV3IExlc3NfVmlzaXRvcl9wcm9jZXNzRXh0ZW5kcygpOwoJCX0KCQkkdmlzaXRvcnNbXSA9IG5ldyBMZXNzX1Zpc2l0b3JfdG9DU1MoKTsKCgoJCWlmKCBMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ3BsdWdpbnMnXSApewoJCQlmb3JlYWNoKExlc3NfUGFyc2VyOjokb3B0aW9uc1sncGx1Z2lucyddIGFzICRwbHVnaW4pewoJCQkJaWYoIHByb3BlcnR5X2V4aXN0cygkcGx1Z2luLCdpc1ByZUV2YWxWaXNpdG9yJykgJiYgJHBsdWdpbi0+aXNQcmVFdmFsVmlzaXRvciApewoJCQkJCWNvbnRpbnVlOwoJCQkJfQoKCQkJCWlmKCBwcm9wZXJ0eV9leGlzdHMoJHBsdWdpbiwnaXNQcmVWaXNpdG9yJykgJiYgJHBsdWdpbi0+aXNQcmVWaXNpdG9yICl7CgkJCQkJYXJyYXlfdW5zaGlmdCggJHZpc2l0b3JzLCAkcGx1Z2luKTsKCQkJCX1lbHNlewoJCQkJCSR2aXNpdG9yc1tdID0gJHBsdWdpbjsKCQkJCX0KCQkJfQoJCX0KCgoJCWZvcigkaSA9IDA7ICRpIDwgY291bnQoJHZpc2l0b3JzKTsgJGkrKyApewoJCQkkdmlzaXRvcnNbJGldLT5ydW4oJGV2YWxkUm9vdCk7CgkJfQoKCX0KCgoJLyoqCgkgKiBQYXJzZSBhIExlc3Mgc3RyaW5nIGludG8gY3NzCgkgKgoJICogQHBhcmFtIHN0cmluZyAkc3RyIFRoZSBzdHJpbmcgdG8gY29udmVydAoJICogQHBhcmFtIHN0cmluZyAkdXJpX3Jvb3QgVGhlIHVybCBvZiB0aGUgZmlsZQoJICogQHJldHVybiBMZXNzX1RyZWVfUnVsZXNldHxMZXNzX1BhcnNlcgoJICovCglwdWJsaWMgZnVuY3Rpb24gcGFyc2UoICRzdHIsICRmaWxlX3VyaSA9IG51bGwgKXsKCgkJaWYoICEkZmlsZV91cmkgKXsKCQkJJHVyaV9yb290ID0gJyc7CgkJCSRmaWxlbmFtZSA9ICdhbm9ueW1vdXMtZmlsZS0nLkxlc3NfUGFyc2VyOjokbmV4dF9pZCsrLicubGVzcyc7CgkJfWVsc2V7CgkJCSRmaWxlX3VyaSA9IHNlbGY6OldpblBhdGgoJGZpbGVfdXJpKTsKCQkJJGZpbGVuYW1lID0gYmFzZW5hbWUoJGZpbGVfdXJpKTsKCQkJJHVyaV9yb290ID0gZGlybmFtZSgkZmlsZV91cmkpOwoJCX0KCgkJJHByZXZpb3VzRmlsZUluZm8gPSAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm87CgkJJHVyaV9yb290ID0gc2VsZjo6V2luUGF0aCgkdXJpX3Jvb3QpOwoJCSR0aGlzLT5TZXRGaWxlSW5mbygkZmlsZW5hbWUsICR1cmlfcm9vdCk7CgoJCSR0aGlzLT5pbnB1dCA9ICRzdHI7CgkJJHRoaXMtPl9wYXJzZSgpOwoKCQlpZiggJHByZXZpb3VzRmlsZUluZm8gKXsKCQkJJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvID0gJHByZXZpb3VzRmlsZUluZm87CgkJfQoKCQlyZXR1cm4gJHRoaXM7Cgl9CgoKCS8qKgoJICogUGFyc2UgYSBMZXNzIHN0cmluZyBmcm9tIGEgZ2l2ZW4gZmlsZQoJICoKCSAqIEB0aHJvd3MgTGVzc19FeGNlcHRpb25fUGFyc2VyCgkgKiBAcGFyYW0gc3RyaW5nICRmaWxlbmFtZSBUaGUgZmlsZSB0byBwYXJzZQoJICogQHBhcmFtIHN0cmluZyAkdXJpX3Jvb3QgVGhlIHVybCBvZiB0aGUgZmlsZQoJICogQHBhcmFtIGJvb2wgJHJldHVyblJvb3QgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJldHVybiB2YWx1ZSBzaG91bGQgYmUgYSBjc3Mgc3RyaW5nIGEgcm9vdCBub2RlCgkgKiBAcmV0dXJuIExlc3NfVHJlZV9SdWxlc2V0fExlc3NfUGFyc2VyCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBwYXJzZUZpbGUoICRmaWxlbmFtZSwgJHVyaV9yb290ID0gJycsICRyZXR1cm5Sb290ID0gZmFsc2UpewoKCQlpZiggIWZpbGVfZXhpc3RzKCRmaWxlbmFtZSkgKXsKCQkJJHRoaXMtPkVycm9yKHNwcmludGYoJ0ZpbGUgYCVzYCBub3QgZm91bmQuJywgJGZpbGVuYW1lKSk7CgkJfQoKCgkJLy8gZml4IHVyaV9yb290PwoJCS8vIEluc3RlYWQgb2YgVGhlIG1peHR1cmUgb2YgZmlsZSBwYXRoIGZvciB0aGUgZmlyc3QgYXJndW1lbnQgYW5kIGRpcmVjdG9yeSBwYXRoIGZvciB0aGUgc2Vjb25kIGFyZ3VtZW50IGhhcyBiZWUKCQlpZiggISRyZXR1cm5Sb290ICYmICFlbXB0eSgkdXJpX3Jvb3QpICYmIGJhc2VuYW1lKCR1cmlfcm9vdCkgPT0gYmFzZW5hbWUoJGZpbGVuYW1lKSApewoJCQkkdXJpX3Jvb3QgPSBkaXJuYW1lKCR1cmlfcm9vdCk7CgkJfQoKCgkJJHByZXZpb3VzRmlsZUluZm8gPSAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm87CgkJJGZpbGVuYW1lID0gc2VsZjo6V2luUGF0aCgkZmlsZW5hbWUpOwoJCSR1cmlfcm9vdCA9IHNlbGY6OldpblBhdGgoJHVyaV9yb290KTsKCQkkdGhpcy0+U2V0RmlsZUluZm8oJGZpbGVuYW1lLCAkdXJpX3Jvb3QpOwoKCQlzZWxmOjpBZGRQYXJzZWRGaWxlKCRmaWxlbmFtZSk7CgoJCWlmKCAkcmV0dXJuUm9vdCApewoJCQkkcnVsZXMgPSAkdGhpcy0+R2V0UnVsZXMoICRmaWxlbmFtZSApOwoJCQkkcmV0dXJuID0gbmV3IExlc3NfVHJlZV9SdWxlc2V0KGFycmF5KCksICRydWxlcyApOwoJCX1lbHNlewoJCQkkdGhpcy0+X3BhcnNlKCAkZmlsZW5hbWUgKTsKCQkJJHJldHVybiA9ICR0aGlzOwoJCX0KCgkJaWYoICRwcmV2aW91c0ZpbGVJbmZvICl7CgkJCSR0aGlzLT5lbnYtPmN1cnJlbnRGaWxlSW5mbyA9ICRwcmV2aW91c0ZpbGVJbmZvOwoJCX0KCgkJcmV0dXJuICRyZXR1cm47Cgl9CgoKCS8qKgoJICogQWxsb3dzIGEgdXNlciB0byBzZXQgdmFyaWFibGVzIHZhbHVlcwoJICogQHBhcmFtIGFycmF5ICR2YXJzCgkgKiBAcmV0dXJuIExlc3NfUGFyc2VyCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBNb2RpZnlWYXJzKCAkdmFycyApewoKCQkkdGhpcy0+aW5wdXQgPSBMZXNzX1BhcnNlcjo6c2VyaWFsaXplVmFycyggJHZhcnMgKTsKCQkkdGhpcy0+X3BhcnNlKCk7CgoJCXJldHVybiAkdGhpczsKCX0KCgoJLyoqCgkgKiBAcGFyYW0gc3RyaW5nICRmaWxlbmFtZQoJICovCglwdWJsaWMgZnVuY3Rpb24gU2V0RmlsZUluZm8oICRmaWxlbmFtZSwgJHVyaV9yb290ID0gJycpewoKCQkkZmlsZW5hbWUgPSBMZXNzX0Vudmlyb25tZW50Ojpub3JtYWxpemVQYXRoKCRmaWxlbmFtZSk7CgkJJGRpcm5hbWUgPSBwcmVnX3JlcGxhY2UoJy9bXlwvXFxcXF0qJC8nLCcnLCRmaWxlbmFtZSk7CgoJCWlmKCAhZW1wdHkoJHVyaV9yb290KSApewoJCQkkdXJpX3Jvb3QgPSBydHJpbSgkdXJpX3Jvb3QsJy8nKS4nLyc7CgkJfQoKCQkkY3VycmVudEZpbGVJbmZvID0gYXJyYXkoKTsKCgkJLy9lbnRyeSBpbmZvCgkJaWYoIGlzc2V0KCR0aGlzLT5lbnYtPmN1cnJlbnRGaWxlSW5mbykgKXsKCQkJJGN1cnJlbnRGaWxlSW5mb1snZW50cnlQYXRoJ10gPSAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm9bJ2VudHJ5UGF0aCddOwoJCQkkY3VycmVudEZpbGVJbmZvWydlbnRyeVVyaSddID0gJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvWydlbnRyeVVyaSddOwoJCQkkY3VycmVudEZpbGVJbmZvWydyb290cGF0aCddID0gJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvWydyb290cGF0aCddOwoKCQl9ZWxzZXsKCQkJJGN1cnJlbnRGaWxlSW5mb1snZW50cnlQYXRoJ10gPSAkZGlybmFtZTsKCQkJJGN1cnJlbnRGaWxlSW5mb1snZW50cnlVcmknXSA9ICR1cmlfcm9vdDsKCQkJJGN1cnJlbnRGaWxlSW5mb1sncm9vdHBhdGgnXSA9ICRkaXJuYW1lOwoJCX0KCgkJJGN1cnJlbnRGaWxlSW5mb1snY3VycmVudERpcmVjdG9yeSddID0gJGRpcm5hbWU7CgkJJGN1cnJlbnRGaWxlSW5mb1snY3VycmVudFVyaSddID0gJHVyaV9yb290LmJhc2VuYW1lKCRmaWxlbmFtZSk7CgkJJGN1cnJlbnRGaWxlSW5mb1snZmlsZW5hbWUnXSA9ICRmaWxlbmFtZTsKCQkkY3VycmVudEZpbGVJbmZvWyd1cmlfcm9vdCddID0gJHVyaV9yb290OwoKCgkJLy9pbmhlcml0IHJlZmVyZW5jZQoJCWlmKCBpc3NldCgkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm9bJ3JlZmVyZW5jZSddKSAmJiAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm9bJ3JlZmVyZW5jZSddICl7CgkJCSRjdXJyZW50RmlsZUluZm9bJ3JlZmVyZW5jZSddID0gdHJ1ZTsKCQl9CgoJCSR0aGlzLT5lbnYtPmN1cnJlbnRGaWxlSW5mbyA9ICRjdXJyZW50RmlsZUluZm87Cgl9CgoKCS8qKgoJICogQGRlcHJlY2F0ZWQgMS41LjEuMgoJICoKCSAqLwoJcHVibGljIGZ1bmN0aW9uIFNldENhY2hlRGlyKCAkZGlyICl7CgoJCWlmKCAhZmlsZV9leGlzdHMoJGRpcikgKXsKCQkJaWYoIG1rZGlyKCRkaXIpICl7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fUGFyc2VyKCdMZXNzLnBocCBjYWNoZSBkaXJlY3RvcnkgY291bGRuXCd0IGJlIGNyZWF0ZWQ6ICcuJGRpcik7CgoJCX1lbHNlaWYoICFpc19kaXIoJGRpcikgKXsKCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX1BhcnNlcignTGVzcy5waHAgY2FjaGUgZGlyZWN0b3J5IGRvZXNuXCd0IGV4aXN0OiAnLiRkaXIpOwoKCQl9ZWxzZWlmKCAhaXNfd3JpdGFibGUoJGRpcikgKXsKCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX1BhcnNlcignTGVzcy5waHAgY2FjaGUgZGlyZWN0b3J5IGlzblwndCB3cml0YWJsZTogJy4kZGlyKTsKCgkJfWVsc2V7CgkJCSRkaXIgPSBzZWxmOjpXaW5QYXRoKCRkaXIpOwoJCQlMZXNzX0NhY2hlOjokY2FjaGVfZGlyID0gcnRyaW0oJGRpciwnLycpLicvJzsKCQkJcmV0dXJuIHRydWU7CgkJfQoJfQoKCgkvKioKCSAqIFNldCBhIGxpc3Qgb2YgZGlyZWN0b3JpZXMgb3IgY2FsbGJhY2tzIHRoZSBwYXJzZXIgc2hvdWxkIHVzZSBmb3IgZGV0ZXJtaW5pbmcgaW1wb3J0IHBhdGhzCgkgKgoJICogQHBhcmFtIGFycmF5ICRkaXJzCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBTZXRJbXBvcnREaXJzKCAkZGlycyApewoJCUxlc3NfUGFyc2VyOjokb3B0aW9uc1snaW1wb3J0X2RpcnMnXSA9IGFycmF5KCk7CgoJCWZvcmVhY2goJGRpcnMgYXMgJHBhdGggPT4gJHVyaV9yb290KXsKCgkJCSRwYXRoID0gc2VsZjo6V2luUGF0aCgkcGF0aCk7CgkJCWlmKCAhZW1wdHkoJHBhdGgpICl7CgkJCQkkcGF0aCA9IHJ0cmltKCRwYXRoLCcvJykuJy8nOwoJCQl9CgoJCQlpZiAoICFpc19jYWxsYWJsZSgkdXJpX3Jvb3QpICl7CgkJCQkkdXJpX3Jvb3QgPSBzZWxmOjpXaW5QYXRoKCR1cmlfcm9vdCk7CgkJCQlpZiggIWVtcHR5KCR1cmlfcm9vdCkgKXsKCQkJCQkkdXJpX3Jvb3QgPSBydHJpbSgkdXJpX3Jvb3QsJy8nKS4nLyc7CgkJCQl9CgkJCX0KCgkJCUxlc3NfUGFyc2VyOjokb3B0aW9uc1snaW1wb3J0X2RpcnMnXVskcGF0aF0gPSAkdXJpX3Jvb3Q7CgkJfQoJfQoKCS8qKgoJICogQHBhcmFtIHN0cmluZyAkZmlsZV9wYXRoCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gX3BhcnNlKCAkZmlsZV9wYXRoID0gbnVsbCApewoJCWlmIChpbmlfZ2V0KCJtYnN0cmluZy5mdW5jX292ZXJsb2FkIikpIHsKCQkJJG1iX2ludGVybmFsX2VuY29kaW5nID0gaW5pX2dldCgibWJzdHJpbmcuaW50ZXJuYWxfZW5jb2RpbmciKTsKCQkJQGluaV9zZXQoIm1ic3RyaW5nLmludGVybmFsX2VuY29kaW5nIiwgImFzY2lpIik7CgkJfQoKCQkkdGhpcy0+cnVsZXMgPSBhcnJheV9tZXJnZSgkdGhpcy0+cnVsZXMsICR0aGlzLT5HZXRSdWxlcyggJGZpbGVfcGF0aCApKTsKCgkJLy9yZXNldCBwaHAgc2V0dGluZ3MKCQlpZiAoaXNzZXQoJG1iX2ludGVybmFsX2VuY29kaW5nKSkgewoJCQlAaW5pX3NldCgibWJzdHJpbmcuaW50ZXJuYWxfZW5jb2RpbmciLCAkbWJfaW50ZXJuYWxfZW5jb2RpbmcpOwoJCX0KCX0KCgoJLyoqCgkgKiBSZXR1cm4gdGhlIHJlc3VsdHMgb2YgcGFyc2VQcmltYXJ5IGZvciAkZmlsZV9wYXRoCgkgKiBVc2UgY2FjaGUgYW5kIHNhdmUgY2FjaGVkIHJlc3VsdHMgaWYgcG9zc2libGUKCSAqCgkgKiBAcGFyYW0gc3RyaW5nfG51bGwgJGZpbGVfcGF0aAoJICovCglwcml2YXRlIGZ1bmN0aW9uIEdldFJ1bGVzKCAkZmlsZV9wYXRoICl7CgoJCSR0aGlzLT5TZXRJbnB1dCgkZmlsZV9wYXRoKTsKCgkJJGNhY2hlX2ZpbGUgPSAkdGhpcy0+Q2FjaGVGaWxlKCAkZmlsZV9wYXRoICk7CgkJaWYoICRjYWNoZV9maWxlICl7CgkJCWlmKCBMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ2NhY2hlX21ldGhvZCddID09ICdjYWxsYmFjaycgKXsKCQkJCWlmKCBpc19jYWxsYWJsZShMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ2NhY2hlX2NhbGxiYWNrX2dldCddKSApewoJCQkJCSRjYWNoZSA9IGNhbGxfdXNlcl9mdW5jX2FycmF5KAoJCQkJCQlMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ2NhY2hlX2NhbGxiYWNrX2dldCddLAoJCQkJCQlhcnJheSgkdGhpcywgJGZpbGVfcGF0aCwgJGNhY2hlX2ZpbGUpCgkJCQkJKTsKCgkJCQkJaWYoICRjYWNoZSApewoJCQkJCQkkdGhpcy0+VW5zZXRJbnB1dCgpOwoJCQkJCQlyZXR1cm4gJGNhY2hlOwoJCQkJCX0KCQkJCX0KCgkJCX1lbHNlaWYoIGZpbGVfZXhpc3RzKCRjYWNoZV9maWxlKSApewoJCQkJc3dpdGNoKExlc3NfUGFyc2VyOjokb3B0aW9uc1snY2FjaGVfbWV0aG9kJ10pewoKCQkJCQkvLyBVc2luZyBzZXJpYWxpemUKCQkJCQkvLyBGYXN0ZXIgYnV0IHVzZXMgbW9yZSBtZW1vcnkKCQkJCQljYXNlICdzZXJpYWxpemUnOgoJCQkJCQkkY2FjaGUgPSB1bnNlcmlhbGl6ZShmaWxlX2dldF9jb250ZW50cygkY2FjaGVfZmlsZSkpOwoJCQkJCQlpZiggJGNhY2hlICl7CgkJCQkJCQl0b3VjaCgkY2FjaGVfZmlsZSk7CgkJCQkJCQkkdGhpcy0+VW5zZXRJbnB1dCgpOwoJCQkJCQkJcmV0dXJuICRjYWNoZTsKCQkJCQkJfQoJCQkJCWJyZWFrOwoKCgkJCQkJLy8gVXNpbmcgZ2VuZXJhdGVkIHBocCBjb2RlCgkJCQkJY2FzZSAndmFyX2V4cG9ydCc6CgkJCQkJY2FzZSAncGhwJzoKCQkJCQkkdGhpcy0+VW5zZXRJbnB1dCgpOwoJCQkJCXJldHVybiBpbmNsdWRlKCRjYWNoZV9maWxlKTsKCQkJCX0KCQkJfQoJCX0KCgkJJHJ1bGVzID0gJHRoaXMtPnBhcnNlUHJpbWFyeSgpOwoKCQlpZiggJHRoaXMtPnBvcyA8ICR0aGlzLT5pbnB1dF9sZW4gKXsKCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NodW5rKCR0aGlzLT5pbnB1dCwgbnVsbCwgJHRoaXMtPmZ1cnRoZXN0LCAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm8pOwoJCX0KCgkJJHRoaXMtPlVuc2V0SW5wdXQoKTsKCgoJCS8vc2F2ZSB0aGUgY2FjaGUKCQlpZiggJGNhY2hlX2ZpbGUgKXsKCQkJaWYoIExlc3NfUGFyc2VyOjokb3B0aW9uc1snY2FjaGVfbWV0aG9kJ10gPT0gJ2NhbGxiYWNrJyApewoJCQkJaWYoIGlzX2NhbGxhYmxlKExlc3NfUGFyc2VyOjokb3B0aW9uc1snY2FjaGVfY2FsbGJhY2tfc2V0J10pICl7CgkJCQkJY2FsbF91c2VyX2Z1bmNfYXJyYXkoCgkJCQkJCUxlc3NfUGFyc2VyOjokb3B0aW9uc1snY2FjaGVfY2FsbGJhY2tfc2V0J10sCgkJCQkJCWFycmF5KCR0aGlzLCAkZmlsZV9wYXRoLCAkY2FjaGVfZmlsZSwgJHJ1bGVzKQoJCQkJCSk7CgkJCQl9CgoJCQl9ZWxzZXsKCQkJCS8vbXNnKCd3cml0ZSBjYWNoZSBmaWxlJyk7CgkJCQlzd2l0Y2goTGVzc19QYXJzZXI6OiRvcHRpb25zWydjYWNoZV9tZXRob2QnXSl7CgkJCQkJY2FzZSAnc2VyaWFsaXplJzoKCQkJCQkJZmlsZV9wdXRfY29udGVudHMoICRjYWNoZV9maWxlLCBzZXJpYWxpemUoJHJ1bGVzKSApOwoJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJ3BocCc6CgkJCQkJCWZpbGVfcHV0X2NvbnRlbnRzKCAkY2FjaGVfZmlsZSwgJzw/cGhwIHJldHVybiAnLnNlbGY6OkFyZ1N0cmluZygkcnVsZXMpLic7ID8+JyApOwoJCQkJCWJyZWFrOwoJCQkJCWNhc2UgJ3Zhcl9leHBvcnQnOgoJCQkJCQkvL1JlcXVpcmVzIF9fc2V0X3N0YXRlKCkKCQkJCQkJZmlsZV9wdXRfY29udGVudHMoICRjYWNoZV9maWxlLCAnPD9waHAgcmV0dXJuICcudmFyX2V4cG9ydCgkcnVsZXMsdHJ1ZSkuJzsgPz4nICk7CgkJCQkJYnJlYWs7CgkJCQl9CgoJCQkJTGVzc19DYWNoZTo6Q2xlYW5DYWNoZSgpOwoJCQl9CgkJfQoKCQlyZXR1cm4gJHJ1bGVzOwoJfQoKCgkvKioKCSAqIFNldCB1cCB0aGUgaW5wdXQgYnVmZmVyCgkgKgoJICovCglwdWJsaWMgZnVuY3Rpb24gU2V0SW5wdXQoICRmaWxlX3BhdGggKXsKCgkJaWYoICRmaWxlX3BhdGggKXsKCQkJJHRoaXMtPmlucHV0ID0gZmlsZV9nZXRfY29udGVudHMoICRmaWxlX3BhdGggKTsKCQl9CgoJCSR0aGlzLT5wb3MgPSAkdGhpcy0+ZnVydGhlc3QgPSAwOwoKCQkvLyBSZW1vdmUgcG90ZW50aWFsIFVURiBCeXRlIE9yZGVyIE1hcmsKCQkkdGhpcy0+aW5wdXQgPSBwcmVnX3JlcGxhY2UoJy9cXEdceEVGXHhCQlx4QkYvJywgJycsICR0aGlzLT5pbnB1dCk7CgkJJHRoaXMtPmlucHV0X2xlbiA9IHN0cmxlbigkdGhpcy0+aW5wdXQpOwoKCgkJaWYoIExlc3NfUGFyc2VyOjokb3B0aW9uc1snc291cmNlTWFwJ10gJiYgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvICl7CgkJCSR1cmkgPSAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm9bJ2N1cnJlbnRVcmknXTsKCQkJTGVzc19QYXJzZXI6OiRjb250ZW50c01hcFskdXJpXSA9ICR0aGlzLT5pbnB1dDsKCQl9CgoJfQoKCgkvKioKCSAqIEZyZWUgdXAgc29tZSBtZW1vcnkKCSAqCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBVbnNldElucHV0KCl7CgkJdW5zZXQoJHRoaXMtPmlucHV0LCAkdGhpcy0+cG9zLCAkdGhpcy0+aW5wdXRfbGVuLCAkdGhpcy0+ZnVydGhlc3QpOwoJCSR0aGlzLT5zYXZlU3RhY2sgPSBhcnJheSgpOwoJfQoKCglwdWJsaWMgZnVuY3Rpb24gQ2FjaGVGaWxlKCAkZmlsZV9wYXRoICl7CgoJCWlmKCAkZmlsZV9wYXRoICYmICR0aGlzLT5DYWNoZUVuYWJsZWQoKSApewoKCQkJJGVudiA9IGdldF9vYmplY3RfdmFycygkdGhpcy0+ZW52KTsKCQkJdW5zZXQoJGVudlsnZnJhbWVzJ10pOwoKCQkJJHBhcnRzID0gYXJyYXkoKTsKCQkJJHBhcnRzW10gPSAkZmlsZV9wYXRoOwoJCQkkcGFydHNbXSA9IGZpbGVzaXplKCAkZmlsZV9wYXRoICk7CgkJCSRwYXJ0c1tdID0gZmlsZW10aW1lKCAkZmlsZV9wYXRoICk7CgkJCSRwYXJ0c1tdID0gJGVudjsKCQkJJHBhcnRzW10gPSBMZXNzX1ZlcnNpb246OmNhY2hlX3ZlcnNpb247CgkJCSRwYXJ0c1tdID0gTGVzc19QYXJzZXI6OiRvcHRpb25zWydjYWNoZV9tZXRob2QnXTsKCQkJcmV0dXJuIExlc3NfQ2FjaGU6OiRjYWNoZV9kaXIuJ2xlc3NwaHBfJy5iYXNlX2NvbnZlcnQoIHNoYTEoanNvbl9lbmNvZGUoJHBhcnRzKSApLCAxNiwgMzYpLicubGVzc2NhY2hlJzsKCQl9Cgl9CgoKCXN0YXRpYyBmdW5jdGlvbiBBZGRQYXJzZWRGaWxlKCRmaWxlKXsKCQlzZWxmOjokaW1wb3J0c1tdID0gJGZpbGU7Cgl9CgoJc3RhdGljIGZ1bmN0aW9uIEFsbFBhcnNlZEZpbGVzKCl7CgkJcmV0dXJuIHNlbGY6OiRpbXBvcnRzOwoJfQoKCS8qKgoJICogQHBhcmFtIHN0cmluZyAkZmlsZQoJICovCglzdGF0aWMgZnVuY3Rpb24gRmlsZVBhcnNlZCgkZmlsZSl7CgkJcmV0dXJuIGluX2FycmF5KCRmaWxlLHNlbGY6OiRpbXBvcnRzKTsKCX0KCgoJZnVuY3Rpb24gc2F2ZSgpIHsKCQkkdGhpcy0+c2F2ZVN0YWNrW10gPSAkdGhpcy0+cG9zOwoJfQoKCXByaXZhdGUgZnVuY3Rpb24gcmVzdG9yZSgpIHsKCQkkdGhpcy0+cG9zID0gYXJyYXlfcG9wKCR0aGlzLT5zYXZlU3RhY2spOwoJfQoKCXByaXZhdGUgZnVuY3Rpb24gZm9yZ2V0KCl7CgkJYXJyYXlfcG9wKCR0aGlzLT5zYXZlU3RhY2spOwoJfQoKCglwcml2YXRlIGZ1bmN0aW9uIGlzV2hpdGVzcGFjZSgkb2Zmc2V0ID0gMCkgewoJCXJldHVybiBwcmVnX21hdGNoKCcvXHMvJywkdGhpcy0+aW5wdXRbICR0aGlzLT5wb3MgKyAkb2Zmc2V0XSk7Cgl9CgoJLyoqCgkgKiBQYXJzZSBmcm9tIGEgdG9rZW4sIHJlZ2V4cCBvciBzdHJpbmcsIGFuZCBtb3ZlIGZvcndhcmQgaWYgbWF0Y2gKCSAqCgkgKiBAcGFyYW0gYXJyYXkgJHRva3MKCSAqIEByZXR1cm4gYXJyYXkKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBtYXRjaCgkdG9rcyl7CgoJCS8vIFRoZSBtYXRjaCBpcyBjb25maXJtZWQsIGFkZCB0aGUgbWF0Y2ggbGVuZ3RoIHRvIGB0aGlzOjpwb3NgLAoJCS8vIGFuZCBjb25zdW1lIGFueSBleHRyYSB3aGl0ZS1zcGFjZSBjaGFyYWN0ZXJzICgnICcgfHwgJ1xuJykKCQkvLyB3aGljaCBjb21lIGFmdGVyIHRoYXQuIFRoZSByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBMZVNTJ3MKCQkvLyBncmFtbWFyIGlzIG1vc3RseSB3aGl0ZS1zcGFjZSBpbnNlbnNpdGl2ZS4KCQkvLwoKCQlmb3JlYWNoKCR0b2tzIGFzICR0b2spewoKCQkJJGNoYXIgPSAkdG9rWzBdOwoKCQkJaWYoICRjaGFyID09PSAnLycgKXsKCQkJCSRtYXRjaCA9ICR0aGlzLT5NYXRjaFJlZygkdG9rKTsKCgkJCQlpZiggJG1hdGNoICl7CgkJCQkJcmV0dXJuIGNvdW50KCRtYXRjaCkgPT09IDEgPyAkbWF0Y2hbMF0gOiAkbWF0Y2g7CgkJCQl9CgoJCQl9ZWxzZWlmKCAkY2hhciA9PT0gJyMnICl7CgkJCQkkbWF0Y2ggPSAkdGhpcy0+TWF0Y2hDaGFyKCR0b2tbMV0pOwoKCQkJfWVsc2V7CgkJCQkvLyBOb24tdGVybWluYWwsIG1hdGNoIHVzaW5nIGEgZnVuY3Rpb24gY2FsbAoJCQkJJG1hdGNoID0gJHRoaXMtPiR0b2soKTsKCgkJCX0KCgkJCWlmKCAkbWF0Y2ggKXsKCQkJCXJldHVybiAkbWF0Y2g7CgkJCX0KCQl9Cgl9CgoJLyoqCgkgKiBAcGFyYW0gc3RyaW5nW10gJHRva3MKCSAqCgkgKiBAcmV0dXJuIHN0cmluZwoJICovCglwcml2YXRlIGZ1bmN0aW9uIE1hdGNoRnVuY3MoJHRva3MpewoKCQlpZiggJHRoaXMtPnBvcyA8ICR0aGlzLT5pbnB1dF9sZW4gKXsKCQkJZm9yZWFjaCgkdG9rcyBhcyAkdG9rKXsKCQkJCSRtYXRjaCA9ICR0aGlzLT4kdG9rKCk7CgkJCQlpZiggJG1hdGNoICl7CgkJCQkJcmV0dXJuICRtYXRjaDsKCQkJCX0KCQkJfQoJCX0KCgl9CgoJLy8gTWF0Y2ggYSBzaW5nbGUgY2hhcmFjdGVyIGluIHRoZSBpbnB1dCwKCXByaXZhdGUgZnVuY3Rpb24gTWF0Y2hDaGFyKCR0b2spewoJCWlmKCAoJHRoaXMtPnBvcyA8ICR0aGlzLT5pbnB1dF9sZW4pICYmICgkdGhpcy0+aW5wdXRbJHRoaXMtPnBvc10gPT09ICR0b2spICl7CgkJCSR0aGlzLT5za2lwV2hpdGVzcGFjZSgxKTsKCQkJcmV0dXJuICR0b2s7CgkJfQoJfQoKCS8vIE1hdGNoIGEgcmVnZXhwIGZyb20gdGhlIGN1cnJlbnQgc3RhcnQgcG9pbnQKCXByaXZhdGUgZnVuY3Rpb24gTWF0Y2hSZWcoJHRvayl7CgoJCWlmKCBwcmVnX21hdGNoKCR0b2ssICR0aGlzLT5pbnB1dCwgJG1hdGNoLCAwLCAkdGhpcy0+cG9zKSApewoJCQkkdGhpcy0+c2tpcFdoaXRlc3BhY2Uoc3RybGVuKCRtYXRjaFswXSkpOwoJCQlyZXR1cm4gJG1hdGNoOwoJCX0KCX0KCgoJLyoqCgkgKiBTYW1lIGFzIG1hdGNoKCksIGJ1dCBkb24ndCBjaGFuZ2UgdGhlIHN0YXRlIG9mIHRoZSBwYXJzZXIsCgkgKiBqdXN0IHJldHVybiB0aGUgbWF0Y2guCgkgKgoJICogQHBhcmFtIHN0cmluZyAkdG9rCgkgKiBAcmV0dXJuIGludGVnZXIKCSAqLwoJcHVibGljIGZ1bmN0aW9uIFBlZWtSZWcoJHRvayl7CgkJcmV0dXJuIHByZWdfbWF0Y2goJHRvaywgJHRoaXMtPmlucHV0LCAkbWF0Y2gsIDAsICR0aGlzLT5wb3MpOwoJfQoKCS8qKgoJICogQHBhcmFtIHN0cmluZyAkdG9rCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBQZWVrQ2hhcigkdG9rKXsKCQkvL3JldHVybiAoJHRoaXMtPmlucHV0WyR0aGlzLT5wb3NdID09PSAkdG9rICk7CgkJcmV0dXJuICgkdGhpcy0+cG9zIDwgJHRoaXMtPmlucHV0X2xlbikgJiYgKCR0aGlzLT5pbnB1dFskdGhpcy0+cG9zXSA9PT0gJHRvayApOwoJfQoKCgkvKioKCSAqIEBwYXJhbSBpbnRlZ2VyICRsZW5ndGgKCSAqLwoJcHVibGljIGZ1bmN0aW9uIHNraXBXaGl0ZXNwYWNlKCRsZW5ndGgpewoKCQkkdGhpcy0+cG9zICs9ICRsZW5ndGg7CgoJCWZvcig7ICR0aGlzLT5wb3MgPCAkdGhpcy0+aW5wdXRfbGVuOyAkdGhpcy0+cG9zKysgKXsKCQkJJGMgPSAkdGhpcy0+aW5wdXRbJHRoaXMtPnBvc107CgoJCQlpZiggKCRjICE9PSAiXG4iKSAmJiAoJGMgIT09ICJcciIpICYmICgkYyAhPT0gIlx0IikgJiYgKCRjICE9PSAnICcpICl7CgkJCQlicmVhazsKCQkJfQoJCX0KCX0KCgoJLyoqCgkgKiBAcGFyYW0gc3RyaW5nICR0b2sKCSAqIEBwYXJhbSBzdHJpbmd8bnVsbCAkbXNnCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBleHBlY3QoJHRvaywgJG1zZyA9IE5VTEwpIHsKCQkkcmVzdWx0ID0gJHRoaXMtPm1hdGNoKCBhcnJheSgkdG9rKSApOwoJCWlmICghJHJlc3VsdCkgewoJCQkkdGhpcy0+RXJyb3IoICRtc2cJPyAiRXhwZWN0ZWQgJyIgLiAkdG9rIC4gIicgZ290ICciIC4gJHRoaXMtPmlucHV0WyR0aGlzLT5wb3NdIC4gIiciIDogJG1zZyApOwoJCX0gZWxzZSB7CgkJCXJldHVybiAkcmVzdWx0OwoJCX0KCX0KCgkvKioKCSAqIEBwYXJhbSBzdHJpbmcgJHRvawoJICovCglwdWJsaWMgZnVuY3Rpb24gZXhwZWN0Q2hhcigkdG9rLCAkbXNnID0gbnVsbCApewoJCSRyZXN1bHQgPSAkdGhpcy0+TWF0Y2hDaGFyKCR0b2spOwoJCWlmKCAhJHJlc3VsdCApewoJCQkkdGhpcy0+RXJyb3IoICRtc2cgPyAiRXhwZWN0ZWQgJyIgLiAkdG9rIC4gIicgZ290ICciIC4gJHRoaXMtPmlucHV0WyR0aGlzLT5wb3NdIC4gIiciIDogJG1zZyApOwoJCX1lbHNlewoJCQlyZXR1cm4gJHJlc3VsdDsKCQl9Cgl9CgoJLy8KCS8vIEhlcmUgaW4sIHRoZSBwYXJzaW5nIHJ1bGVzL2Z1bmN0aW9ucwoJLy8KCS8vIFRoZSBiYXNpYyBzdHJ1Y3R1cmUgb2YgdGhlIHN5bnRheCB0cmVlIGdlbmVyYXRlZCBpcyBhcyBmb2xsb3dzOgoJLy8KCS8vICAgUnVsZXNldCAtPiAgUnVsZSAtPiBWYWx1ZSAtPiBFeHByZXNzaW9uIC0+IEVudGl0eQoJLy8KCS8vIEhlcmUncyBzb21lIExFU1MgY29kZToKCS8vCgkvLwkuY2xhc3MgewoJLy8JICBjb2xvcjogI2ZmZjsKCS8vCSAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsKCS8vCSAgd2lkdGg6IEB3ICsgNHB4OwoJLy8JICA+IC5jaGlsZCB7Li4ufQoJLy8JfQoJLy8KCS8vIEFuZCBoZXJlJ3Mgd2hhdCB0aGUgcGFyc2UgdHJlZSBtaWdodCBsb29rIGxpa2U6CgkvLwoJLy8JIFJ1bGVzZXQgKFNlbGVjdG9yICcuY2xhc3MnLCBbCgkvLwkJIFJ1bGUgKCJjb2xvciIsICBWYWx1ZSAoW0V4cHJlc3Npb24gW0NvbG9yICNmZmZdXSkpCgkvLwkJIFJ1bGUgKCJib3JkZXIiLCBWYWx1ZSAoW0V4cHJlc3Npb24gW0RpbWVuc2lvbiAxcHhdW0tleXdvcmQgInNvbGlkIl1bQ29sb3IgIzAwMF1dKSkKCS8vCQkgUnVsZSAoIndpZHRoIiwgIFZhbHVlIChbRXhwcmVzc2lvbiBbT3BlcmF0aW9uICIrIiBbVmFyaWFibGUgIkB3Il1bRGltZW5zaW9uIDRweF1dXSkpCgkvLwkJIFJ1bGVzZXQgKFNlbGVjdG9yIFtFbGVtZW50ICc+JywgJy5jaGlsZCddLCBbLi4uXSkKCS8vCSBdKQoJLy8KCS8vICBJbiBnZW5lcmFsLCBtb3N0IHJ1bGVzIHdpbGwgdHJ5IHRvIHBhcnNlIGEgdG9rZW4gd2l0aCB0aGUgYCQoKWAgZnVuY3Rpb24sIGFuZCBpZiB0aGUgcmV0dXJuCgkvLyAgdmFsdWUgaXMgdHJ1bHksIHdpbGwgcmV0dXJuIGEgbmV3IG5vZGUsIG9mIHRoZSByZWxldmFudCB0eXBlLiBTb21ldGltZXMsIHdlIG5lZWQgdG8gY2hlY2sKCS8vICBmaXJzdCwgYmVmb3JlIHBhcnNpbmcsIHRoYXQncyB3aGVuIHdlIHVzZSBgcGVlaygpYC4KCS8vCgoJLy8KCS8vIFRoZSBgcHJpbWFyeWAgcnVsZSBpcyB0aGUgKmVudHJ5KiBhbmQgKmV4aXQqIHBvaW50IG9mIHRoZSBwYXJzZXIuCgkvLyBUaGUgcnVsZXMgaGVyZSBjYW4gYXBwZWFyIGF0IGFueSBsZXZlbCBvZiB0aGUgcGFyc2UgdHJlZS4KCS8vCgkvLyBUaGUgcmVjdXJzaXZlIG5hdHVyZSBvZiB0aGUgZ3JhbW1hciBpcyBhbiBpbnRlcnBsYXkgYmV0d2VlbiB0aGUgYGJsb2NrYAoJLy8gcnVsZSwgd2hpY2ggcmVwcmVzZW50cyBgeyAuLi4gfWAsIHRoZSBgcnVsZXNldGAgcnVsZSwgYW5kIHRoaXMgYHByaW1hcnlgIHJ1bGUsCgkvLyBhcyByZXByZXNlbnRlZCBieSB0aGlzIHNpbXBsaWZpZWQgZ3JhbW1hcjoKCS8vCgkvLwkgcHJpbWFyeSAg4oaSICAocnVsZXNldCB8IHJ1bGUpKwoJLy8JIHJ1bGVzZXQgIOKGkiAgc2VsZWN0b3IrIGJsb2NrCgkvLwkgYmxvY2sJ4oaSICAneycgcHJpbWFyeSAnfScKCS8vCgkvLyBPbmx5IGF0IG9uZSBwb2ludCBpcyB0aGUgcHJpbWFyeSBydWxlIG5vdCBjYWxsZWQgZnJvbSB0aGUKCS8vIGJsb2NrIHJ1bGU6IGF0IHRoZSByb290IGxldmVsLgoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VQcmltYXJ5KCl7CgkJJHJvb3QgPSBhcnJheSgpOwoKCQl3aGlsZSggdHJ1ZSApewoKCQkJaWYoICR0aGlzLT5wb3MgPj0gJHRoaXMtPmlucHV0X2xlbiApewoJCQkJYnJlYWs7CgkJCX0KCgkJCSRub2RlID0gJHRoaXMtPnBhcnNlRXh0ZW5kKHRydWUpOwoJCQlpZiggJG5vZGUgKXsKCQkJCSRyb290ID0gYXJyYXlfbWVyZ2UoJHJvb3QsJG5vZGUpOwoJCQkJY29udGludWU7CgkJCX0KCgkJCS8vJG5vZGUgPSAkdGhpcy0+TWF0Y2hGdW5jcyggYXJyYXkoICdwYXJzZU1peGluRGVmaW5pdGlvbicsICdwYXJzZVJ1bGUnLCAncGFyc2VSdWxlc2V0JywgJ3BhcnNlTWl4aW5DYWxsJywgJ3BhcnNlQ29tbWVudCcsICdwYXJzZURpcmVjdGl2ZScpKTsKCQkJJG5vZGUgPSAkdGhpcy0+TWF0Y2hGdW5jcyggYXJyYXkoICdwYXJzZU1peGluRGVmaW5pdGlvbicsICdwYXJzZU5hbWVWYWx1ZScsICdwYXJzZVJ1bGUnLCAncGFyc2VSdWxlc2V0JywgJ3BhcnNlTWl4aW5DYWxsJywgJ3BhcnNlQ29tbWVudCcsICdwYXJzZVJ1bGVzZXRDYWxsJywgJ3BhcnNlRGlyZWN0aXZlJykpOwoKCQkJaWYoICRub2RlICl7CgkJCQkkcm9vdFtdID0gJG5vZGU7CgkJCX1lbHNlaWYoICEkdGhpcy0+TWF0Y2hSZWcoJy9cXEdbXHNcbjtdKy8nKSApewoJCQkJYnJlYWs7CgkJCX0KCiAgICAgICAgICAgIGlmKCAkdGhpcy0+UGVla0NoYXIoJ30nKSApewoJCQkJYnJlYWs7CgkJCX0KCQl9CgoJCXJldHVybiAkcm9vdDsKCX0KCgoKCS8vIFdlIGNyZWF0ZSBhIENvbW1lbnQgbm9kZSBmb3IgQ1NTIGNvbW1lbnRzIGAvKiAqL2AsCgkvLyBidXQga2VlcCB0aGUgTGVTUyBjb21tZW50cyBgLy9gIHNpbGVudCwgYnkganVzdCBza2lwcGluZwoJLy8gb3ZlciB0aGVtLgoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUNvbW1lbnQoKXsKCgkJaWYoICR0aGlzLT5pbnB1dFskdGhpcy0+cG9zXSAhPT0gJy8nICl7CgkJCXJldHVybjsKCQl9CgoJCWlmKCAkdGhpcy0+aW5wdXRbJHRoaXMtPnBvcysxXSA9PT0gJy8nICl7CgkJCSRtYXRjaCA9ICR0aGlzLT5NYXRjaFJlZygnL1xcR1wvXC8uKi8nKTsKCQkJcmV0dXJuICR0aGlzLT5OZXdPYmo0KCdMZXNzX1RyZWVfQ29tbWVudCcsYXJyYXkoJG1hdGNoWzBdLCB0cnVlLCAkdGhpcy0+cG9zLCAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm8pKTsKCQl9CgoJCS8vJGNvbW1lbnQgPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEdcL1wqKD86W14qXXxcKitbXlwvKl0pKlwqK1wvXG4/LycpOwoJCSRjb21tZW50ID0gJHRoaXMtPk1hdGNoUmVnKCcvXFxHXC9cKig/cykuKj9cKitcL1xuPy8nKTsvL25vdCB0aGUgc2FtZSBhcyBsZXNzLmpzIHRvIHByZXZlbnQgZmF0YWwgZXJyb3JzCgkJaWYoICRjb21tZW50ICl7CgkJCXJldHVybiAkdGhpcy0+TmV3T2JqNCgnTGVzc19UcmVlX0NvbW1lbnQnLGFycmF5KCRjb21tZW50WzBdLCBmYWxzZSwgJHRoaXMtPnBvcywgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvKSk7CgkJfQoJfQoKCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VDb21tZW50cygpewoJCSRjb21tZW50cyA9IGFycmF5KCk7CgoJCXdoaWxlKCAkdGhpcy0+cG9zIDwgJHRoaXMtPmlucHV0X2xlbiApewoJCQkkY29tbWVudCA9ICR0aGlzLT5wYXJzZUNvbW1lbnQoKTsKCQkJaWYoICEkY29tbWVudCApewoJCQkJYnJlYWs7CgkJCX0KCgkJCSRjb21tZW50c1tdID0gJGNvbW1lbnQ7CgkJfQoKCQlyZXR1cm4gJGNvbW1lbnRzOwoJfQoKCgoJLy8KCS8vIEEgc3RyaW5nLCB3aGljaCBzdXBwb3J0cyBlc2NhcGluZyAiIGFuZCAnCgkvLwoJLy8JICJtaWxreSB3YXkiICdoZVwncyB0aGUgb25lIScKCS8vCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlRW50aXRpZXNRdW90ZWQoKSB7CgkJJGogPSAkdGhpcy0+cG9zOwoJCSRlID0gZmFsc2U7CgkJJGluZGV4ID0gJHRoaXMtPnBvczsKCgkJaWYoICR0aGlzLT5pbnB1dFskdGhpcy0+cG9zXSA9PT0gJ34nICl7CgkJCSRqKys7CgkJCSRlID0gdHJ1ZTsgLy8gRXNjYXBlZCBzdHJpbmdzCgkJfQoKCQlpZiggJHRoaXMtPmlucHV0WyRqXSAhPSAnIicgJiYgJHRoaXMtPmlucHV0WyRqXSAhPT0gIiciICl7CgkJCXJldHVybjsKCQl9CgoJCWlmICgkZSkgewoJCQkkdGhpcy0+TWF0Y2hDaGFyKCd+Jyk7CgkJfQoKICAgICAgICAgICAgICAgIC8vIEZpeCBmb3IgIzEyNDogbWF0Y2ggZXNjYXBlZCBuZXdsaW5lcwogICAgICAgICAgICAgICAgLy8kc3RyID0gJHRoaXMtPk1hdGNoUmVnKCcvXFxHIigoPzpbXiJcXFxcXHJcbl18XFxcXC4pKikifFwnKCg/OlteXCdcXFxcXHJcbl18XFxcXC4pKilcJy8nKTsKCQkkc3RyID0gJHRoaXMtPk1hdGNoUmVnKCcvXFxHIigoPzpbXiJcXFxcXHJcbl18XFxcXC58XFxcXFxyXG58XFxcXFtcblxyXGZdKSopInxcJygoPzpbXlwnXFxcXFxyXG5dfFxcXFwufFxcXFxcclxufFxcXFxbXG5cclxmXSkqKVwnLycpOwoKCQlpZiggJHN0ciApewoJCQkkcmVzdWx0ID0gJHN0clswXVswXSA9PSAnIicgPyAkc3RyWzFdIDogJHN0clsyXTsKCQkJcmV0dXJuICR0aGlzLT5OZXdPYmo1KCdMZXNzX1RyZWVfUXVvdGVkJyxhcnJheSgkc3RyWzBdLCAkcmVzdWx0LCAkZSwgJGluZGV4LCAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm8pICk7CgkJfQoJCXJldHVybjsKCX0KCgoJLy8KCS8vIEEgY2F0Y2gtYWxsIHdvcmQsIHN1Y2ggYXM6CgkvLwoJLy8JIGJsYWNrIGJvcmRlci1jb2xsYXBzZQoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VFbnRpdGllc0tleXdvcmQoKXsKCgkJLy8kayA9ICR0aGlzLT5NYXRjaFJlZygnL1xcR1tfQS1aYS16LV1bX0EtWmEtejAtOS1dKi8nKTsKCQkkayA9ICR0aGlzLT5NYXRjaFJlZygnL1xcRyV8XFxHW19BLVphLXotXVtfQS1aYS16MC05LV0qLycpOwoJCWlmKCAkayApewoJCQkkayA9ICRrWzBdOwoJCQkkY29sb3IgPSAkdGhpcy0+ZnJvbUtleXdvcmQoJGspOwoJCQlpZiggJGNvbG9yICl7CgkJCQlyZXR1cm4gJGNvbG9yOwoJCQl9CgkJCXJldHVybiAkdGhpcy0+TmV3T2JqMSgnTGVzc19UcmVlX0tleXdvcmQnLCRrKTsKCQl9Cgl9CgoJLy8gZHVwbGljYXRlIG9mIExlc3NfVHJlZV9Db2xvcjo6RnJvbUtleXdvcmQKCXByaXZhdGUgZnVuY3Rpb24gRnJvbUtleXdvcmQoICRrZXl3b3JkICl7CgkJJGtleXdvcmQgPSBzdHJ0b2xvd2VyKCRrZXl3b3JkKTsKCgkJaWYoIExlc3NfQ29sb3JzOjpoYXNPd25Qcm9wZXJ0eSgka2V5d29yZCkgKXsKCQkJLy8gZGV0ZWN0IG5hbWVkIGNvbG9yCgkJCXJldHVybiAkdGhpcy0+TmV3T2JqMSgnTGVzc19UcmVlX0NvbG9yJyxzdWJzdHIoTGVzc19Db2xvcnM6OmNvbG9yKCRrZXl3b3JkKSwgMSkpOwoJCX0KCgkJaWYoICRrZXl3b3JkID09PSAndHJhbnNwYXJlbnQnICl7CgkJCXJldHVybiAkdGhpcy0+TmV3T2JqMygnTGVzc19UcmVlX0NvbG9yJywgYXJyYXkoIGFycmF5KDAsIDAsIDApLCAwLCB0cnVlKSk7CgkJfQoJfQoKCS8vCgkvLyBBIGZ1bmN0aW9uIGNhbGwKCS8vCgkvLwkgcmdiKDI1NSwgMCwgMjU1KQoJLy8KCS8vIFdlIGFsc28gdHJ5IHRvIGNhdGNoIElFJ3MgYGFscGhhKClgLCBidXQgbGV0IHRoZSBgYWxwaGFgIHBhcnNlcgoJLy8gZGVhbCB3aXRoIHRoZSBkZXRhaWxzLgoJLy8KCS8vIFRoZSBhcmd1bWVudHMgYXJlIHBhcnNlZCB3aXRoIHRoZSBgZW50aXRpZXMuYXJndW1lbnRzYCBwYXJzZXIuCgkvLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUVudGl0aWVzQ2FsbCgpewoJCSRpbmRleCA9ICR0aGlzLT5wb3M7CgoJCWlmKCAhcHJlZ19tYXRjaCgnL1xcRyhbXHctXSt8JXxwcm9naWQ6W1x3XC5dKylcKC8nLCAkdGhpcy0+aW5wdXQsICRuYW1lLDAsJHRoaXMtPnBvcykgKXsKCQkJcmV0dXJuOwoJCX0KCQkkbmFtZSA9ICRuYW1lWzFdOwoJCSRuYW1lTEMgPSBzdHJ0b2xvd2VyKCRuYW1lKTsKCgkJaWYgKCRuYW1lTEMgPT09ICd1cmwnKSB7CgkJCXJldHVybiBudWxsOwoJCX0KCgkJJHRoaXMtPnBvcyArPSBzdHJsZW4oJG5hbWUpOwoKCQlpZiggJG5hbWVMQyA9PT0gJ2FscGhhJyApewoJCQkkYWxwaGFfcmV0ID0gJHRoaXMtPnBhcnNlQWxwaGEoKTsKCQkJaWYoICRhbHBoYV9yZXQgKXsKCQkJCXJldHVybiAkYWxwaGFfcmV0OwoJCQl9CgkJfQoKCQkkdGhpcy0+TWF0Y2hDaGFyKCcoJyk7IC8vIFBhcnNlIHRoZSAnKCcgYW5kIGNvbnN1bWUgd2hpdGVzcGFjZS4KCgkJJGFyZ3MgPSAkdGhpcy0+cGFyc2VFbnRpdGllc0FyZ3VtZW50cygpOwoKCQlpZiggISR0aGlzLT5NYXRjaENoYXIoJyknKSApewoJCQlyZXR1cm47CgkJfQoKCQlpZiAoJG5hbWUpIHsKCQkJcmV0dXJuICR0aGlzLT5OZXdPYmo0KCdMZXNzX1RyZWVfQ2FsbCcsYXJyYXkoJG5hbWUsICRhcmdzLCAkaW5kZXgsICR0aGlzLT5lbnYtPmN1cnJlbnRGaWxlSW5mbykgKTsKCQl9Cgl9CgoJLyoqCgkgKiBQYXJzZSBhIGxpc3Qgb2YgYXJndW1lbnRzCgkgKgoJICogQHJldHVybiBhcnJheQoJICovCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlRW50aXRpZXNBcmd1bWVudHMoKXsKCgkJJGFyZ3MgPSBhcnJheSgpOwoJCXdoaWxlKCB0cnVlICl7CgkJCSRhcmcgPSAkdGhpcy0+TWF0Y2hGdW5jcyggYXJyYXkoJ3BhcnNlRW50aXRpZXNBc3NpZ25tZW50JywncGFyc2VFeHByZXNzaW9uJykgKTsKCQkJaWYoICEkYXJnICl7CgkJCQlicmVhazsKCQkJfQoKCQkJJGFyZ3NbXSA9ICRhcmc7CgkJCWlmKCAhJHRoaXMtPk1hdGNoQ2hhcignLCcpICl7CgkJCQlicmVhazsKCQkJfQoJCX0KCQlyZXR1cm4gJGFyZ3M7Cgl9CgoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUVudGl0aWVzTGl0ZXJhbCgpewoJCXJldHVybiAkdGhpcy0+TWF0Y2hGdW5jcyggYXJyYXkoJ3BhcnNlRW50aXRpZXNEaW1lbnNpb24nLCdwYXJzZUVudGl0aWVzQ29sb3InLCdwYXJzZUVudGl0aWVzUXVvdGVkJywncGFyc2VVbmljb2RlRGVzY3JpcHRvcicpICk7Cgl9CgoJLy8gQXNzaWdubWVudHMgYXJlIGFyZ3VtZW50IGVudGl0aWVzIGZvciBjYWxscy4KCS8vIFRoZXkgYXJlIHByZXNlbnQgaW4gaWUgZmlsdGVyIHByb3BlcnRpZXMgYXMgc2hvd24gYmVsb3cuCgkvLwoJLy8JIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKCAqb3BhY2l0eT01MCogKQoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VFbnRpdGllc0Fzc2lnbm1lbnQoKSB7CgoJCSRrZXkgPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEdcdysoPz1ccz89KS8nKTsKCQlpZiggISRrZXkgKXsKCQkJcmV0dXJuOwoJCX0KCgkJaWYoICEkdGhpcy0+TWF0Y2hDaGFyKCc9JykgKXsKCQkJcmV0dXJuOwoJCX0KCgkJJHZhbHVlID0gJHRoaXMtPnBhcnNlRW50aXR5KCk7CgkJaWYoICR2YWx1ZSApewoJCQlyZXR1cm4gJHRoaXMtPk5ld09iajIoJ0xlc3NfVHJlZV9Bc3NpZ25tZW50JyxhcnJheSgka2V5WzBdLCAkdmFsdWUpKTsKCQl9Cgl9CgoJLy8KCS8vIFBhcnNlIHVybCgpIHRva2VucwoJLy8KCS8vIFdlIHVzZSBhIHNwZWNpZmljIHJ1bGUgZm9yIHVybHMsIGJlY2F1c2UgdGhleSBkb24ndCByZWFsbHkgYmVoYXZlIGxpa2UKCS8vIHN0YW5kYXJkIGZ1bmN0aW9uIGNhbGxzLiBUaGUgZGlmZmVyZW5jZSBpcyB0aGF0IHRoZSBhcmd1bWVudCBkb2Vzbid0IGhhdmUKCS8vIHRvIGJlIGVuY2xvc2VkIHdpdGhpbiBhIHN0cmluZywgc28gaXQgY2FuJ3QgYmUgcGFyc2VkIGFzIGFuIEV4cHJlc3Npb24uCgkvLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUVudGl0aWVzVXJsKCl7CgoKCQlpZiggJHRoaXMtPmlucHV0WyR0aGlzLT5wb3NdICE9PSAndScgfHwgISR0aGlzLT5tYXRjaFJlZygnL1xcR3VybFwoLycpICl7CgkJCXJldHVybjsKCQl9CgoJCSR2YWx1ZSA9ICR0aGlzLT5tYXRjaCggYXJyYXkoJ3BhcnNlRW50aXRpZXNRdW90ZWQnLCdwYXJzZUVudGl0aWVzVmFyaWFibGUnLCcvXFxHZGF0YVw6Lio/W15cKV0rLycsJy9cXEcoPzooPzpcXFxcW1woXClcJyJdKXxbXlwoXClcJyJdKSsvJykgKTsKCQlpZiggISR2YWx1ZSApewoJCQkkdmFsdWUgPSAnJzsKCQl9CgoKCQkkdGhpcy0+ZXhwZWN0Q2hhcignKScpOwoKCgkJaWYoIGlzc2V0KCR2YWx1ZS0+dmFsdWUpIHx8ICR2YWx1ZSBpbnN0YW5jZW9mIExlc3NfVHJlZV9WYXJpYWJsZSApewoJCQlyZXR1cm4gJHRoaXMtPk5ld09iajIoJ0xlc3NfVHJlZV9VcmwnLGFycmF5KCR2YWx1ZSwgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvKSk7CgkJfQoKCQlyZXR1cm4gJHRoaXMtPk5ld09iajIoJ0xlc3NfVHJlZV9VcmwnLCBhcnJheSggJHRoaXMtPk5ld09iajEoJ0xlc3NfVHJlZV9Bbm9ueW1vdXMnLCR2YWx1ZSksICR0aGlzLT5lbnYtPmN1cnJlbnRGaWxlSW5mbykgKTsKCX0KCgoJLy8KCS8vIEEgVmFyaWFibGUgZW50aXR5LCBzdWNoIGFzIGBAZmlua2AsIGluCgkvLwoJLy8JIHdpZHRoOiBAZmluayArIDJweAoJLy8KCS8vIFdlIHVzZSBhIGRpZmZlcmVudCBwYXJzZXIgZm9yIHZhcmlhYmxlIGRlZmluaXRpb25zLAoJLy8gc2VlIGBwYXJzZXJzLnZhcmlhYmxlYC4KCS8vCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlRW50aXRpZXNWYXJpYWJsZSgpewoJCSRpbmRleCA9ICR0aGlzLT5wb3M7CgkJaWYgKCR0aGlzLT5QZWVrQ2hhcignQCcpICYmICgkbmFtZSA9ICR0aGlzLT5NYXRjaFJlZygnL1xcR0BAP1tcdy1dKy8nKSkpIHsKCQkJcmV0dXJuICR0aGlzLT5OZXdPYmozKCdMZXNzX1RyZWVfVmFyaWFibGUnLCBhcnJheSggJG5hbWVbMF0sICRpbmRleCwgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvKSk7CgkJfQoJfQoKCgkvLyBBIHZhcmlhYmxlIGVudGl0eSB1c2VpbmcgdGhlIHByb3RlY3RpdmUge30gZS5nLiBAe3Zhcn0KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VFbnRpdGllc1ZhcmlhYmxlQ3VybHkoKSB7CgkJJGluZGV4ID0gJHRoaXMtPnBvczsKCgkJaWYoICR0aGlzLT5pbnB1dF9sZW4gPiAoJHRoaXMtPnBvcysxKSAmJiAkdGhpcy0+aW5wdXRbJHRoaXMtPnBvc10gPT09ICdAJyAmJiAoJGN1cmx5ID0gJHRoaXMtPk1hdGNoUmVnKCcvXFxHQFx7KFtcdy1dKylcfS8nKSkgKXsKCQkJcmV0dXJuICR0aGlzLT5OZXdPYmozKCdMZXNzX1RyZWVfVmFyaWFibGUnLGFycmF5KCdAJy4kY3VybHlbMV0sICRpbmRleCwgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvKSk7CgkJfQoJfQoKCS8vCgkvLyBBIEhleGFkZWNpbWFsIGNvbG9yCgkvLwoJLy8JICM0RjNDMkYKCS8vCgkvLyBgcmdiYCBhbmQgYGhzbGAgY29sb3JzIGFyZSBwYXJzZWQgdGhyb3VnaCB0aGUgYGVudGl0aWVzLmNhbGxgIHBhcnNlci4KCS8vCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlRW50aXRpZXNDb2xvcigpewoJCWlmICgkdGhpcy0+UGVla0NoYXIoJyMnKSAmJiAoJHJnYiA9ICR0aGlzLT5NYXRjaFJlZygnL1xcRyMoW0EtRmEtZjAtOV17Nn18W0EtRmEtZjAtOV17M30pLycpKSkgewoJCQlyZXR1cm4gJHRoaXMtPk5ld09iajEoJ0xlc3NfVHJlZV9Db2xvcicsJHJnYlsxXSk7CgkJfQoJfQoKCS8vCgkvLyBBIERpbWVuc2lvbiwgdGhhdCBpcywgYSBudW1iZXIgYW5kIGEgdW5pdAoJLy8KCS8vCSAwLjVlbSA5NSUKCS8vCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlRW50aXRpZXNEaW1lbnNpb24oKXsKCgkJJGMgPSBAb3JkKCR0aGlzLT5pbnB1dFskdGhpcy0+cG9zXSk7CgoJCS8vSXMgdGhlIGZpcnN0IGNoYXIgb2YgdGhlIGRpbWVuc2lvbiAwLTksICcuJywgJysnIG9yICctJwoJCWlmICgoJGMgPiA1NyB8fCAkYyA8IDQzKSB8fCAkYyA9PT0gNDcgfHwgJGMgPT0gNDQpewoJCQlyZXR1cm47CgkJfQoKCQkkdmFsdWUgPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEcoWystXT9cZCpcLj9cZCspKCV8W2Etel0rKT8vJyk7CgkJaWYoICR2YWx1ZSApewoKCQkJaWYoIGlzc2V0KCR2YWx1ZVsyXSkgKXsKCQkJCXJldHVybiAkdGhpcy0+TmV3T2JqMignTGVzc19UcmVlX0RpbWVuc2lvbicsIGFycmF5KCR2YWx1ZVsxXSwkdmFsdWVbMl0pKTsKCQkJfQoJCQlyZXR1cm4gJHRoaXMtPk5ld09iajEoJ0xlc3NfVHJlZV9EaW1lbnNpb24nLCR2YWx1ZVsxXSk7CgkJfQoJfQoKCgkvLwoJLy8gQSB1bmljb2RlIGRlc2NyaXB0b3IsIGFzIGlzIHVzZWQgaW4gdW5pY29kZS1yYW5nZQoJLy8KCS8vIFUrMD8/IG9yIFUrMDBBMS0wMEE5CgkvLwoJZnVuY3Rpb24gcGFyc2VVbmljb2RlRGVzY3JpcHRvcigpIHsKCQkkdWQgPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEcoVVwrWzAtOWEtZkEtRj9dKykoXC1bMC05YS1mQS1GP10rKT8vJyk7CgkJaWYoICR1ZCApewoJCQlyZXR1cm4gJHRoaXMtPk5ld09iajEoJ0xlc3NfVHJlZV9Vbmljb2RlRGVzY3JpcHRvcicsICR1ZFswXSk7CgkJfQoJfQoKCgkvLwoJLy8gSmF2YVNjcmlwdCBjb2RlIHRvIGJlIGV2YWx1YXRlZAoJLy8KCS8vCSBgd2luZG93LmxvY2F0aW9uLmhyZWZgCgkvLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUVudGl0aWVzSmF2YXNjcmlwdCgpewoJCSRlID0gZmFsc2U7CgkJJGogPSAkdGhpcy0+cG9zOwoJCWlmKCAkdGhpcy0+aW5wdXRbJGpdID09PSAnficgKXsKCQkJJGorKzsKCQkJJGUgPSB0cnVlOwoJCX0KCQlpZiggJHRoaXMtPmlucHV0WyRqXSAhPT0gJ2AnICl7CgkJCXJldHVybjsKCQl9CgkJaWYoICRlICl7CgkJCSR0aGlzLT5NYXRjaENoYXIoJ34nKTsKCQl9CgkJJHN0ciA9ICR0aGlzLT5NYXRjaFJlZygnL1xcR2AoW15gXSopYC8nKTsKCQlpZiggJHN0ciApewoJCQlyZXR1cm4gJHRoaXMtPk5ld09iajMoJ0xlc3NfVHJlZV9KYXZhc2NyaXB0JywgYXJyYXkoJHN0clsxXSwgJHRoaXMtPnBvcywgJGUpKTsKCQl9Cgl9CgoKCS8vCgkvLyBUaGUgdmFyaWFibGUgcGFydCBvZiBhIHZhcmlhYmxlIGRlZmluaXRpb24uIFVzZWQgaW4gdGhlIGBydWxlYCBwYXJzZXIKCS8vCgkvLwkgQGZpbms6CgkvLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZVZhcmlhYmxlKCl7CgkJaWYgKCR0aGlzLT5QZWVrQ2hhcignQCcpICYmICgkbmFtZSA9ICR0aGlzLT5NYXRjaFJlZygnL1xcRyhAW1x3LV0rKVxzKjovJykpKSB7CgkJCXJldHVybiAkbmFtZVsxXTsKCQl9Cgl9CgoKCS8vCgkvLyBUaGUgdmFyaWFibGUgcGFydCBvZiBhIHZhcmlhYmxlIGRlZmluaXRpb24uIFVzZWQgaW4gdGhlIGBydWxlYCBwYXJzZXIKCS8vCgkvLyBAZmluaygpOwoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VSdWxlc2V0Q2FsbCgpewoKCQlpZiggJHRoaXMtPmlucHV0WyR0aGlzLT5wb3NdID09PSAnQCcgJiYgKCRuYW1lID0gJHRoaXMtPk1hdGNoUmVnKCcvXFxHKEBbXHctXSspXHMqXChccypcKVxzKjsvJykpICl7CgkJCXJldHVybiAkdGhpcy0+TmV3T2JqMSgnTGVzc19UcmVlX1J1bGVzZXRDYWxsJywgJG5hbWVbMV0gKTsKCQl9Cgl9CgoKCS8vCgkvLyBleHRlbmQgc3ludGF4IC0gdXNlZCB0byBleHRlbmQgc2VsZWN0b3JzCgkvLwoJZnVuY3Rpb24gcGFyc2VFeHRlbmQoJGlzUnVsZSA9IGZhbHNlKXsKCgkJJGluZGV4ID0gJHRoaXMtPnBvczsKCQkkZXh0ZW5kTGlzdCA9IGFycmF5KCk7CgoKCQlpZiggISR0aGlzLT5NYXRjaFJlZyggJGlzUnVsZSA/ICcvXFxHJjpleHRlbmRcKC8nIDogJy9cXEc6ZXh0ZW5kXCgvJyApICl7IHJldHVybjsgfQoKCQlkb3sKCQkJJG9wdGlvbiA9IG51bGw7CgkJCSRlbGVtZW50cyA9IGFycmF5KCk7CgkJCXdoaWxlKCB0cnVlICl7CgkJCQkkb3B0aW9uID0gJHRoaXMtPk1hdGNoUmVnKCcvXFxHKGFsbCkoPz1ccyooXCl8LCkpLycpOwoJCQkJaWYoICRvcHRpb24gKXsgYnJlYWs7IH0KCQkJCSRlID0gJHRoaXMtPnBhcnNlRWxlbWVudCgpOwoJCQkJaWYoICEkZSApeyBicmVhazsgfQoJCQkJJGVsZW1lbnRzW10gPSAkZTsKCQkJfQoKCQkJaWYoICRvcHRpb24gKXsKCQkJCSRvcHRpb24gPSAkb3B0aW9uWzFdOwoJCQl9CgoJCQkkZXh0ZW5kTGlzdFtdID0gJHRoaXMtPk5ld09iajMoJ0xlc3NfVHJlZV9FeHRlbmQnLCBhcnJheSggJHRoaXMtPk5ld09iajEoJ0xlc3NfVHJlZV9TZWxlY3RvcicsJGVsZW1lbnRzKSwgJG9wdGlvbiwgJGluZGV4ICkpOwoKCQl9d2hpbGUoICR0aGlzLT5NYXRjaENoYXIoIiwiKSApOwoKCQkkdGhpcy0+ZXhwZWN0KCcvXFxHXCkvJyk7CgoJCWlmKCAkaXNSdWxlICl7CgkJCSR0aGlzLT5leHBlY3QoJy9cXEc7LycpOwoJCX0KCgkJcmV0dXJuICRleHRlbmRMaXN0OwoJfQoKCgkvLwoJLy8gQSBNaXhpbiBjYWxsLCB3aXRoIGFuIG9wdGlvbmFsIGFyZ3VtZW50IGxpc3QKCS8vCgkvLwkgI21peGlucyA+IC5zcXVhcmUoI2ZmZik7CgkvLwkgLnJvdW5kZWQoNHB4LCBibGFjayk7CgkvLwkgLmJ1dHRvbjsKCS8vCgkvLyBUaGUgYHdoaWxlYCBsb29wIGlzIHRoZXJlIGJlY2F1c2UgbWl4aW5zIGNhbiBiZQoJLy8gbmFtZXNwYWNlZCwgYnV0IHdlIG9ubHkgc3VwcG9ydCB0aGUgY2hpbGQgYW5kIGRlc2NlbmRhbnQKCS8vIHNlbGVjdG9yIGZvciBub3cuCgkvLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZU1peGluQ2FsbCgpewoKCQkkY2hhciA9ICR0aGlzLT5pbnB1dFskdGhpcy0+cG9zXTsKCQlpZiggJGNoYXIgIT09ICcuJyAmJiAkY2hhciAhPT0gJyMnICl7CgkJCXJldHVybjsKCQl9CgoJCSRpbmRleCA9ICR0aGlzLT5wb3M7CgkJJHRoaXMtPnNhdmUoKTsgLy8gc3RvcCB1cyBhYnNvcmJpbmcgcGFydCBvZiBhbiBpbnZhbGlkIHNlbGVjdG9yCgoJCSRlbGVtZW50cyA9ICR0aGlzLT5wYXJzZU1peGluQ2FsbEVsZW1lbnRzKCk7CgoJCWlmKCAkZWxlbWVudHMgKXsKCgkJCWlmKCAkdGhpcy0+TWF0Y2hDaGFyKCcoJykgKXsKCQkJCSRyZXR1cm5lZCA9ICR0aGlzLT5wYXJzZU1peGluQXJncyh0cnVlKTsKCQkJCSRhcmdzID0gJHJldHVybmVkWydhcmdzJ107CgkJCQkkdGhpcy0+ZXhwZWN0Q2hhcignKScpOwoJCQl9ZWxzZXsKCQkJCSRhcmdzID0gYXJyYXkoKTsKCQkJfQoKCQkJJGltcG9ydGFudCA9ICR0aGlzLT5wYXJzZUltcG9ydGFudCgpOwoKCQkJaWYoICR0aGlzLT5wYXJzZUVuZCgpICl7CgkJCQkkdGhpcy0+Zm9yZ2V0KCk7CgkJCQlyZXR1cm4gJHRoaXMtPk5ld09iajUoJ0xlc3NfVHJlZV9NaXhpbl9DYWxsJywgYXJyYXkoICRlbGVtZW50cywgJGFyZ3MsICRpbmRleCwgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvLCAkaW1wb3J0YW50KSk7CgkJCX0KCQl9CgoJCSR0aGlzLT5yZXN0b3JlKCk7Cgl9CgoKCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VNaXhpbkNhbGxFbGVtZW50cygpewoJCSRlbGVtZW50cyA9IGFycmF5KCk7CgkJJGMgPSBudWxsOwoKCQl3aGlsZSggdHJ1ZSApewoJCQkkZWxlbUluZGV4ID0gJHRoaXMtPnBvczsKCQkJJGUgPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEdbIy5dKD86W1x3LV18XFxcXCg/OltBLUZhLWYwLTldezEsNn0gP3xbXkEtRmEtZjAtOV0pKSsvJyk7CgkJCWlmKCAhJGUgKXsKCQkJCWJyZWFrOwoJCQl9CgkJCSRlbGVtZW50c1tdID0gJHRoaXMtPk5ld09iajQoJ0xlc3NfVHJlZV9FbGVtZW50JywgYXJyYXkoJGMsICRlWzBdLCAkZWxlbUluZGV4LCAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm8pKTsKCQkJJGMgPSAkdGhpcy0+TWF0Y2hDaGFyKCc+Jyk7CgkJfQoKCQlyZXR1cm4gJGVsZW1lbnRzOwoJfQoKCgoJLyoqCgkgKiBAcGFyYW0gYm9vbGVhbiAkaXNDYWxsCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VNaXhpbkFyZ3MoICRpc0NhbGwgKXsKCQkkZXhwcmVzc2lvbnMgPSBhcnJheSgpOwoJCSRhcmdzU2VtaUNvbG9uID0gYXJyYXkoKTsKCQkkaXNTZW1pQ29sb25TZXBlcmF0ZWQgPSBudWxsOwoJCSRhcmdzQ29tbWEgPSBhcnJheSgpOwoJCSRleHByZXNzaW9uQ29udGFpbnNOYW1lZCA9IG51bGw7CgkJJG5hbWUgPSBudWxsOwoJCSRyZXR1cm5lciA9IGFycmF5KCdhcmdzJz0+YXJyYXkoKSwgJ3ZhcmlhZGljJz0+IGZhbHNlKTsKCgkJJHRoaXMtPnNhdmUoKTsKCgkJd2hpbGUoIHRydWUgKXsKCQkJaWYoICRpc0NhbGwgKXsKCQkJCSRhcmcgPSAkdGhpcy0+TWF0Y2hGdW5jcyggYXJyYXkoICdwYXJzZURldGFjaGVkUnVsZXNldCcsJ3BhcnNlRXhwcmVzc2lvbicgKSApOwoJCQl9IGVsc2UgewoJCQkJJHRoaXMtPnBhcnNlQ29tbWVudHMoKTsKCQkJCWlmKCAkdGhpcy0+aW5wdXRbICR0aGlzLT5wb3MgXSA9PT0gJy4nICYmICR0aGlzLT5NYXRjaFJlZygnL1xcR1wuezN9LycpICl7CgkJCQkJJHJldHVybmVyWyd2YXJpYWRpYyddID0gdHJ1ZTsKCQkJCQlpZiggJHRoaXMtPk1hdGNoQ2hhcigiOyIpICYmICEkaXNTZW1pQ29sb25TZXBlcmF0ZWQgKXsKCQkJCQkJJGlzU2VtaUNvbG9uU2VwZXJhdGVkID0gdHJ1ZTsKCQkJCQl9CgoJCQkJCWlmKCAkaXNTZW1pQ29sb25TZXBlcmF0ZWQgKXsKCQkJCQkJJGFyZ3NTZW1pQ29sb25bXSA9IGFycmF5KCd2YXJpYWRpYyc9PnRydWUpOwoJCQkJCX1lbHNlewoJCQkJCQkkYXJnc0NvbW1hW10gPSBhcnJheSgndmFyaWFkaWMnPT50cnVlKTsKCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQl9CgkJCQkkYXJnID0gJHRoaXMtPk1hdGNoRnVuY3MoIGFycmF5KCdwYXJzZUVudGl0aWVzVmFyaWFibGUnLCdwYXJzZUVudGl0aWVzTGl0ZXJhbCcsJ3BhcnNlRW50aXRpZXNLZXl3b3JkJykgKTsKCQkJfQoKCQkJaWYoICEkYXJnICl7CgkJCQlicmVhazsKCQkJfQoKCgkJCSRuYW1lTG9vcCA9IG51bGw7CgkJCWlmKCAkYXJnIGluc3RhbmNlb2YgTGVzc19UcmVlX0V4cHJlc3Npb24gKXsKCQkJCSRhcmctPnRocm93QXdheUNvbW1lbnRzKCk7CgkJCX0KCQkJJHZhbHVlID0gJGFyZzsKCQkJJHZhbCA9IG51bGw7CgoJCQlpZiggJGlzQ2FsbCApewoJCQkJLy8gVmFyaWFibGUKCQkJCWlmKCBwcm9wZXJ0eV9leGlzdHMoJGFyZywndmFsdWUnKSAmJiBjb3VudCgkYXJnLT52YWx1ZSkgPT0gMSApewoJCQkJCSR2YWwgPSAkYXJnLT52YWx1ZVswXTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCSR2YWwgPSAkYXJnOwoJCQl9CgoKCQkJaWYoICR2YWwgaW5zdGFuY2VvZiBMZXNzX1RyZWVfVmFyaWFibGUgKXsKCgkJCQlpZiggJHRoaXMtPk1hdGNoQ2hhcignOicpICl7CgkJCQkJaWYoICRleHByZXNzaW9ucyApewoJCQkJCQlpZiggJGlzU2VtaUNvbG9uU2VwZXJhdGVkICl7CgkJCQkJCQkkdGhpcy0+RXJyb3IoJ0Nhbm5vdCBtaXggOyBhbmQgLCBhcyBkZWxpbWl0ZXIgdHlwZXMnKTsKCQkJCQkJfQoJCQkJCQkkZXhwcmVzc2lvbkNvbnRhaW5zTmFtZWQgPSB0cnVlOwoJCQkJCX0KCgkJCQkJLy8gd2UgZG8gbm90IHN1cHBvcnQgc2V0dGluZyBhIHJ1bGVzZXQgYXMgYSBkZWZhdWx0IHZhcmlhYmxlIC0gaXQgZG9lc24ndCBtYWtlIHNlbnNlCgkJCQkJLy8gSG93ZXZlciBpZiB3ZSBkbyB3YW50IHRvIGFkZCBpdCwgdGhlcmUgaXMgbm90aGluZyBibG9ja2luZyBpdCwganVzdCBkb24ndCBlcnJvcgoJCQkJCS8vIGFuZCByZW1vdmUgaXNDYWxsIGRlcGVuZGVuY3kgYmVsb3cKCQkJCQkkdmFsdWUgPSBudWxsOwoJCQkJCWlmKCAkaXNDYWxsICl7CgkJCQkJCSR2YWx1ZSA9ICR0aGlzLT5wYXJzZURldGFjaGVkUnVsZXNldCgpOwoJCQkJCX0KCQkJCQlpZiggISR2YWx1ZSApewoJCQkJCQkkdmFsdWUgPSAkdGhpcy0+cGFyc2VFeHByZXNzaW9uKCk7CgkJCQkJfQoKCQkJCQlpZiggISR2YWx1ZSApewoJCQkJCQlpZiggJGlzQ2FsbCApewoJCQkJCQkJJHRoaXMtPkVycm9yKCdjb3VsZCBub3QgdW5kZXJzdGFuZCB2YWx1ZSBmb3IgbmFtZWQgYXJndW1lbnQnKTsKCQkJCQkJfSBlbHNlIHsKCQkJCQkJCSR0aGlzLT5yZXN0b3JlKCk7CgkJCQkJCQkkcmV0dXJuZXJbJ2FyZ3MnXSA9IGFycmF5KCk7CgkJCQkJCQlyZXR1cm4gJHJldHVybmVyOwoJCQkJCQl9CgkJCQkJfQoKCQkJCQkkbmFtZUxvb3AgPSAoJG5hbWUgPSAkdmFsLT5uYW1lKTsKCQkJCX1lbHNlaWYoICEkaXNDYWxsICYmICR0aGlzLT5NYXRjaFJlZygnL1xcR1wuezN9LycpICl7CgkJCQkJJHJldHVybmVyWyd2YXJpYWRpYyddID0gdHJ1ZTsKCQkJCQlpZiggJHRoaXMtPk1hdGNoQ2hhcigiOyIpICYmICEkaXNTZW1pQ29sb25TZXBlcmF0ZWQgKXsKCQkJCQkJJGlzU2VtaUNvbG9uU2VwZXJhdGVkID0gdHJ1ZTsKCQkJCQl9CgkJCQkJaWYoICRpc1NlbWlDb2xvblNlcGVyYXRlZCApewoJCQkJCQkkYXJnc1NlbWlDb2xvbltdID0gYXJyYXkoJ25hbWUnPT4gJGFyZy0+bmFtZSwgJ3ZhcmlhZGljJyA9PiB0cnVlKTsKCQkJCQl9ZWxzZXsKCQkJCQkJJGFyZ3NDb21tYVtdID0gYXJyYXkoJ25hbWUnPT4gJGFyZy0+bmFtZSwgJ3ZhcmlhZGljJyA9PiB0cnVlKTsKCQkJCQl9CgkJCQkJYnJlYWs7CgkJCQl9ZWxzZWlmKCAhJGlzQ2FsbCApewoJCQkJCSRuYW1lID0gJG5hbWVMb29wID0gJHZhbC0+bmFtZTsKCQkJCQkkdmFsdWUgPSBudWxsOwoJCQkJfQoJCQl9CgoJCQlpZiggJHZhbHVlICl7CgkJCQkkZXhwcmVzc2lvbnNbXSA9ICR2YWx1ZTsKCQkJfQoKCQkJJGFyZ3NDb21tYVtdID0gYXJyYXkoJ25hbWUnPT4kbmFtZUxvb3AsICd2YWx1ZSc9PiR2YWx1ZSApOwoKCQkJaWYoICR0aGlzLT5NYXRjaENoYXIoJywnKSApewoJCQkJY29udGludWU7CgkJCX0KCgkJCWlmKCAkdGhpcy0+TWF0Y2hDaGFyKCc7JykgfHwgJGlzU2VtaUNvbG9uU2VwZXJhdGVkICl7CgoJCQkJaWYoICRleHByZXNzaW9uQ29udGFpbnNOYW1lZCApewoJCQkJCSR0aGlzLT5FcnJvcignQ2Fubm90IG1peCA7IGFuZCAsIGFzIGRlbGltaXRlciB0eXBlcycpOwoJCQkJfQoKCQkJCSRpc1NlbWlDb2xvblNlcGVyYXRlZCA9IHRydWU7CgoJCQkJaWYoIGNvdW50KCRleHByZXNzaW9ucykgPiAxICl7CgkJCQkJJHZhbHVlID0gJHRoaXMtPk5ld09iajEoJ0xlc3NfVHJlZV9WYWx1ZScsICRleHByZXNzaW9ucyk7CgkJCQl9CgkJCQkkYXJnc1NlbWlDb2xvbltdID0gYXJyYXkoJ25hbWUnPT4kbmFtZSwgJ3ZhbHVlJz0+JHZhbHVlICk7CgoJCQkJJG5hbWUgPSBudWxsOwoJCQkJJGV4cHJlc3Npb25zID0gYXJyYXkoKTsKCQkJCSRleHByZXNzaW9uQ29udGFpbnNOYW1lZCA9IGZhbHNlOwoJCQl9CgkJfQoKCQkkdGhpcy0+Zm9yZ2V0KCk7CgkJJHJldHVybmVyWydhcmdzJ10gPSAoJGlzU2VtaUNvbG9uU2VwZXJhdGVkID8gJGFyZ3NTZW1pQ29sb24gOiAkYXJnc0NvbW1hKTsKCQlyZXR1cm4gJHJldHVybmVyOwoJfQoKCgoJLy8KCS8vIEEgTWl4aW4gZGVmaW5pdGlvbiwgd2l0aCBhIGxpc3Qgb2YgcGFyYW1ldGVycwoJLy8KCS8vCSAucm91bmRlZCAoQHJhZGl1czogMnB4LCBAY29sb3IpIHsKCS8vCQkuLi4KCS8vCSB9CgkvLwoJLy8gVW50aWwgd2UgaGF2ZSBhIGZpbmVyIGdyYWluZWQgc3RhdGUtbWFjaGluZSwgd2UgaGF2ZSB0bwoJLy8gZG8gYSBsb29rLWFoZWFkLCB0byBtYWtlIHN1cmUgd2UgZG9uJ3QgaGF2ZSBhIG1peGluIGNhbGwuCgkvLyBTZWUgdGhlIGBydWxlYCBmdW5jdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KCS8vCgkvLyBXZSBzdGFydCBieSBtYXRjaGluZyBgLnJvdW5kZWQgKGAsIGFuZCB0aGVuIHByb2NlZWQgb24gdG8KCS8vIHRoZSBhcmd1bWVudCBsaXN0LCB3aGljaCBoYXMgb3B0aW9uYWwgZGVmYXVsdCB2YWx1ZXMuCgkvLyBXZSBzdG9yZSB0aGUgcGFyYW1ldGVycyBpbiBgcGFyYW1zYCwgd2l0aCBhIGB2YWx1ZWAga2V5LAoJLy8gaWYgdGhlcmUgaXMgYSB2YWx1ZSwgc3VjaCBhcyBpbiB0aGUgY2FzZSBvZiBgQHJhZGl1c2AuCgkvLwoJLy8gT25jZSB3ZSd2ZSBnb3Qgb3VyIHBhcmFtcyBsaXN0LCBhbmQgYSBjbG9zaW5nIGApYCwgd2UgcGFyc2UKCS8vIHRoZSBgey4uLn1gIGJsb2NrLgoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VNaXhpbkRlZmluaXRpb24oKXsKCQkkY29uZCA9IG51bGw7CgoJCSRjaGFyID0gJHRoaXMtPmlucHV0WyR0aGlzLT5wb3NdOwoJCWlmKCAoJGNoYXIgIT09ICcuJyAmJiAkY2hhciAhPT0gJyMnKSB8fCAoJGNoYXIgPT09ICd7JyAmJiAkdGhpcy0+UGVla1JlZygnL1xcR1tee10qXH0vJykpICl7CgkJCXJldHVybjsKCQl9CgoJCSR0aGlzLT5zYXZlKCk7CgoJCSRtYXRjaCA9ICR0aGlzLT5NYXRjaFJlZygnL1xcRyhbIy5dKD86W1x3LV18XFxcKD86W0EtRmEtZjAtOV17MSw2fSA/fFteQS1GYS1mMC05XSkpKylccypcKC8nKTsKCQlpZiggJG1hdGNoICl7CgkJCSRuYW1lID0gJG1hdGNoWzFdOwoKCQkJJGFyZ0luZm8gPSAkdGhpcy0+cGFyc2VNaXhpbkFyZ3MoIGZhbHNlICk7CgkJCSRwYXJhbXMgPSAkYXJnSW5mb1snYXJncyddOwoJCQkkdmFyaWFkaWMgPSAkYXJnSW5mb1sndmFyaWFkaWMnXTsKCgoJCQkvLyAubWl4aW5jYWxsKCJAe2F9Iik7CgkJCS8vIGxvb2tzIGEgYml0IGxpa2UgYSBtaXhpbiBkZWZpbml0aW9uLi4KCQkJLy8gYWxzbwoJCQkvLyAubWl4aW5jYWxsKEBhOiB7cnVsZTogc2V0O30pOwoJCQkvLyBzbyB3ZSBoYXZlIHRvIGJlIG5pY2UgYW5kIHJlc3RvcmUKCQkJaWYoICEkdGhpcy0+TWF0Y2hDaGFyKCcpJykgKXsKCQkJCSR0aGlzLT5mdXJ0aGVzdCA9ICR0aGlzLT5wb3M7CgkJCQkkdGhpcy0+cmVzdG9yZSgpOwoJCQkJcmV0dXJuOwoJCQl9CgoKCQkJJHRoaXMtPnBhcnNlQ29tbWVudHMoKTsKCgkJCWlmICgkdGhpcy0+TWF0Y2hSZWcoJy9cXEd3aGVuLycpKSB7IC8vIEd1YXJkCgkJCQkkY29uZCA9ICR0aGlzLT5leHBlY3QoJ3BhcnNlQ29uZGl0aW9ucycsICdFeHBlY3RlZCBjb25kaXRpb25zJyk7CgkJCX0KCgkJCSRydWxlc2V0ID0gJHRoaXMtPnBhcnNlQmxvY2soKTsKCgkJCWlmKCBpc19hcnJheSgkcnVsZXNldCkgKXsKCQkJCSR0aGlzLT5mb3JnZXQoKTsKCQkJCXJldHVybiAkdGhpcy0+TmV3T2JqNSgnTGVzc19UcmVlX01peGluX0RlZmluaXRpb24nLCBhcnJheSggJG5hbWUsICRwYXJhbXMsICRydWxlc2V0LCAkY29uZCwgJHZhcmlhZGljKSk7CgkJCX0KCgkJCSR0aGlzLT5yZXN0b3JlKCk7CgkJfWVsc2V7CgkJCSR0aGlzLT5mb3JnZXQoKTsKCQl9Cgl9CgoJLy8KCS8vIEVudGl0aWVzIGFyZSB0aGUgc21hbGxlc3QgcmVjb2duaXplZCB0b2tlbiwKCS8vIGFuZCBjYW4gYmUgZm91bmQgaW5zaWRlIGEgcnVsZSdzIHZhbHVlLgoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VFbnRpdHkoKXsKCgkJcmV0dXJuICR0aGlzLT5NYXRjaEZ1bmNzKCBhcnJheSgncGFyc2VFbnRpdGllc0xpdGVyYWwnLCdwYXJzZUVudGl0aWVzVmFyaWFibGUnLCdwYXJzZUVudGl0aWVzVXJsJywncGFyc2VFbnRpdGllc0NhbGwnLCdwYXJzZUVudGl0aWVzS2V5d29yZCcsJ3BhcnNlRW50aXRpZXNKYXZhc2NyaXB0JywncGFyc2VDb21tZW50JykgKTsKCX0KCgkvLwoJLy8gQSBSdWxlIHRlcm1pbmF0b3IuIE5vdGUgdGhhdCB3ZSB1c2UgYHBlZWsoKWAgdG8gY2hlY2sgZm9yICd9JywKCS8vIGJlY2F1c2UgdGhlIGBibG9ja2AgcnVsZSB3aWxsIGJlIGV4cGVjdGluZyBpdCwgYnV0IHdlIHN0aWxsIG5lZWQgdG8gbWFrZSBzdXJlCgkvLyBpdCdzIHRoZXJlLCBpZiAnOycgd2FzIG9tbWl0dGVkLgoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VFbmQoKXsKCQlyZXR1cm4gJHRoaXMtPk1hdGNoQ2hhcignOycpIHx8ICR0aGlzLT5QZWVrQ2hhcignfScpOwoJfQoKCS8vCgkvLyBJRSdzIGFscGhhIGZ1bmN0aW9uCgkvLwoJLy8JIGFscGhhKG9wYWNpdHk9ODgpCgkvLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUFscGhhKCl7CgoJCWlmICggISAkdGhpcy0+TWF0Y2hSZWcoJy9cXEdcKG9wYWNpdHk9L2knKSkgewoJCQlyZXR1cm47CgkJfQoKCQkkdmFsdWUgPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEdbMC05XSsvJyk7CgkJaWYoICR2YWx1ZSApewoJCQkkdmFsdWUgPSAkdmFsdWVbMF07CgkJfWVsc2V7CgkJCSR2YWx1ZSA9ICR0aGlzLT5wYXJzZUVudGl0aWVzVmFyaWFibGUoKTsKCQkJaWYoICEkdmFsdWUgKXsKCQkJCXJldHVybjsKCQkJfQoJCX0KCgkJJHRoaXMtPmV4cGVjdENoYXIoJyknKTsKCQlyZXR1cm4gJHRoaXMtPk5ld09iajEoJ0xlc3NfVHJlZV9BbHBoYScsJHZhbHVlKTsKCX0KCgoJLy8KCS8vIEEgU2VsZWN0b3IgRWxlbWVudAoJLy8KCS8vCSBkaXYKCS8vCSArIGgxCgkvLwkgI3NvY2tzCgkvLwkgaW5wdXRbdHlwZT0idGV4dCJdCgkvLwoJLy8gRWxlbWVudHMgYXJlIHRoZSBidWlsZGluZyBibG9ja3MgZm9yIFNlbGVjdG9ycywKCS8vIHRoZXkgYXJlIG1hZGUgb3V0IG9mIGEgYENvbWJpbmF0b3JgIChzZWUgY29tYmluYXRvciBydWxlKSwKCS8vIGFuZCBhbiBlbGVtZW50IG5hbWUsIHN1Y2ggYXMgYSB0YWcgYSBjbGFzcywgb3IgYCpgLgoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VFbGVtZW50KCl7CgkJJGMgPSAkdGhpcy0+cGFyc2VDb21iaW5hdG9yKCk7CgkJJGluZGV4ID0gJHRoaXMtPnBvczsKCgkJJGUgPSAkdGhpcy0+bWF0Y2goIGFycmF5KCcvXFxHKD86XGQrXC5cZCt8XGQrKSUvJywgJy9cXEcoPzpbLiNdP3w6KikoPzpbXHctXXxbXlx4MDAtXHg5Zl18XFxcXCg/OltBLUZhLWYwLTldezEsNn0gP3xbXkEtRmEtZjAtOV0pKSsvJywKCQkJJyMqJywgJyMmJywgJ3BhcnNlQXR0cmlidXRlJywgJy9cXEdcKFteKClAXStcKS8nLCAnL1xcR1tcLiNdKD89QCkvJywgJ3BhcnNlRW50aXRpZXNWYXJpYWJsZUN1cmx5JykgKTsKCgkJaWYoIGlzX251bGwoJGUpICl7CgkJCSR0aGlzLT5zYXZlKCk7CgkJCWlmKCAkdGhpcy0+TWF0Y2hDaGFyKCcoJykgKXsKCQkJCWlmKCAoJHYgPSAkdGhpcy0+cGFyc2VTZWxlY3RvcigpKSAmJiAkdGhpcy0+TWF0Y2hDaGFyKCcpJykgKXsKCQkJCQkkZSA9ICR0aGlzLT5OZXdPYmoxKCdMZXNzX1RyZWVfUGFyZW4nLCR2KTsKCQkJCQkkdGhpcy0+Zm9yZ2V0KCk7CgkJCQl9ZWxzZXsKCQkJCQkkdGhpcy0+cmVzdG9yZSgpOwoJCQkJfQoJCQl9ZWxzZXsKCQkJCSR0aGlzLT5mb3JnZXQoKTsKCQkJfQoJCX0KCgkJaWYoICFpc19udWxsKCRlKSApewoJCQlyZXR1cm4gJHRoaXMtPk5ld09iajQoJ0xlc3NfVHJlZV9FbGVtZW50JyxhcnJheSggJGMsICRlLCAkaW5kZXgsICR0aGlzLT5lbnYtPmN1cnJlbnRGaWxlSW5mbykpOwoJCX0KCX0KCgkvLwoJLy8gQ29tYmluYXRvcnMgY29tYmluZSBlbGVtZW50cyB0b2dldGhlciwgaW4gYSBTZWxlY3Rvci4KCS8vCgkvLyBCZWNhdXNlIG91ciBwYXJzZXIgaXNuJ3Qgd2hpdGUtc3BhY2Ugc2Vuc2l0aXZlLCBzcGVjaWFsIGNhcmUKCS8vIGhhcyB0byBiZSB0YWtlbiwgd2hlbiBwYXJzaW5nIHRoZSBkZXNjZW5kYW50IGNvbWJpbmF0b3IsIGAgYCwKCS8vIGFzIGl0J3MgYW4gZW1wdHkgc3BhY2UuIFdlIGhhdmUgdG8gY2hlY2sgdGhlIHByZXZpb3VzIGNoYXJhY3RlcgoJLy8gaW4gdGhlIGlucHV0LCB0byBzZWUgaWYgaXQncyBhIGAgYCBjaGFyYWN0ZXIuCgkvLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUNvbWJpbmF0b3IoKXsKCQlpZiggJHRoaXMtPnBvcyA8ICR0aGlzLT5pbnB1dF9sZW4gKXsKCQkJJGMgPSAkdGhpcy0+aW5wdXRbJHRoaXMtPnBvc107CgkJCWlmICgkYyA9PT0gJz4nIHx8ICRjID09PSAnKycgfHwgJGMgPT09ICd+JyB8fCAkYyA9PT0gJ3wnIHx8ICRjID09PSAnXicgKXsKCgkJCQkkdGhpcy0+cG9zKys7CgkJCQlpZiggJHRoaXMtPmlucHV0WyR0aGlzLT5wb3NdID09PSAnXicgKXsKCQkJCQkkYyA9ICdeXic7CgkJCQkJJHRoaXMtPnBvcysrOwoJCQkJfQoKCQkJCSR0aGlzLT5za2lwV2hpdGVzcGFjZSgwKTsKCgkJCQlyZXR1cm4gJGM7CgkJCX0KCgkJCWlmKCAkdGhpcy0+cG9zID4gMCAmJiAkdGhpcy0+aXNXaGl0ZXNwYWNlKC0xKSApewoJCQkJcmV0dXJuICcgJzsKCQkJfQoJCX0KCX0KCgkvLwoJLy8gQSBDU1Mgc2VsZWN0b3IgKHNlZSBzZWxlY3RvciBiZWxvdykKCS8vIHdpdGggbGVzcyBleHRlbnNpb25zIGUuZy4gdGhlIGFiaWxpdHkgdG8gZXh0ZW5kIGFuZCBndWFyZAoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VMZXNzU2VsZWN0b3IoKXsKCQlyZXR1cm4gJHRoaXMtPnBhcnNlU2VsZWN0b3IodHJ1ZSk7Cgl9CgoJLy8KCS8vIEEgQ1NTIFNlbGVjdG9yCgkvLwoJLy8JIC5jbGFzcyA+IGRpdiArIGgxCgkvLwkgbGkgYTpob3ZlcgoJLy8KCS8vIFNlbGVjdG9ycyBhcmUgbWFkZSBvdXQgb2Ygb25lIG9yIG1vcmUgRWxlbWVudHMsIHNlZSBhYm92ZS4KCS8vCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlU2VsZWN0b3IoICRpc0xlc3MgPSBmYWxzZSApewoJCSRlbGVtZW50cyA9IGFycmF5KCk7CgkJJGV4dGVuZExpc3QgPSBhcnJheSgpOwoJCSRjb25kaXRpb24gPSBudWxsOwoJCSR3aGVuID0gZmFsc2U7CgkJJGV4dGVuZCA9IGZhbHNlOwoJCSRlID0gbnVsbDsKCQkkYyA9IG51bGw7CgkJJGluZGV4ID0gJHRoaXMtPnBvczsKCgkJd2hpbGUoICgkaXNMZXNzICYmICgkZXh0ZW5kID0gJHRoaXMtPnBhcnNlRXh0ZW5kKCkpKSB8fCAoJGlzTGVzcyAmJiAoJHdoZW4gPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEd3aGVuLycpICkpIHx8ICgkZSA9ICR0aGlzLT5wYXJzZUVsZW1lbnQoKSkgKXsKCQkJaWYoICR3aGVuICl7CgkJCQkkY29uZGl0aW9uID0gJHRoaXMtPmV4cGVjdCgncGFyc2VDb25kaXRpb25zJywgJ2V4cGVjdGVkIGNvbmRpdGlvbicpOwoJCQl9ZWxzZWlmKCAkY29uZGl0aW9uICl7CgkJCQkvL2Vycm9yKCJDU1MgZ3VhcmQgY2FuIG9ubHkgYmUgdXNlZCBhdCB0aGUgZW5kIG9mIHNlbGVjdG9yIik7CgkJCX1lbHNlaWYoICRleHRlbmQgKXsKCQkJCSRleHRlbmRMaXN0ID0gYXJyYXlfbWVyZ2UoJGV4dGVuZExpc3QsJGV4dGVuZCk7CgkJCX1lbHNlewoJCQkJLy9pZiggY291bnQoJGV4dGVuZExpc3QpICl7CgkJCQkJLy9lcnJvcigiRXh0ZW5kIGNhbiBvbmx5IGJlIHVzZWQgYXQgdGhlIGVuZCBvZiBzZWxlY3RvciIpOwoJCQkJLy99CgkJCQlpZiggJHRoaXMtPnBvcyA8ICR0aGlzLT5pbnB1dF9sZW4gKXsKCQkJCQkkYyA9ICR0aGlzLT5pbnB1dFsgJHRoaXMtPnBvcyBdOwoJCQkJfQoJCQkJJGVsZW1lbnRzW10gPSAkZTsKCQkJCSRlID0gbnVsbDsKCQkJfQoKCQkJaWYoICRjID09PSAneycgfHwgJGMgPT09ICd9JyB8fCAkYyA9PT0gJzsnIHx8ICRjID09PSAnLCcgfHwgJGMgPT09ICcpJykgeyBicmVhazsgfQoJCX0KCgkJaWYoICRlbGVtZW50cyApewoJCQlyZXR1cm4gJHRoaXMtPk5ld09iajUoJ0xlc3NfVHJlZV9TZWxlY3RvcicsYXJyYXkoJGVsZW1lbnRzLCAkZXh0ZW5kTGlzdCwgJGNvbmRpdGlvbiwgJGluZGV4LCAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm8pKTsKCQl9CgkJaWYoICRleHRlbmRMaXN0ICkgewoJCQkkdGhpcy0+RXJyb3IoJ0V4dGVuZCBtdXN0IGJlIHVzZWQgdG8gZXh0ZW5kIGEgc2VsZWN0b3IsIGl0IGNhbm5vdCBiZSB1c2VkIG9uIGl0cyBvd24nKTsKCQl9Cgl9CgoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZVRhZygpewoJCXJldHVybiAoICR0YWcgPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEdbQS1aYS16XVtBLVphLXotXSpbMC05XT8vJykgKSA/ICR0YWcgOiAkdGhpcy0+TWF0Y2hDaGFyKCcqJyk7Cgl9CgoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUF0dHJpYnV0ZSgpewoKCQkkdmFsID0gbnVsbDsKCgkJaWYoICEkdGhpcy0+TWF0Y2hDaGFyKCdbJykgKXsKCQkJcmV0dXJuOwoJCX0KCgkJJGtleSA9ICR0aGlzLT5wYXJzZUVudGl0aWVzVmFyaWFibGVDdXJseSgpOwoJCWlmKCAhJGtleSApewoJCQkka2V5ID0gJHRoaXMtPmV4cGVjdCgnL1xcRyg/OltfQS1aYS16MC05LVwqXSpcfCk/KD86W19BLVphLXowLTktXXxcXFxcLikrLycpOwoJCX0KCgkJJG9wID0gJHRoaXMtPk1hdGNoUmVnKCcvXFxHW3x+KiReXT89LycpOwoJCWlmKCAkb3AgKXsKCQkJJHZhbCA9ICR0aGlzLT5tYXRjaCggYXJyYXkoJ3BhcnNlRW50aXRpZXNRdW90ZWQnLCcvXFxHWzAtOV0rJS8nLCcvXFxHW1x3LV0rLycsJ3BhcnNlRW50aXRpZXNWYXJpYWJsZUN1cmx5JykgKTsKCQl9CgoJCSR0aGlzLT5leHBlY3RDaGFyKCddJyk7CgoJCXJldHVybiAkdGhpcy0+TmV3T2JqMygnTGVzc19UcmVlX0F0dHJpYnV0ZScsYXJyYXkoICRrZXksICRvcFswXSwgJHZhbCkpOwoJfQoKCS8vCgkvLyBUaGUgYGJsb2NrYCBydWxlIGlzIHVzZWQgYnkgYHJ1bGVzZXRgIGFuZCBgbWl4aW4uZGVmaW5pdGlvbmAuCgkvLyBJdCdzIGEgd3JhcHBlciBhcm91bmQgdGhlIGBwcmltYXJ5YCBydWxlLCB3aXRoIGFkZGVkIGB7fWAuCgkvLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUJsb2NrKCl7CgkJaWYoICR0aGlzLT5NYXRjaENoYXIoJ3snKSApewoJCQkkY29udGVudCA9ICR0aGlzLT5wYXJzZVByaW1hcnkoKTsKCQkJaWYoICR0aGlzLT5NYXRjaENoYXIoJ30nKSApewoJCQkJcmV0dXJuICRjb250ZW50OwoJCQl9CgkJfQoJfQoKCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VCbG9ja1J1bGVzZXQoKXsKCQkkYmxvY2sgPSAkdGhpcy0+cGFyc2VCbG9jaygpOwoKCQlpZiggJGJsb2NrICl7CgkJCSRibG9jayA9ICR0aGlzLT5OZXdPYmoyKCdMZXNzX1RyZWVfUnVsZXNldCcsYXJyYXkoIG51bGwsICRibG9jaykpOwoJCX0KCgkJcmV0dXJuICRibG9jazsKCX0KCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlRGV0YWNoZWRSdWxlc2V0KCl7CgkJJGJsb2NrUnVsZXNldCA9ICR0aGlzLT5wYXJzZUJsb2NrUnVsZXNldCgpOwoJCWlmKCAkYmxvY2tSdWxlc2V0ICl7CgkJCXJldHVybiAkdGhpcy0+TmV3T2JqMSgnTGVzc19UcmVlX0RldGFjaGVkUnVsZXNldCcsJGJsb2NrUnVsZXNldCk7CgkJfQoJfQoKCS8vCgkvLyBkaXYsIC5jbGFzcywgYm9keSA+IHAgey4uLn0KCS8vCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlUnVsZXNldCgpewoJCSRzZWxlY3RvcnMgPSBhcnJheSgpOwoKCQkkdGhpcy0+c2F2ZSgpOwoKCQl3aGlsZSggdHJ1ZSApewoJCQkkcyA9ICR0aGlzLT5wYXJzZUxlc3NTZWxlY3RvcigpOwoJCQlpZiggISRzICl7CgkJCQlicmVhazsKCQkJfQoJCQkkc2VsZWN0b3JzW10gPSAkczsKCQkJJHRoaXMtPnBhcnNlQ29tbWVudHMoKTsKCgkJCWlmKCAkcy0+Y29uZGl0aW9uICYmIGNvdW50KCRzZWxlY3RvcnMpID4gMSApewoJCQkJJHRoaXMtPkVycm9yKCdHdWFyZHMgYXJlIG9ubHkgY3VycmVudGx5IGFsbG93ZWQgb24gYSBzaW5nbGUgc2VsZWN0b3IuJyk7CgkJCX0KCgkJCWlmKCAhJHRoaXMtPk1hdGNoQ2hhcignLCcpICl7CgkJCQlicmVhazsKCQkJfQoJCQlpZiggJHMtPmNvbmRpdGlvbiApewoJCQkJJHRoaXMtPkVycm9yKCdHdWFyZHMgYXJlIG9ubHkgY3VycmVudGx5IGFsbG93ZWQgb24gYSBzaW5nbGUgc2VsZWN0b3IuJyk7CgkJCX0KCQkJJHRoaXMtPnBhcnNlQ29tbWVudHMoKTsKCQl9CgoKCQlpZiggJHNlbGVjdG9ycyApewoJCQkkcnVsZXMgPSAkdGhpcy0+cGFyc2VCbG9jaygpOwoJCQlpZiggaXNfYXJyYXkoJHJ1bGVzKSApewoJCQkJJHRoaXMtPmZvcmdldCgpOwoJCQkJcmV0dXJuICR0aGlzLT5OZXdPYmoyKCdMZXNzX1RyZWVfUnVsZXNldCcsYXJyYXkoICRzZWxlY3RvcnMsICRydWxlcykpOyAvL0xlc3NfRW52aXJvbm1lbnQ6OiRzdHJpY3RJbXBvcnRzCgkJCX0KCQl9CgoJCS8vIEJhY2t0cmFjawoJCSR0aGlzLT5mdXJ0aGVzdCA9ICR0aGlzLT5wb3M7CgkJJHRoaXMtPnJlc3RvcmUoKTsKCX0KCgkvKioKCSAqIEN1c3RvbSBsZXNzLnBocCBwYXJzZSBmdW5jdGlvbiBmb3IgZmluZGluZyBzaW1wbGUgbmFtZS12YWx1ZSBjc3MgcGFpcnMKCSAqIGV4OiB3aWR0aDoxMDBweDsKCSAqCgkgKi8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VOYW1lVmFsdWUoKXsKCgkJJGluZGV4ID0gJHRoaXMtPnBvczsKCQkkdGhpcy0+c2F2ZSgpOwoKCgkJLy8kbWF0Y2ggPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEcoW2EtekEtWlwtXSspXHMqOlxzKigoPzpcJyIpP1thLXpBLVowLTlcLSUgXC4sIV0rPyg/OlwnIik/KVxzKihbO31dKS8nKTsKCQkkbWF0Y2ggPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEcoW2EtekEtWlwtXSspXHMqOlxzKihbXCciXT9bI2EtekEtWjAtOVwtJVwuLF0rP1tcJyJdPykgKighICppbXBvcnRhbnQpP1xzKihbO31dKS8nKTsKCQlpZiggJG1hdGNoICl7CgoJCQlpZiggJG1hdGNoWzRdID09ICd9JyApewoJCQkJJHRoaXMtPnBvcyA9ICRpbmRleCArIHN0cmxlbigkbWF0Y2hbMF0pLTE7CgkJCX0KCgkJCWlmKCAkbWF0Y2hbM10gKXsKCQkJCSRtYXRjaFsyXSAuPSAnICFpbXBvcnRhbnQnOwoJCQl9CgoJCQlyZXR1cm4gJHRoaXMtPk5ld09iajQoJ0xlc3NfVHJlZV9OYW1lVmFsdWUnLGFycmF5KCAkbWF0Y2hbMV0sICRtYXRjaFsyXSwgJGluZGV4LCAkdGhpcy0+ZW52LT5jdXJyZW50RmlsZUluZm8pKTsKCQl9CgoJCSR0aGlzLT5yZXN0b3JlKCk7Cgl9CgoKCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VSdWxlKCAkdHJ5QW5vbnltb3VzID0gbnVsbCApewoKCQkkbWVyZ2UgPSBmYWxzZTsKCQkkc3RhcnRPZlJ1bGUgPSAkdGhpcy0+cG9zOwoKCQkkYyA9ICR0aGlzLT5pbnB1dFskdGhpcy0+cG9zXTsKCQlpZiggJGMgPT09ICcuJyB8fCAkYyA9PT0gJyMnIHx8ICRjID09PSAnJicgKXsKCQkJcmV0dXJuOwoJCX0KCgkJJHRoaXMtPnNhdmUoKTsKCQkkbmFtZSA9ICR0aGlzLT5NYXRjaEZ1bmNzKCBhcnJheSgncGFyc2VWYXJpYWJsZScsJ3BhcnNlUnVsZVByb3BlcnR5JykpOwoKCQlpZiggJG5hbWUgKXsKCgkJCSRpc1ZhcmlhYmxlID0gaXNfc3RyaW5nKCRuYW1lKTsKCgkJCSR2YWx1ZSA9IG51bGw7CgkJCWlmKCAkaXNWYXJpYWJsZSApewoJCQkJJHZhbHVlID0gJHRoaXMtPnBhcnNlRGV0YWNoZWRSdWxlc2V0KCk7CgkJCX0KCgkJCSRpbXBvcnRhbnQgPSBudWxsOwoJCQlpZiggISR2YWx1ZSApewoKCQkJCS8vIHByZWZlciB0byB0cnkgdG8gcGFyc2UgZmlyc3QgaWYgaXRzIGEgdmFyaWFibGUgb3Igd2UgYXJlIGNvbXByZXNzaW5nCgkJCQkvLyBidXQgYWx3YXlzIGZhbGxiYWNrIG9uIHRoZSBvdGhlciBvbmUKCQkJCS8vaWYoICEkdHJ5QW5vbnltb3VzICYmIGlzX3N0cmluZygkbmFtZSkgJiYgJG5hbWVbMF0gPT09ICdAJyApewoJCQkJaWYoICEkdHJ5QW5vbnltb3VzICYmIChMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ2NvbXByZXNzJ10gfHwgJGlzVmFyaWFibGUpICl7CgkJCQkJJHZhbHVlID0gJHRoaXMtPk1hdGNoRnVuY3MoIGFycmF5KCdwYXJzZVZhbHVlJywncGFyc2VBbm9ueW1vdXNWYWx1ZScpKTsKCQkJCX1lbHNlewoJCQkJCSR2YWx1ZSA9ICR0aGlzLT5NYXRjaEZ1bmNzKCBhcnJheSgncGFyc2VBbm9ueW1vdXNWYWx1ZScsJ3BhcnNlVmFsdWUnKSk7CgkJCQl9CgoJCQkJJGltcG9ydGFudCA9ICR0aGlzLT5wYXJzZUltcG9ydGFudCgpOwoKCQkJCS8vIGEgbmFtZSByZXR1cm5lZCBieSB0aGlzLnJ1bGVQcm9wZXJ0eSgpIGlzIGFsd2F5cyBhbiBhcnJheSBvZiB0aGUgZm9ybToKCQkJCS8vIFtzdHJpbmctMSwgLi4uLCBzdHJpbmctbiwgIiJdIG9yIFtzdHJpbmctMSwgLi4uLCBzdHJpbmctbiwgIisiXQoJCQkJLy8gd2hlcmUgZWFjaCBpdGVtIGlzIGEgdHJlZS5LZXl3b3JkIG9yIHRyZWUuVmFyaWFibGUKCQkJCWlmKCAhJGlzVmFyaWFibGUgJiYgaXNfYXJyYXkoJG5hbWUpICl7CgkJCQkJJG5tID0gYXJyYXlfcG9wKCRuYW1lKTsKCQkJCQlpZiggJG5tLT52YWx1ZSApewoJCQkJCQkkbWVyZ2UgPSAkbm0tPnZhbHVlOwoJCQkJCX0KCQkJCX0KCQkJfQoKCgkJCWlmKCAkdmFsdWUgJiYgJHRoaXMtPnBhcnNlRW5kKCkgKXsKCQkJCSR0aGlzLT5mb3JnZXQoKTsKCQkJCXJldHVybiAkdGhpcy0+TmV3T2JqNignTGVzc19UcmVlX1J1bGUnLGFycmF5KCAkbmFtZSwgJHZhbHVlLCAkaW1wb3J0YW50LCAkbWVyZ2UsICRzdGFydE9mUnVsZSwgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvKSk7CgkJCX1lbHNlewoJCQkJJHRoaXMtPmZ1cnRoZXN0ID0gJHRoaXMtPnBvczsKCQkJCSR0aGlzLT5yZXN0b3JlKCk7CgkJCQlpZiggJHZhbHVlICYmICEkdHJ5QW5vbnltb3VzICl7CgkJCQkJcmV0dXJuICR0aGlzLT5wYXJzZVJ1bGUodHJ1ZSk7CgkJCQl9CgkJCX0KCQl9ZWxzZXsKCQkJJHRoaXMtPmZvcmdldCgpOwoJCX0KCX0KCglmdW5jdGlvbiBwYXJzZUFub255bW91c1ZhbHVlKCl7CgoJCWlmKCBwcmVnX21hdGNoKCcvXFxHKFteQCtcL1wnIipgKDt7fS1dKik7LycsJHRoaXMtPmlucHV0LCAkbWF0Y2gsIDAsICR0aGlzLT5wb3MpICl7CgkJCSR0aGlzLT5wb3MgKz0gc3RybGVuKCRtYXRjaFsxXSk7CgkJCXJldHVybiAkdGhpcy0+TmV3T2JqMSgnTGVzc19UcmVlX0Fub255bW91cycsJG1hdGNoWzFdKTsKCQl9Cgl9CgoJLy8KCS8vIEFuIEBpbXBvcnQgZGlyZWN0aXZlCgkvLwoJLy8JIEBpbXBvcnQgImxpYiI7CgkvLwoJLy8gRGVwZW5kaW5nIG9uIG91ciBlbnZpcm9ubWVudCwgaW1wb3J0aW5nIGlzIGRvbmUgZGlmZmVyZW50bHk6CgkvLyBJbiB0aGUgYnJvd3NlciwgaXQncyBhbiBYSFIgcmVxdWVzdCwgaW4gTm9kZSwgaXQgd291bGQgYmUgYQoJLy8gZmlsZS1zeXN0ZW0gb3BlcmF0aW9uLiBUaGUgZnVuY3Rpb24gdXNlZCBmb3IgaW1wb3J0aW5nIGlzCgkvLyBzdG9yZWQgaW4gYGltcG9ydGAsIHdoaWNoIHdlIHBhc3MgdG8gdGhlIEltcG9ydCBjb25zdHJ1Y3Rvci4KCS8vCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlSW1wb3J0KCl7CgoJCSR0aGlzLT5zYXZlKCk7CgoJCSRkaXIgPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEdAaW1wb3J0P1xzKy8nKTsKCgkJaWYoICRkaXIgKXsKCQkJJG9wdGlvbnMgPSAkdGhpcy0+cGFyc2VJbXBvcnRPcHRpb25zKCk7CgkJCSRwYXRoID0gJHRoaXMtPk1hdGNoRnVuY3MoIGFycmF5KCdwYXJzZUVudGl0aWVzUXVvdGVkJywncGFyc2VFbnRpdGllc1VybCcpKTsKCgkJCWlmKCAkcGF0aCApewoJCQkJJGZlYXR1cmVzID0gJHRoaXMtPnBhcnNlTWVkaWFGZWF0dXJlcygpOwoJCQkJaWYoICR0aGlzLT5NYXRjaENoYXIoJzsnKSApewoJCQkJCWlmKCAkZmVhdHVyZXMgKXsKCQkJCQkJJGZlYXR1cmVzID0gJHRoaXMtPk5ld09iajEoJ0xlc3NfVHJlZV9WYWx1ZScsJGZlYXR1cmVzKTsKCQkJCQl9CgoJCQkJCSR0aGlzLT5mb3JnZXQoKTsKCQkJCQlyZXR1cm4gJHRoaXMtPk5ld09iajUoJ0xlc3NfVHJlZV9JbXBvcnQnLGFycmF5KCAkcGF0aCwgJGZlYXR1cmVzLCAkb3B0aW9ucywgJHRoaXMtPnBvcywgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvKSk7CgkJCQl9CgkJCX0KCQl9CgoJCSR0aGlzLT5yZXN0b3JlKCk7Cgl9CgoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUltcG9ydE9wdGlvbnMoKXsKCgkJJG9wdGlvbnMgPSBhcnJheSgpOwoKCQkvLyBsaXN0IG9mIG9wdGlvbnMsIHN1cnJvdW5kZWQgYnkgcGFyZW5zCgkJaWYoICEkdGhpcy0+TWF0Y2hDaGFyKCcoJykgKXsKCQkJcmV0dXJuICRvcHRpb25zOwoJCX0KCQlkb3sKCQkJJG9wdGlvbk5hbWUgPSAkdGhpcy0+cGFyc2VJbXBvcnRPcHRpb24oKTsKCQkJaWYoICRvcHRpb25OYW1lICl7CgkJCQkkdmFsdWUgPSB0cnVlOwoJCQkJc3dpdGNoKCAkb3B0aW9uTmFtZSApewoJCQkJCWNhc2UgImNzcyI6CgkJCQkJCSRvcHRpb25OYW1lID0gImxlc3MiOwoJCQkJCQkkdmFsdWUgPSBmYWxzZTsKCQkJCQlicmVhazsKCQkJCQljYXNlICJvbmNlIjoKCQkJCQkJJG9wdGlvbk5hbWUgPSAibXVsdGlwbGUiOwoJCQkJCQkkdmFsdWUgPSBmYWxzZTsKCQkJCQlicmVhazsKCQkJCX0KCQkJCSRvcHRpb25zWyRvcHRpb25OYW1lXSA9ICR2YWx1ZTsKCQkJCWlmKCAhJHRoaXMtPk1hdGNoQ2hhcignLCcpICl7IGJyZWFrOyB9CgkJCX0KCQl9d2hpbGUoICRvcHRpb25OYW1lICk7CgkJJHRoaXMtPmV4cGVjdENoYXIoJyknKTsKCQlyZXR1cm4gJG9wdGlvbnM7Cgl9CgoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUltcG9ydE9wdGlvbigpewoJCSRvcHQgPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEcobGVzc3xjc3N8bXVsdGlwbGV8b25jZXxpbmxpbmV8cmVmZXJlbmNlKS8nKTsKCQlpZiggJG9wdCApewoJCQlyZXR1cm4gJG9wdFsxXTsKCQl9Cgl9CgoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZU1lZGlhRmVhdHVyZSgpIHsKCQkkbm9kZXMgPSBhcnJheSgpOwoKCQlkb3sKCQkJJGUgPSAkdGhpcy0+TWF0Y2hGdW5jcyhhcnJheSgncGFyc2VFbnRpdGllc0tleXdvcmQnLCdwYXJzZUVudGl0aWVzVmFyaWFibGUnKSk7CgkJCWlmKCAkZSApewoJCQkJJG5vZGVzW10gPSAkZTsKCQkJfSBlbHNlaWYgKCR0aGlzLT5NYXRjaENoYXIoJygnKSkgewoJCQkJJHAgPSAkdGhpcy0+cGFyc2VQcm9wZXJ0eSgpOwoJCQkJJGUgPSAkdGhpcy0+cGFyc2VWYWx1ZSgpOwoJCQkJaWYgKCR0aGlzLT5NYXRjaENoYXIoJyknKSkgewoJCQkJCWlmICgkcCAmJiAkZSkgewoJCQkJCQkkciA9ICR0aGlzLT5OZXdPYmo3KCdMZXNzX1RyZWVfUnVsZScsIGFycmF5KCAkcCwgJGUsIG51bGwsIG51bGwsICR0aGlzLT5wb3MsICR0aGlzLT5lbnYtPmN1cnJlbnRGaWxlSW5mbywgdHJ1ZSkpOwoJCQkJCQkkbm9kZXNbXSA9ICR0aGlzLT5OZXdPYmoxKCdMZXNzX1RyZWVfUGFyZW4nLCRyKTsKCQkJCQl9IGVsc2VpZiAoJGUpIHsKCQkJCQkJJG5vZGVzW10gPSAkdGhpcy0+TmV3T2JqMSgnTGVzc19UcmVlX1BhcmVuJywkZSk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJcmV0dXJuIG51bGw7CgkJCQkJfQoJCQkJfSBlbHNlCgkJCQkJcmV0dXJuIG51bGw7CgkJCX0KCQl9IHdoaWxlICgkZSk7CgoJCWlmICgkbm9kZXMpIHsKCQkJcmV0dXJuICR0aGlzLT5OZXdPYmoxKCdMZXNzX1RyZWVfRXhwcmVzc2lvbicsJG5vZGVzKTsKCQl9Cgl9CgoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZU1lZGlhRmVhdHVyZXMoKSB7CgkJJGZlYXR1cmVzID0gYXJyYXkoKTsKCgkJZG97CgkJCSRlID0gJHRoaXMtPnBhcnNlTWVkaWFGZWF0dXJlKCk7CgkJCWlmKCAkZSApewoJCQkJJGZlYXR1cmVzW10gPSAkZTsKCQkJCWlmICghJHRoaXMtPk1hdGNoQ2hhcignLCcpKSBicmVhazsKCQkJfWVsc2V7CgkJCQkkZSA9ICR0aGlzLT5wYXJzZUVudGl0aWVzVmFyaWFibGUoKTsKCQkJCWlmKCAkZSApewoJCQkJCSRmZWF0dXJlc1tdID0gJGU7CgkJCQkJaWYgKCEkdGhpcy0+TWF0Y2hDaGFyKCcsJykpIGJyZWFrOwoJCQkJfQoJCQl9CgkJfSB3aGlsZSAoJGUpOwoKCQlyZXR1cm4gJGZlYXR1cmVzID8gJGZlYXR1cmVzIDogbnVsbDsKCX0KCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlTWVkaWEoKSB7CgkJaWYoICR0aGlzLT5NYXRjaFJlZygnL1xcR0BtZWRpYS8nKSApewoJCQkkZmVhdHVyZXMgPSAkdGhpcy0+cGFyc2VNZWRpYUZlYXR1cmVzKCk7CgkJCSRydWxlcyA9ICR0aGlzLT5wYXJzZUJsb2NrKCk7CgoJCQlpZiggaXNfYXJyYXkoJHJ1bGVzKSApewoJCQkJcmV0dXJuICR0aGlzLT5OZXdPYmo0KCdMZXNzX1RyZWVfTWVkaWEnLGFycmF5KCAkcnVsZXMsICRmZWF0dXJlcywgJHRoaXMtPnBvcywgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvKSk7CgkJCX0KCQl9Cgl9CgoKCS8vCgkvLyBBIENTUyBEaXJlY3RpdmUKCS8vCgkvLyBAY2hhcnNldCAidXRmLTgiOwoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VEaXJlY3RpdmUoKXsKCgkJaWYoICEkdGhpcy0+UGVla0NoYXIoJ0AnKSApewoJCQlyZXR1cm47CgkJfQoKCQkkcnVsZXMgPSBudWxsOwoJCSRpbmRleCA9ICR0aGlzLT5wb3M7CgkJJGhhc0Jsb2NrID0gdHJ1ZTsKCQkkaGFzSWRlbnRpZmllciA9IGZhbHNlOwoJCSRoYXNFeHByZXNzaW9uID0gZmFsc2U7CgkJJGhhc1Vua25vd24gPSBmYWxzZTsKCgoJCSR2YWx1ZSA9ICR0aGlzLT5NYXRjaEZ1bmNzKGFycmF5KCdwYXJzZUltcG9ydCcsJ3BhcnNlTWVkaWEnKSk7CgkJaWYoICR2YWx1ZSApewoJCQlyZXR1cm4gJHZhbHVlOwoJCX0KCgkJJHRoaXMtPnNhdmUoKTsKCgkJJG5hbWUgPSAkdGhpcy0+TWF0Y2hSZWcoJy9cXEdAW2Etei1dKy8nKTsKCgkJaWYoICEkbmFtZSApIHJldHVybjsKCQkkbmFtZSA9ICRuYW1lWzBdOwoKCgkJJG5vblZlbmRvclNwZWNpZmljTmFtZSA9ICRuYW1lOwoJCSRwb3MgPSBzdHJwb3MoJG5hbWUsJy0nLCAyKTsKCQlpZiggJG5hbWVbMV0gPT0gJy0nICYmICRwb3MgPiAwICl7CgkJCSRub25WZW5kb3JTcGVjaWZpY05hbWUgPSAiQCIgLiBzdWJzdHIoJG5hbWUsICRwb3MgKyAxKTsKCQl9CgoKCQlzd2l0Y2goICRub25WZW5kb3JTcGVjaWZpY05hbWUgKXsKCQkJLyoKCQkJY2FzZSAiQGZvbnQtZmFjZSI6CgkJCWNhc2UgIkB2aWV3cG9ydCI6CgkJCWNhc2UgIkB0b3AtbGVmdCI6CgkJCWNhc2UgIkB0b3AtbGVmdC1jb3JuZXIiOgoJCQljYXNlICJAdG9wLWNlbnRlciI6CgkJCWNhc2UgIkB0b3AtcmlnaHQiOgoJCQljYXNlICJAdG9wLXJpZ2h0LWNvcm5lciI6CgkJCWNhc2UgIkBib3R0b20tbGVmdCI6CgkJCWNhc2UgIkBib3R0b20tbGVmdC1jb3JuZXIiOgoJCQljYXNlICJAYm90dG9tLWNlbnRlciI6CgkJCWNhc2UgIkBib3R0b20tcmlnaHQiOgoJCQljYXNlICJAYm90dG9tLXJpZ2h0LWNvcm5lciI6CgkJCWNhc2UgIkBsZWZ0LXRvcCI6CgkJCWNhc2UgIkBsZWZ0LW1pZGRsZSI6CgkJCWNhc2UgIkBsZWZ0LWJvdHRvbSI6CgkJCWNhc2UgIkByaWdodC10b3AiOgoJCQljYXNlICJAcmlnaHQtbWlkZGxlIjoKCQkJY2FzZSAiQHJpZ2h0LWJvdHRvbSI6CgkJCWhhc0Jsb2NrID0gdHJ1ZTsKCQkJYnJlYWs7CgkJCSovCgkJCWNhc2UgIkBjaGFyc2V0IjoKCQkJCSRoYXNJZGVudGlmaWVyID0gdHJ1ZTsKCQkJCSRoYXNCbG9jayA9IGZhbHNlOwoJCQkJYnJlYWs7CgkJCWNhc2UgIkBuYW1lc3BhY2UiOgoJCQkJJGhhc0V4cHJlc3Npb24gPSB0cnVlOwoJCQkJJGhhc0Jsb2NrID0gZmFsc2U7CgkJCQlicmVhazsKCQkJY2FzZSAiQGtleWZyYW1lcyI6CgkJCQkkaGFzSWRlbnRpZmllciA9IHRydWU7CgkJCQlicmVhazsKCQkJY2FzZSAiQGhvc3QiOgoJCQljYXNlICJAcGFnZSI6CgkJCWNhc2UgIkBkb2N1bWVudCI6CgkJCWNhc2UgIkBzdXBwb3J0cyI6CgkJCQkkaGFzVW5rbm93biA9IHRydWU7CgkJCQlicmVhazsKCQl9CgoJCWlmKCAkaGFzSWRlbnRpZmllciApewoJCQkkdmFsdWUgPSAkdGhpcy0+cGFyc2VFbnRpdHkoKTsKCQkJaWYoICEkdmFsdWUgKXsKCQkJCSR0aGlzLT5lcnJvcigiZXhwZWN0ZWQgIiAuICRuYW1lIC4gIiBpZGVudGlmaWVyIik7CgkJCX0KCQl9IGVsc2UgaWYoICRoYXNFeHByZXNzaW9uICl7CgkJCSR2YWx1ZSA9ICR0aGlzLT5wYXJzZUV4cHJlc3Npb24oKTsKCQkJaWYoICEkdmFsdWUgKXsKCQkJCSR0aGlzLT5lcnJvcigiZXhwZWN0ZWQgIiAuICRuYW1lLiAiIGV4cHJlc3Npb24iKTsKCQkJfQoJCX0gZWxzZSBpZiAoJGhhc1Vua25vd24pIHsKCgkJCSR2YWx1ZSA9ICR0aGlzLT5NYXRjaFJlZygnL1xcR1teeztdKy8nKTsKCQkJaWYoICR2YWx1ZSApewoJCQkJJHZhbHVlID0gJHRoaXMtPk5ld09iajEoJ0xlc3NfVHJlZV9Bbm9ueW1vdXMnLHRyaW0oJHZhbHVlWzBdKSk7CgkJCX0KCQl9CgoJCWlmKCAkaGFzQmxvY2sgKXsKCQkJJHJ1bGVzID0gJHRoaXMtPnBhcnNlQmxvY2tSdWxlc2V0KCk7CgkJfQoKCQlpZiggJHJ1bGVzIHx8ICghJGhhc0Jsb2NrICYmICR2YWx1ZSAmJiAkdGhpcy0+TWF0Y2hDaGFyKCc7JykpKSB7CgkJCSR0aGlzLT5mb3JnZXQoKTsKCQkJcmV0dXJuICR0aGlzLT5OZXdPYmo1KCdMZXNzX1RyZWVfRGlyZWN0aXZlJyxhcnJheSgkbmFtZSwgJHZhbHVlLCAkcnVsZXMsICRpbmRleCwgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvKSk7CgkJfQoKCQkkdGhpcy0+cmVzdG9yZSgpOwoJfQoKCgkvLwoJLy8gQSBWYWx1ZSBpcyBhIGNvbW1hLWRlbGltaXRlZCBsaXN0IG9mIEV4cHJlc3Npb25zCgkvLwoJLy8JIGZvbnQtZmFtaWx5OiBCYXNrZXJ2aWxsZSwgR2VvcmdpYSwgc2VyaWY7CgkvLwoJLy8gSW4gYSBSdWxlLCBhIFZhbHVlIHJlcHJlc2VudHMgZXZlcnl0aGluZyBhZnRlciB0aGUgYDpgLAoJLy8gYW5kIGJlZm9yZSB0aGUgYDtgLgoJLy8KCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VWYWx1ZSgpewoJCSRleHByZXNzaW9ucyA9IGFycmF5KCk7CgoJCWRvewoJCQkkZSA9ICR0aGlzLT5wYXJzZUV4cHJlc3Npb24oKTsKCQkJaWYoICRlICl7CgkJCQkkZXhwcmVzc2lvbnNbXSA9ICRlOwoJCQkJaWYgKCEgJHRoaXMtPk1hdGNoQ2hhcignLCcpKSB7CgkJCQkJYnJlYWs7CgkJCQl9CgkJCX0KCQl9d2hpbGUoJGUpOwoKCQlpZiggJGV4cHJlc3Npb25zICl7CgkJCXJldHVybiAkdGhpcy0+TmV3T2JqMSgnTGVzc19UcmVlX1ZhbHVlJywkZXhwcmVzc2lvbnMpOwoJCX0KCX0KCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlSW1wb3J0YW50ICgpewoJCWlmKCAkdGhpcy0+UGVla0NoYXIoJyEnKSAmJiAkdGhpcy0+TWF0Y2hSZWcoJy9cXEchICppbXBvcnRhbnQvJykgKXsKCQkJcmV0dXJuICcgIWltcG9ydGFudCc7CgkJfQoJfQoKCXByaXZhdGUgZnVuY3Rpb24gcGFyc2VTdWIgKCl7CgoJCWlmKCAkdGhpcy0+TWF0Y2hDaGFyKCcoJykgKXsKCQkJJGEgPSAkdGhpcy0+cGFyc2VBZGRpdGlvbigpOwoJCQlpZiggJGEgKXsKCQkJCSR0aGlzLT5leHBlY3RDaGFyKCcpJyk7CgkJCQlyZXR1cm4gJHRoaXMtPk5ld09iajIoJ0xlc3NfVHJlZV9FeHByZXNzaW9uJyxhcnJheSggYXJyYXkoJGEpLCB0cnVlKSApOyAvL2luc3RlYWQgb2YgJGUtPnBhcmVucyA9IHRydWUgc28gdGhlIHZhbHVlIGlzIGNhY2hlZAoJCQl9CgkJfQoJfQoKCgkvKioKCSAqIFBhcnNlcyBtdWx0aXBsaWNhdGlvbiBvcGVyYXRpb24KCSAqCgkgKiBAcmV0dXJuIExlc3NfVHJlZV9PcGVyYXRpb258bnVsbAoJICovCglmdW5jdGlvbiBwYXJzZU11bHRpcGxpY2F0aW9uKCl7CgoJCSRyZXR1cm4gPSAkbSA9ICR0aGlzLT5wYXJzZU9wZXJhbmQoKTsKCQlpZiggJHJldHVybiApewoJCQl3aGlsZSggdHJ1ZSApewoKCQkJCSRpc1NwYWNlZCA9ICR0aGlzLT5pc1doaXRlc3BhY2UoIC0xICk7CgoJCQkJaWYoICR0aGlzLT5QZWVrUmVnKCcvXFxHXC9bKlwvXS8nKSApewoJCQkJCWJyZWFrOwoJCQkJfQoKCQkJCSRvcCA9ICR0aGlzLT5NYXRjaENoYXIoJy8nKTsKCQkJCWlmKCAhJG9wICl7CgkJCQkJJG9wID0gJHRoaXMtPk1hdGNoQ2hhcignKicpOwoJCQkJCWlmKCAhJG9wICl7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCX0KCgkJCQkkYSA9ICR0aGlzLT5wYXJzZU9wZXJhbmQoKTsKCgkJCQlpZighJGEpIHsgYnJlYWs7IH0KCgkJCQkkbS0+cGFyZW5zSW5PcCA9IHRydWU7CgkJCQkkYS0+cGFyZW5zSW5PcCA9IHRydWU7CgkJCQkkcmV0dXJuID0gJHRoaXMtPk5ld09iajMoJ0xlc3NfVHJlZV9PcGVyYXRpb24nLGFycmF5KCAkb3AsIGFycmF5KCAkcmV0dXJuLCAkYSApLCAkaXNTcGFjZWQpICk7CgkJCX0KCQl9CgkJcmV0dXJuICRyZXR1cm47CgoJfQoKCgkvKioKCSAqIFBhcnNlcyBhbiBhZGRpdGlvbiBvcGVyYXRpb24KCSAqCgkgKiBAcmV0dXJuIExlc3NfVHJlZV9PcGVyYXRpb258bnVsbAoJICovCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlQWRkaXRpb24gKCl7CgoJCSRyZXR1cm4gPSAkbSA9ICR0aGlzLT5wYXJzZU11bHRpcGxpY2F0aW9uKCk7CgkJaWYoICRyZXR1cm4gKXsKCQkJd2hpbGUoIHRydWUgKXsKCgkJCQkkaXNTcGFjZWQgPSAkdGhpcy0+aXNXaGl0ZXNwYWNlKCAtMSApOwoKCQkJCSRvcCA9ICR0aGlzLT5NYXRjaFJlZygnL1xcR1stK11ccysvJyk7CgkJCQlpZiggJG9wICl7CgkJCQkJJG9wID0gJG9wWzBdOwoJCQkJfWVsc2V7CgkJCQkJaWYoICEkaXNTcGFjZWQgKXsKCQkJCQkJJG9wID0gJHRoaXMtPm1hdGNoKGFycmF5KCcjKycsJyMtJykpOwoJCQkJCX0KCQkJCQlpZiggISRvcCApewoJCQkJCQlicmVhazsKCQkJCQl9CgkJCQl9CgoJCQkJJGEgPSAkdGhpcy0+cGFyc2VNdWx0aXBsaWNhdGlvbigpOwoJCQkJaWYoICEkYSApewoJCQkJCWJyZWFrOwoJCQkJfQoKCQkJCSRtLT5wYXJlbnNJbk9wID0gdHJ1ZTsKCQkJCSRhLT5wYXJlbnNJbk9wID0gdHJ1ZTsKCQkJCSRyZXR1cm4gPSAkdGhpcy0+TmV3T2JqMygnTGVzc19UcmVlX09wZXJhdGlvbicsYXJyYXkoJG9wLCBhcnJheSgkcmV0dXJuLCAkYSksICRpc1NwYWNlZCkpOwoJCQl9CgkJfQoKCQlyZXR1cm4gJHJldHVybjsKCX0KCgoJLyoqCgkgKiBQYXJzZXMgdGhlIGNvbmRpdGlvbnMKCSAqCgkgKiBAcmV0dXJuIExlc3NfVHJlZV9Db25kaXRpb258bnVsbAoJICovCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlQ29uZGl0aW9ucygpIHsKCQkkaW5kZXggPSAkdGhpcy0+cG9zOwoJCSRyZXR1cm4gPSAkYSA9ICR0aGlzLT5wYXJzZUNvbmRpdGlvbigpOwoJCWlmKCAkYSApewoJCQl3aGlsZSggdHJ1ZSApewoJCQkJaWYoICEkdGhpcy0+UGVla1JlZygnL1xcRyxccyoobm90XHMqKT9cKC8nKSB8fCAgISR0aGlzLT5NYXRjaENoYXIoJywnKSApewoJCQkJCWJyZWFrOwoJCQkJfQoJCQkJJGIgPSAkdGhpcy0+cGFyc2VDb25kaXRpb24oKTsKCQkJCWlmKCAhJGIgKXsKCQkJCQlicmVhazsKCQkJCX0KCgkJCQkkcmV0dXJuID0gJHRoaXMtPk5ld09iajQoJ0xlc3NfVHJlZV9Db25kaXRpb24nLGFycmF5KCdvcicsICRyZXR1cm4sICRiLCAkaW5kZXgpKTsKCQkJfQoJCQlyZXR1cm4gJHJldHVybjsKCQl9Cgl9CgoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZUNvbmRpdGlvbigpIHsKCQkkaW5kZXggPSAkdGhpcy0+cG9zOwoJCSRuZWdhdGUgPSBmYWxzZTsKCQkkYyA9IG51bGw7CgoJCWlmICgkdGhpcy0+TWF0Y2hSZWcoJy9cXEdub3QvJykpICRuZWdhdGUgPSB0cnVlOwoJCSR0aGlzLT5leHBlY3RDaGFyKCcoJyk7CgkJJGEgPSAkdGhpcy0+TWF0Y2hGdW5jcyhhcnJheSgncGFyc2VBZGRpdGlvbicsJ3BhcnNlRW50aXRpZXNLZXl3b3JkJywncGFyc2VFbnRpdGllc1F1b3RlZCcpKTsKCgkJaWYoICRhICl7CgkJCSRvcCA9ICR0aGlzLT5NYXRjaFJlZygnL1xcRyg/Oj49fDw9fD08fFs8PT5dKS8nKTsKCQkJaWYoICRvcCApewoJCQkJJGIgPSAkdGhpcy0+TWF0Y2hGdW5jcyhhcnJheSgncGFyc2VBZGRpdGlvbicsJ3BhcnNlRW50aXRpZXNLZXl3b3JkJywncGFyc2VFbnRpdGllc1F1b3RlZCcpKTsKCQkJCWlmKCAkYiApewoJCQkJCSRjID0gJHRoaXMtPk5ld09iajUoJ0xlc3NfVHJlZV9Db25kaXRpb24nLGFycmF5KCRvcFswXSwgJGEsICRiLCAkaW5kZXgsICRuZWdhdGUpKTsKCQkJCX0gZWxzZSB7CgkJCQkJJHRoaXMtPkVycm9yKCdVbmV4cGVjdGVkIGV4cHJlc3Npb24nKTsKCQkJCX0KCQkJfSBlbHNlIHsKCQkJCSRrID0gJHRoaXMtPk5ld09iajEoJ0xlc3NfVHJlZV9LZXl3b3JkJywndHJ1ZScpOwoJCQkJJGMgPSAkdGhpcy0+TmV3T2JqNSgnTGVzc19UcmVlX0NvbmRpdGlvbicsYXJyYXkoJz0nLCAkYSwgJGssICRpbmRleCwgJG5lZ2F0ZSkpOwoJCQl9CgkJCSR0aGlzLT5leHBlY3RDaGFyKCcpJyk7CgkJCXJldHVybiAkdGhpcy0+TWF0Y2hSZWcoJy9cXEdhbmQvJykgPyAkdGhpcy0+TmV3T2JqMygnTGVzc19UcmVlX0NvbmRpdGlvbicsYXJyYXkoJ2FuZCcsICRjLCAkdGhpcy0+cGFyc2VDb25kaXRpb24oKSkpIDogJGM7CgkJfQoJfQoKCS8qKgoJICogQW4gb3BlcmFuZCBpcyBhbnl0aGluZyB0aGF0IGNhbiBiZSBwYXJ0IG9mIGFuIG9wZXJhdGlvbiwKCSAqIHN1Y2ggYXMgYSBDb2xvciwgb3IgYSBWYXJpYWJsZQoJICoKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZU9wZXJhbmQgKCl7CgoJCSRuZWdhdGUgPSBmYWxzZTsKCQkkb2Zmc2V0ID0gJHRoaXMtPnBvcysxOwoJCWlmKCAkb2Zmc2V0ID49ICR0aGlzLT5pbnB1dF9sZW4gKXsKCQkJcmV0dXJuOwoJCX0KCQkkY2hhciA9ICR0aGlzLT5pbnB1dFskb2Zmc2V0XTsKCQlpZiggJGNoYXIgPT09ICdAJyB8fCAkY2hhciA9PT0gJygnICl7CgkJCSRuZWdhdGUgPSAkdGhpcy0+TWF0Y2hDaGFyKCctJyk7CgkJfQoKCQkkbyA9ICR0aGlzLT5NYXRjaEZ1bmNzKGFycmF5KCdwYXJzZVN1YicsJ3BhcnNlRW50aXRpZXNEaW1lbnNpb24nLCdwYXJzZUVudGl0aWVzQ29sb3InLCdwYXJzZUVudGl0aWVzVmFyaWFibGUnLCdwYXJzZUVudGl0aWVzQ2FsbCcpKTsKCgkJaWYoICRuZWdhdGUgKXsKCQkJJG8tPnBhcmVuc0luT3AgPSB0cnVlOwoJCQkkbyA9ICR0aGlzLT5OZXdPYmoxKCdMZXNzX1RyZWVfTmVnYXRpdmUnLCRvKTsKCQl9CgoJCXJldHVybiAkbzsKCX0KCgoJLyoqCgkgKiBFeHByZXNzaW9ucyBlaXRoZXIgcmVwcmVzZW50IG1hdGhlbWF0aWNhbCBvcGVyYXRpb25zLAoJICogb3Igd2hpdGUtc3BhY2UgZGVsaW1pdGVkIEVudGl0aWVzLgoJICoKCSAqCSAxcHggc29saWQgYmxhY2sKCSAqCSBAdmFyICogMgoJICoKCSAqIEByZXR1cm4gTGVzc19UcmVlX0V4cHJlc3Npb258bnVsbAoJICovCglwcml2YXRlIGZ1bmN0aW9uIHBhcnNlRXhwcmVzc2lvbiAoKXsKCQkkZW50aXRpZXMgPSBhcnJheSgpOwoKCQlkb3sKCQkJJGUgPSAkdGhpcy0+TWF0Y2hGdW5jcyhhcnJheSgncGFyc2VBZGRpdGlvbicsJ3BhcnNlRW50aXR5JykpOwoJCQlpZiggJGUgKXsKCQkJCSRlbnRpdGllc1tdID0gJGU7CgkJCQkvLyBvcGVyYXRpb25zIGRvIG5vdCBhbGxvdyBrZXl3b3JkICIvIiBkaW1lbnNpb24gKGUuZy4gc21hbGwvMjBweCkgc28gd2Ugc3VwcG9ydCB0aGF0IGhlcmUKCQkJCWlmKCAhJHRoaXMtPlBlZWtSZWcoJy9cXEdcL1tcLypdLycpICl7CgkJCQkJJGRlbGltID0gJHRoaXMtPk1hdGNoQ2hhcignLycpOwoJCQkJCWlmKCAkZGVsaW0gKXsKCQkJCQkJJGVudGl0aWVzW10gPSAkdGhpcy0+TmV3T2JqMSgnTGVzc19UcmVlX0Fub255bW91cycsJGRlbGltKTsKCQkJCQl9CgkJCQl9CgkJCX0KCQl9d2hpbGUoJGUpOwoKCQlpZiggJGVudGl0aWVzICl7CgkJCXJldHVybiAkdGhpcy0+TmV3T2JqMSgnTGVzc19UcmVlX0V4cHJlc3Npb24nLCRlbnRpdGllcyk7CgkJfQoJfQoKCgkvKioKCSAqIFBhcnNlIGEgcHJvcGVydHkKCSAqIGVnOiAnbWluLXdpZHRoJywgJ29yaWVudGF0aW9uJywgZXRjCgkgKgoJICogQHJldHVybiBzdHJpbmcKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZVByb3BlcnR5ICgpewoJCSRuYW1lID0gJHRoaXMtPk1hdGNoUmVnKCcvXFxHKFwqPy0/W19hLXpBLVowLTktXSspXHMqOi8nKTsKCQlpZiggJG5hbWUgKXsKCQkJcmV0dXJuICRuYW1lWzFdOwoJCX0KCX0KCgoJLyoqCgkgKiBQYXJzZSBhIHJ1bGUgcHJvcGVydHkKCSAqIGVnOiAnY29sb3InLCAnd2lkdGgnLCAnaGVpZ2h0JywgZXRjCgkgKgoJICogQHJldHVybiBzdHJpbmcKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBwYXJzZVJ1bGVQcm9wZXJ0eSgpewoJCSRvZmZzZXQgPSAkdGhpcy0+cG9zOwoJCSRuYW1lID0gYXJyYXkoKTsKCQkkaW5kZXggPSBhcnJheSgpOwoJCSRsZW5ndGggPSAwOwoKCgkJJHRoaXMtPnJ1bGVQcm9wZXJ0eU1hdGNoKCcvXFxHKFwqPykvJywgJG9mZnNldCwgJGxlbmd0aCwgJGluZGV4LCAkbmFtZSApOwoJCXdoaWxlKCAkdGhpcy0+cnVsZVByb3BlcnR5TWF0Y2goJy9cXEcoKD86W1x3LV0rKXwoPzpAXHtbXHctXStcfSkpLycsICRvZmZzZXQsICRsZW5ndGgsICRpbmRleCwgJG5hbWUgKSk7IC8vICEKCgkJaWYoIChjb3VudCgkbmFtZSkgPiAxKSAmJiAkdGhpcy0+cnVsZVByb3BlcnR5TWF0Y2goJy9cXEdccyooKD86XCtffFwrKT8pXHMqOi8nLCAkb2Zmc2V0LCAkbGVuZ3RoLCAkaW5kZXgsICRuYW1lKSApewoJCQkvLyBhdCBsYXN0LCB3ZSBoYXZlIHRoZSBjb21wbGV0ZSBtYXRjaCBub3cuIG1vdmUgZm9yd2FyZCwKCQkJLy8gY29udmVydCBuYW1lIHBhcnRpY2xlcyB0byB0cmVlIG9iamVjdHMgYW5kIHJldHVybjoKCQkJJHRoaXMtPnNraXBXaGl0ZXNwYWNlKCRsZW5ndGgpOwoKCQkJaWYoICRuYW1lWzBdID09PSAnJyApewoJCQkJYXJyYXlfc2hpZnQoJG5hbWUpOwoJCQkJYXJyYXlfc2hpZnQoJGluZGV4KTsKCQkJfQoJCQlmb3JlYWNoKCRuYW1lIGFzICRrID0+ICRzICl7CgkJCQlpZiggISRzIHx8ICRzWzBdICE9PSAnQCcgKXsKCQkJCQkkbmFtZVska10gPSAkdGhpcy0+TmV3T2JqMSgnTGVzc19UcmVlX0tleXdvcmQnLCRzKTsKCQkJCX1lbHNlewoJCQkJCSRuYW1lWyRrXSA9ICR0aGlzLT5OZXdPYmozKCdMZXNzX1RyZWVfVmFyaWFibGUnLGFycmF5KCdAJyAuIHN1YnN0cigkcywyLC0xKSwgJGluZGV4WyRrXSwgJHRoaXMtPmVudi0+Y3VycmVudEZpbGVJbmZvKSk7CgkJCQl9CgkJCX0KCQkJcmV0dXJuICRuYW1lOwoJCX0KCgoJfQoKCXByaXZhdGUgZnVuY3Rpb24gcnVsZVByb3BlcnR5TWF0Y2goICRyZSwgJiRvZmZzZXQsICYkbGVuZ3RoLCAgJiRpbmRleCwgJiRuYW1lICl7CgkJcHJlZ19tYXRjaCgkcmUsICR0aGlzLT5pbnB1dCwgJGEsIDAsICRvZmZzZXQpOwoJCWlmKCAkYSApewoJCQkkaW5kZXhbXSA9ICR0aGlzLT5wb3MgKyAkbGVuZ3RoOwoJCQkkbGVuZ3RoICs9IHN0cmxlbigkYVswXSk7CgkJCSRvZmZzZXQgKz0gc3RybGVuKCRhWzBdKTsKCQkJJG5hbWVbXSA9ICRhWzFdOwoJCQlyZXR1cm4gdHJ1ZTsKCQl9Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBzZXJpYWxpemVWYXJzKCAkdmFycyApewoJCSRzID0gJyc7CgoJCWZvcmVhY2goJHZhcnMgYXMgJG5hbWUgPT4gJHZhbHVlKXsKCQkJJHMgLj0gKCgkbmFtZVswXSA9PT0gJ0AnKSA/ICcnIDogJ0AnKSAuICRuYW1lIC4nOiAnLiAkdmFsdWUgLiAoKHN1YnN0cigkdmFsdWUsLTEpID09PSAnOycpID8gJycgOiAnOycpOwoJCX0KCgkJcmV0dXJuICRzOwoJfQoKCgkvKioKCSAqIFNvbWUgdmVyc2lvbnMgb2YgcGhwIGhhdmUgdHJvdWJsZSB3aXRoIG1ldGhvZF9leGlzdHMoJGEsJGIpIGlmICRhIGlzIG5vdCBhbiBvYmplY3QKCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRiCgkgKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfbWV0aG9kKCRhLCRiKXsKCQlyZXR1cm4gaXNfb2JqZWN0KCRhKSAmJiBtZXRob2RfZXhpc3RzKCRhLCRiKTsKCX0KCgoJLyoqCgkgKiBSb3VuZCBudW1iZXJzIHNpbWlsYXJseSB0byBqYXZhc2NyaXB0CgkgKiBlZzogMS40OTk5OTkgdG8gMSBpbnN0ZWFkIG9mIDIKCSAqCgkgKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcm91bmQoJGksICRwcmVjaXNpb24gPSAwKXsKCgkJJHByZWNpc2lvbiA9IHBvdygxMCwkcHJlY2lzaW9uKTsKCQkkaSA9ICRpKiRwcmVjaXNpb247CgoJCSRjZWlsID0gY2VpbCgkaSk7CgkJJGZsb29yID0gZmxvb3IoJGkpOwoJCWlmKCAoJGNlaWwgLSAkaSkgPD0gKCRpIC0gJGZsb29yKSApewoJCQlyZXR1cm4gJGNlaWwvJHByZWNpc2lvbjsKCQl9ZWxzZXsKCQkJcmV0dXJuICRmbG9vci8kcHJlY2lzaW9uOwoJCX0KCX0KCgoJLyoqCgkgKiBDcmVhdGUgTGVzc19UcmVlXyogb2JqZWN0cyBhbmQgb3B0aW9uYWxseSBnZW5lcmF0ZSBhIGNhY2hlIHN0cmluZwoJICoKCSAqIEByZXR1cm4gbWl4ZWQKCSAqLwoJcHVibGljIGZ1bmN0aW9uIE5ld09iajAoJGNsYXNzKXsKCQkkb2JqID0gbmV3ICRjbGFzcygpOwoJCWlmKCAkdGhpcy0+Q2FjaGVFbmFibGVkKCkgKXsKCQkJJG9iai0+Y2FjaGVfc3RyaW5nID0gJyBuZXcgJy4kY2xhc3MuJygpJzsKCQl9CgkJcmV0dXJuICRvYmo7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIE5ld09iajEoJGNsYXNzLCAkYXJnKXsKCQkkb2JqID0gbmV3ICRjbGFzcyggJGFyZyApOwoJCWlmKCAkdGhpcy0+Q2FjaGVFbmFibGVkKCkgKXsKCQkJJG9iai0+Y2FjaGVfc3RyaW5nID0gJyBuZXcgJy4kY2xhc3MuJygnLkxlc3NfUGFyc2VyOjpBcmdTdHJpbmcoJGFyZykuJyknOwoJCX0KCQlyZXR1cm4gJG9iajsKCX0KCglwdWJsaWMgZnVuY3Rpb24gTmV3T2JqMigkY2xhc3MsICRhcmdzKXsKCQkkb2JqID0gbmV3ICRjbGFzcyggJGFyZ3NbMF0sICRhcmdzWzFdICk7CgkJaWYoICR0aGlzLT5DYWNoZUVuYWJsZWQoKSApewoJCQkkdGhpcy0+T2JqQ2FjaGUoICRvYmosICRjbGFzcywgJGFyZ3MpOwoJCX0KCQlyZXR1cm4gJG9iajsKCX0KCglwdWJsaWMgZnVuY3Rpb24gTmV3T2JqMygkY2xhc3MsICRhcmdzKXsKCQkkb2JqID0gbmV3ICRjbGFzcyggJGFyZ3NbMF0sICRhcmdzWzFdLCAkYXJnc1syXSApOwoJCWlmKCAkdGhpcy0+Q2FjaGVFbmFibGVkKCkgKXsKCQkJJHRoaXMtPk9iakNhY2hlKCAkb2JqLCAkY2xhc3MsICRhcmdzKTsKCQl9CgkJcmV0dXJuICRvYmo7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIE5ld09iajQoJGNsYXNzLCAkYXJncyl7CgkJJG9iaiA9IG5ldyAkY2xhc3MoICRhcmdzWzBdLCAkYXJnc1sxXSwgJGFyZ3NbMl0sICRhcmdzWzNdICk7CgkJaWYoICR0aGlzLT5DYWNoZUVuYWJsZWQoKSApewoJCQkkdGhpcy0+T2JqQ2FjaGUoICRvYmosICRjbGFzcywgJGFyZ3MpOwoJCX0KCQlyZXR1cm4gJG9iajsKCX0KCglwdWJsaWMgZnVuY3Rpb24gTmV3T2JqNSgkY2xhc3MsICRhcmdzKXsKCQkkb2JqID0gbmV3ICRjbGFzcyggJGFyZ3NbMF0sICRhcmdzWzFdLCAkYXJnc1syXSwgJGFyZ3NbM10sICRhcmdzWzRdICk7CgkJaWYoICR0aGlzLT5DYWNoZUVuYWJsZWQoKSApewoJCQkkdGhpcy0+T2JqQ2FjaGUoICRvYmosICRjbGFzcywgJGFyZ3MpOwoJCX0KCQlyZXR1cm4gJG9iajsKCX0KCglwdWJsaWMgZnVuY3Rpb24gTmV3T2JqNigkY2xhc3MsICRhcmdzKXsKCQkkb2JqID0gbmV3ICRjbGFzcyggJGFyZ3NbMF0sICRhcmdzWzFdLCAkYXJnc1syXSwgJGFyZ3NbM10sICRhcmdzWzRdLCAkYXJnc1s1XSApOwoJCWlmKCAkdGhpcy0+Q2FjaGVFbmFibGVkKCkgKXsKCQkJJHRoaXMtPk9iakNhY2hlKCAkb2JqLCAkY2xhc3MsICRhcmdzKTsKCQl9CgkJcmV0dXJuICRvYmo7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIE5ld09iajcoJGNsYXNzLCAkYXJncyl7CgkJJG9iaiA9IG5ldyAkY2xhc3MoICRhcmdzWzBdLCAkYXJnc1sxXSwgJGFyZ3NbMl0sICRhcmdzWzNdLCAkYXJnc1s0XSwgJGFyZ3NbNV0sICRhcmdzWzZdICk7CgkJaWYoICR0aGlzLT5DYWNoZUVuYWJsZWQoKSApewoJCQkkdGhpcy0+T2JqQ2FjaGUoICRvYmosICRjbGFzcywgJGFyZ3MpOwoJCX0KCQlyZXR1cm4gJG9iajsKCX0KCgkvL2NhY2hpbmcKCXB1YmxpYyBmdW5jdGlvbiBPYmpDYWNoZSgkb2JqLCAkY2xhc3MsICRhcmdzPWFycmF5KCkpewoJCSRvYmotPmNhY2hlX3N0cmluZyA9ICcgbmV3ICcuJGNsYXNzLicoJy4gc2VsZjo6QXJnQ2FjaGUoJGFyZ3MpLicpJzsKCX0KCglwdWJsaWMgZnVuY3Rpb24gQXJnQ2FjaGUoJGFyZ3MpewoJCXJldHVybiBpbXBsb2RlKCcsJyxhcnJheV9tYXAoIGFycmF5KCdMZXNzX1BhcnNlcicsJ0FyZ1N0cmluZycpLCRhcmdzKSk7Cgl9CgoKCS8qKgoJICogQ29udmVydCBhbiBhcmd1bWVudCB0byBhIHN0cmluZyBmb3IgdXNlIGluIHRoZSBwYXJzZXIgY2FjaGUKCSAqCgkgKiBAcmV0dXJuIHN0cmluZwoJICovCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIEFyZ1N0cmluZygkYXJnKXsKCgkJJHR5cGUgPSBnZXR0eXBlKCRhcmcpOwoKCQlpZiggJHR5cGUgPT09ICdvYmplY3QnKXsKCQkJJHN0cmluZyA9ICRhcmctPmNhY2hlX3N0cmluZzsKCQkJdW5zZXQoJGFyZy0+Y2FjaGVfc3RyaW5nKTsKCQkJcmV0dXJuICRzdHJpbmc7CgoJCX1lbHNlaWYoICR0eXBlID09PSAnYXJyYXknICl7CgkJCSRzdHJpbmcgPSAnIEFycmF5KCc7CgkJCWZvcmVhY2goJGFyZyBhcyAkayA9PiAkYSl7CgkJCQkkc3RyaW5nIC49IHZhcl9leHBvcnQoJGssdHJ1ZSkuJyA9PiAnLnNlbGY6OkFyZ1N0cmluZygkYSkuJywnOwoJCQl9CgkJCXJldHVybiAkc3RyaW5nIC4gJyknOwoJCX0KCgkJcmV0dXJuIHZhcl9leHBvcnQoJGFyZyx0cnVlKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gRXJyb3IoJG1zZyl7CgkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX1BhcnNlcigkbXNnLCBudWxsLCAkdGhpcy0+ZnVydGhlc3QsICR0aGlzLT5lbnYtPmN1cnJlbnRGaWxlSW5mbyk7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBXaW5QYXRoKCRwYXRoKXsKCQlyZXR1cm4gc3RyX3JlcGxhY2UoJ1xcJywgJy8nLCAkcGF0aCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIENhY2hlRW5hYmxlZCgpewoJCXJldHVybiAoTGVzc19QYXJzZXI6OiRvcHRpb25zWydjYWNoZV9tZXRob2QnXSAmJiAoTGVzc19DYWNoZTo6JGNhY2hlX2RpciB8fCAoTGVzc19QYXJzZXI6OiRvcHRpb25zWydjYWNoZV9tZXRob2QnXSA9PSAnY2FsbGJhY2snKSkpOwoJfQoKfQoKCg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/SourceMap/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/SourceMap/Base64VLQ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBFbmNvZGUgLyBEZWNvZGUgQmFzZTY0IFZMUS4KICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSBTb3VyY2VNYXAKICovCmNsYXNzIExlc3NfU291cmNlTWFwX0Jhc2U2NFZMUSB7CgoJLyoqCgkgKiBTaGlmdAoJICoKCSAqIEB2YXIgaW50ZWdlcgoJICovCglwcml2YXRlICRzaGlmdCA9IDU7CgoJLyoqCgkgKiBNYXNrCgkgKgoJICogQHZhciBpbnRlZ2VyCgkgKi8KCXByaXZhdGUgJG1hc2sgPSAweDFGOyAvLyA9PSAoMSA8PCBzaGlmdCkgPT0gMGIwMDAxMTExMQoKCS8qKgoJICogQ29udGludWF0aW9uIGJpdAoJICoKCSAqIEB2YXIgaW50ZWdlcgoJICovCglwcml2YXRlICRjb250aW51YXRpb25CaXQgPSAweDIwOyAvLyA9PSAobWFzayAtIDEgKSA9PSAwYjAwMTAwMDAwCgoJLyoqCgkgKiBDaGFyIHRvIGludGVnZXIgbWFwCgkgKgoJICogQHZhciBhcnJheQoJICovCglwcml2YXRlICRjaGFyVG9JbnRNYXAgPSBhcnJheSgKCQknQScgPT4gMCwgJ0InID0+IDEsICdDJyA9PiAyLCAnRCcgPT4gMywgJ0UnID0+IDQsICdGJyA9PiA1LCAnRycgPT4gNiwKCQknSCcgPT4gNywnSScgPT4gOCwgJ0onID0+IDksICdLJyA9PiAxMCwgJ0wnID0+IDExLCAnTScgPT4gMTIsICdOJyA9PiAxMywKCQknTycgPT4gMTQsICdQJyA9PiAxNSwgJ1EnID0+IDE2LCAnUicgPT4gMTcsICdTJyA9PiAxOCwgJ1QnID0+IDE5LCAnVScgPT4gMjAsCgkJJ1YnID0+IDIxLCAnVycgPT4gMjIsICdYJyA9PiAyMywgJ1knID0+IDI0LCAnWicgPT4gMjUsICdhJyA9PiAyNiwgJ2InID0+IDI3LAoJCSdjJyA9PiAyOCwgJ2QnID0+IDI5LCAnZScgPT4gMzAsICdmJyA9PiAzMSwgJ2cnID0+IDMyLCAnaCcgPT4gMzMsICdpJyA9PiAzNCwKCQknaicgPT4gMzUsICdrJyA9PiAzNiwgJ2wnID0+IDM3LCAnbScgPT4gMzgsICduJyA9PiAzOSwgJ28nID0+IDQwLCAncCcgPT4gNDEsCgkJJ3EnID0+IDQyLCAncicgPT4gNDMsICdzJyA9PiA0NCwgJ3QnID0+IDQ1LCAndScgPT4gNDYsICd2JyA9PiA0NywgJ3cnID0+IDQ4LAoJCSd4JyA9PiA0OSwgJ3knID0+IDUwLCAneicgPT4gNTEsIDAgPT4gNTIsIDEgPT4gNTMsIDIgPT4gNTQsIDMgPT4gNTUsIDQgPT4gNTYsCgkJNSA9PiA1NywJNiA9PiA1OCwgNyA9PiA1OSwgOCA9PiA2MCwgOSA9PiA2MSwgJysnID0+IDYyLCAnLycgPT4gNjMsCgkpOwoKCS8qKgoJICogSW50ZWdlciB0byBjaGFyIG1hcAoJICoKCSAqIEB2YXIgYXJyYXkKCSAqLwoJcHJpdmF0ZSAkaW50VG9DaGFyTWFwID0gYXJyYXkoCgkJMCA9PiAnQScsIDEgPT4gJ0InLCAyID0+ICdDJywgMyA9PiAnRCcsIDQgPT4gJ0UnLCA1ID0+ICdGJywgNiA9PiAnRycsCgkJNyA9PiAnSCcsIDggPT4gJ0knLCA5ID0+ICdKJywgMTAgPT4gJ0snLCAxMSA9PiAnTCcsIDEyID0+ICdNJywgMTMgPT4gJ04nLAoJCTE0ID0+ICdPJywgMTUgPT4gJ1AnLCAxNiA9PiAnUScsIDE3ID0+ICdSJywgMTggPT4gJ1MnLCAxOSA9PiAnVCcsIDIwID0+ICdVJywKCQkyMSA9PiAnVicsIDIyID0+ICdXJywgMjMgPT4gJ1gnLCAyNCA9PiAnWScsIDI1ID0+ICdaJywgMjYgPT4gJ2EnLCAyNyA9PiAnYicsCgkJMjggPT4gJ2MnLCAyOSA9PiAnZCcsIDMwID0+ICdlJywgMzEgPT4gJ2YnLCAzMiA9PiAnZycsIDMzID0+ICdoJywgMzQgPT4gJ2knLAoJCTM1ID0+ICdqJywgMzYgPT4gJ2snLCAzNyA9PiAnbCcsIDM4ID0+ICdtJywgMzkgPT4gJ24nLCA0MCA9PiAnbycsIDQxID0+ICdwJywKCQk0MiA9PiAncScsIDQzID0+ICdyJywgNDQgPT4gJ3MnLCA0NSA9PiAndCcsIDQ2ID0+ICd1JywgNDcgPT4gJ3YnLCA0OCA9PiAndycsCgkJNDkgPT4gJ3gnLCA1MCA9PiAneScsIDUxID0+ICd6JywgNTIgPT4gJzAnLCA1MyA9PiAnMScsIDU0ID0+ICcyJywgNTUgPT4gJzMnLAoJCTU2ID0+ICc0JywgNTcgPT4gJzUnLCA1OCA9PiAnNicsIDU5ID0+ICc3JywgNjAgPT4gJzgnLCA2MSA9PiAnOScsIDYyID0+ICcrJywKCQk2MyA9PiAnLycsCgkpOwoKCS8qKgoJICogQ29uc3RydWN0b3IKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCl7CgkJLy8gSSBsZWF2ZSBpdCBoZXJlIGZvciBmdXR1cmUgcmVmZXJlbmNlCgkJLy8gZm9yZWFjaChzdHJfc3BsaXQoJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSBhcyAkaSA9PiAkY2hhcikKCQkvLyB7CgkJLy8JICR0aGlzLT5jaGFyVG9JbnRNYXBbJGNoYXJdID0gJGk7CgkJLy8JICR0aGlzLT5pbnRUb0NoYXJNYXBbJGldID0gJGNoYXI7CgkJLy8gfQoJfQoKCS8qKgoJICogQ29udmVydCBmcm9tIGEgdHdvLWNvbXBsZW1lbnQgdmFsdWUgdG8gYSB2YWx1ZSB3aGVyZSB0aGUgc2lnbiBiaXQgaXMKCSAqIGlzIHBsYWNlZCBpbiB0aGUgbGVhc3Qgc2lnbmlmaWNhbnQgYml0LglGb3IgZXhhbXBsZSwgYXMgZGVjaW1hbHM6CgkgKgkgMSBiZWNvbWVzIDIgKDEwIGJpbmFyeSksIC0xIGJlY29tZXMgMyAoMTEgYmluYXJ5KQoJICoJIDIgYmVjb21lcyA0ICgxMDAgYmluYXJ5KSwgLTIgYmVjb21lcyA1ICgxMDEgYmluYXJ5KQoJICogV2UgZ2VuZXJhdGUgdGhlIHZhbHVlIGZvciAzMiBiaXQgbWFjaGluZXMsIGhlbmNlIC0yMTQ3NDgzNjQ4IGJlY29tZXMgMSwgbm90IDQyOTQ5NjcyOTcsCgkgKiBldmVuIG9uIGEgNjQgYml0IG1hY2hpbmUuCgkgKiBAcGFyYW0gc3RyaW5nICRhVmFsdWUKCSAqLwoJcHVibGljIGZ1bmN0aW9uIHRvVkxRU2lnbmVkKCRhVmFsdWUpewoJCXJldHVybiAweGZmZmZmZmZmICYgKCRhVmFsdWUgPCAwID8gKCgtJGFWYWx1ZSkgPDwgMSkgKyAxIDogKCRhVmFsdWUgPDwgMSkgKyAwKTsKCX0KCgkvKioKCSAqIENvbnZlcnQgdG8gYSB0d28tY29tcGxlbWVudCB2YWx1ZSBmcm9tIGEgdmFsdWUgd2hlcmUgdGhlIHNpZ24gYml0IGlzCgkgKiBpcyBwbGFjZWQgaW4gdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdC4gRm9yIGV4YW1wbGUsIGFzIGRlY2ltYWxzOgoJICoJIDIgKDEwIGJpbmFyeSkgYmVjb21lcyAxLCAzICgxMSBiaW5hcnkpIGJlY29tZXMgLTEKCSAqCSA0ICgxMDAgYmluYXJ5KSBiZWNvbWVzIDIsIDUgKDEwMSBiaW5hcnkpIGJlY29tZXMgLTIKCSAqIFdlIGFzc3VtZSB0aGF0IHRoZSB2YWx1ZSB3YXMgZ2VuZXJhdGVkIHdpdGggYSAzMiBiaXQgbWFjaGluZSBpbiBtaW5kLgoJICogSGVuY2UKCSAqCSAxIGJlY29tZXMgLTIxNDc0ODM2NDgKCSAqIGV2ZW4gb24gYSA2NCBiaXQgbWFjaGluZS4KCSAqIEBwYXJhbSBpbnRlZ2VyICRhVmFsdWUKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGZyb21WTFFTaWduZWQoJGFWYWx1ZSl7CgkJcmV0dXJuICRhVmFsdWUgJiAxID8gJHRoaXMtPnplcm9GaWxsKH4kYVZhbHVlICsgMiwgMSkgfCAoLTEgLSAweDdmZmZmZmZmKSA6ICR0aGlzLT56ZXJvRmlsbCgkYVZhbHVlLCAxKTsKCX0KCgkvKioKCSAqIFJldHVybiB0aGUgYmFzZSA2NCBWTFEgZW5jb2RlZCB2YWx1ZS4KCSAqCgkgKiBAcGFyYW0gc3RyaW5nICRhVmFsdWUgVGhlIHZhbHVlIHRvIGVuY29kZQoJICogQHJldHVybiBzdHJpbmcgVGhlIGVuY29kZWQgdmFsdWUKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGVuY29kZSgkYVZhbHVlKXsKCQkkZW5jb2RlZCA9ICcnOwoJCSR2bHEgPSAkdGhpcy0+dG9WTFFTaWduZWQoJGFWYWx1ZSk7CgkJZG8KCQl7CgkJCSRkaWdpdCA9ICR2bHEgJiAkdGhpcy0+bWFzazsKCQkJJHZscSA9ICR0aGlzLT56ZXJvRmlsbCgkdmxxLCAkdGhpcy0+c2hpZnQpOwoJCQlpZigkdmxxID4gMCl7CgkJCQkkZGlnaXQgfD0gJHRoaXMtPmNvbnRpbnVhdGlvbkJpdDsKCQkJfQoJCQkkZW5jb2RlZCAuPSAkdGhpcy0+YmFzZTY0RW5jb2RlKCRkaWdpdCk7CgkJfSB3aGlsZSgkdmxxID4gMCk7CgoJCXJldHVybiAkZW5jb2RlZDsKCX0KCgkvKioKCSAqIFJldHVybiB0aGUgdmFsdWUgZGVjb2RlZCBmcm9tIGJhc2UgNjQgVkxRLgoJICoKCSAqIEBwYXJhbSBzdHJpbmcgJGVuY29kZWQgVGhlIGVuY29kZWQgdmFsdWUgdG8gZGVjb2RlCgkgKiBAcmV0dXJuIGludGVnZXIgVGhlIGRlY29kZWQgdmFsdWUKCSAqLwoJcHVibGljIGZ1bmN0aW9uIGRlY29kZSgkZW5jb2RlZCl7CgkJJHZscSA9IDA7CgkJJGkgPSAwOwoJCWRvCgkJewoJCQkkZGlnaXQgPSAkdGhpcy0+YmFzZTY0RGVjb2RlKCRlbmNvZGVkWyRpXSk7CgkJCSR2bHEgfD0gKCRkaWdpdCAmICR0aGlzLT5tYXNrKSA8PCAoJGkgKiAkdGhpcy0+c2hpZnQpOwoJCQkkaSsrOwoJCX0gd2hpbGUoJGRpZ2l0ICYgJHRoaXMtPmNvbnRpbnVhdGlvbkJpdCk7CgoJCXJldHVybiAkdGhpcy0+ZnJvbVZMUVNpZ25lZCgkdmxxKTsKCX0KCgkvKioKCSAqIFJpZ2h0IHNoaWZ0IHdpdGggemVybyBmaWxsLgoJICoKCSAqIEBwYXJhbSBpbnRlZ2VyICRhIG51bWJlciB0byBzaGlmdAoJICogQHBhcmFtIGludGVnZXIgJGIgbnVtYmVyIG9mIGJpdHMgdG8gc2hpZnQKCSAqIEByZXR1cm4gaW50ZWdlcgoJICovCglwdWJsaWMgZnVuY3Rpb24gemVyb0ZpbGwoJGEsICRiKXsKCQlyZXR1cm4gKCRhID49IDApID8gKCRhID4+ICRiKSA6ICgkYSA+PiAkYikgJiAoUEhQX0lOVF9NQVggPj4gKCRiIC0gMSkpOwoJfQoKCS8qKgoJICogRW5jb2RlIHNpbmdsZSA2LWJpdCBkaWdpdCBhcyBiYXNlNjQuCgkgKgoJICogQHBhcmFtIGludGVnZXIgJG51bWJlcgoJICogQHJldHVybiBzdHJpbmcKCSAqIEB0aHJvd3MgRXhjZXB0aW9uIElmIHRoZSBudW1iZXIgaXMgaW52YWxpZAoJICovCglwdWJsaWMgZnVuY3Rpb24gYmFzZTY0RW5jb2RlKCRudW1iZXIpewoJCWlmKCRudW1iZXIgPCAwIHx8ICRudW1iZXIgPiA2Myl7CgkJCXRocm93IG5ldyBFeGNlcHRpb24oc3ByaW50ZignSW52YWxpZCBudW1iZXIgIiVzIiBnaXZlbi4gTXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDYzLicsICRudW1iZXIpKTsKCQl9CgkJcmV0dXJuICR0aGlzLT5pbnRUb0NoYXJNYXBbJG51bWJlcl07Cgl9CgoJLyoqCgkgKiBEZWNvZGUgc2luZ2xlIDYtYml0IGRpZ2l0IGZyb20gYmFzZTY0CgkgKgoJICogQHBhcmFtIHN0cmluZyAkY2hhcgoJICogQHJldHVybiBudW1iZXIKCSAqIEB0aHJvd3MgRXhjZXB0aW9uIElmIHRoZSBudW1iZXIgaXMgaW52YWxpZAoJICovCglwdWJsaWMgZnVuY3Rpb24gYmFzZTY0RGVjb2RlKCRjaGFyKXsKCQlpZighYXJyYXlfa2V5X2V4aXN0cygkY2hhciwgJHRoaXMtPmNoYXJUb0ludE1hcCkpewoJCQl0aHJvdyBuZXcgRXhjZXB0aW9uKHNwcmludGYoJ0ludmFsaWQgYmFzZSA2NCBkaWdpdCAiJXMiIGdpdmVuLicsICRjaGFyKSk7CgkJfQoJCXJldHVybiAkdGhpcy0+Y2hhclRvSW50TWFwWyRjaGFyXTsKCX0KCn0K]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/SourceMap/Generator.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCg0KLyoqDQogKiBTb3VyY2UgbWFwIGdlbmVyYXRvcg0KICoNCiAqIEBwYWNrYWdlIExlc3MNCiAqIEBzdWJwYWNrYWdlIE91dHB1dA0KICovDQpjbGFzcyBMZXNzX1NvdXJjZU1hcF9HZW5lcmF0b3IgZXh0ZW5kcyBMZXNzX0NvbmZpZ3VyYWJsZSB7DQoNCgkvKioNCgkgKiBXaGF0IHZlcnNpb24gb2Ygc291cmNlIG1hcCBkb2VzIHRoZSBnZW5lcmF0b3IgZ2VuZXJhdGU/DQoJICovDQoJY29uc3QgVkVSU0lPTiA9IDM7DQoNCgkvKioNCgkgKiBBcnJheSBvZiBkZWZhdWx0IG9wdGlvbnMNCgkgKg0KCSAqIEB2YXIgYXJyYXkNCgkgKi8NCglwcm90ZWN0ZWQgJGRlZmF1bHRPcHRpb25zID0gYXJyYXkoDQoJCQkvLyBhbiBvcHRpb25hbCBzb3VyY2Ugcm9vdCwgdXNlZnVsIGZvciByZWxvY2F0aW5nIHNvdXJjZSBmaWxlcw0KCQkJLy8gb24gYSBzZXJ2ZXIgb3IgcmVtb3ZpbmcgcmVwZWF0ZWQgdmFsdWVzIGluIHRoZSAnc291cmNlcycgZW50cnkuDQoJCQkvLyBUaGlzIHZhbHVlIGlzIHByZXBlbmRlZCB0byB0aGUgaW5kaXZpZHVhbCBlbnRyaWVzIGluIHRoZSAnc291cmNlJyBmaWVsZC4NCgkJCSdzb3VyY2VSb290JwkJCT0+ICcnLA0KDQoJCQkvLyBhbiBvcHRpb25hbCBuYW1lIG9mIHRoZSBnZW5lcmF0ZWQgY29kZSB0aGF0IHRoaXMgc291cmNlIG1hcCBpcyBhc3NvY2lhdGVkIHdpdGguDQoJCQknc291cmNlTWFwRmlsZW5hbWUnCQk9PiBudWxsLA0KDQoJCQkvLyB1cmwgb2YgdGhlIG1hcA0KCQkJJ3NvdXJjZU1hcFVSTCcJCQk9PiBudWxsLA0KDQoJCQkvLyBhYnNvbHV0ZSBwYXRoIHRvIGEgZmlsZSB0byB3cml0ZSB0aGUgbWFwIHRvDQoJCQknc291cmNlTWFwV3JpdGVUbycJCT0+IG51bGwsDQoNCgkJCS8vIG91dHB1dCBzb3VyY2UgY29udGVudHM/DQoJCQknb3V0cHV0U291cmNlRmlsZXMnCQk9PiBmYWxzZSwNCg0KCQkJLy8gYmFzZSBwYXRoIGZvciBmaWxlbmFtZSBub3JtYWxpemF0aW9uDQoJCQknc291cmNlTWFwUm9vdHBhdGgnCQk9PiAnJywNCg0KCQkJLy8gYmFzZSBwYXRoIGZvciBmaWxlbmFtZSBub3JtYWxpemF0aW9uDQoJCQknc291cmNlTWFwQmFzZXBhdGgnICAgPT4gJycNCgkpOw0KDQoJLyoqDQoJICogVGhlIGJhc2U2NCBWTFEgZW5jb2Rlcg0KCSAqDQoJICogQHZhciBMZXNzX1NvdXJjZU1hcF9CYXNlNjRWTFENCgkgKi8NCglwcm90ZWN0ZWQgJGVuY29kZXI7DQoNCgkvKioNCgkgKiBBcnJheSBvZiBtYXBwaW5ncw0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLw0KCXByb3RlY3RlZCAkbWFwcGluZ3MgPSBhcnJheSgpOw0KDQoJLyoqDQoJICogVGhlIHJvb3Qgbm9kZQ0KCSAqDQoJICogQHZhciBMZXNzX1RyZWVfUnVsZXNldA0KCSAqLw0KCXByb3RlY3RlZCAkcm9vdDsNCg0KCS8qKg0KCSAqIEFycmF5IG9mIGNvbnRlbnRzIG1hcA0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLw0KCXByb3RlY3RlZCAkY29udGVudHNNYXAgPSBhcnJheSgpOw0KDQoJLyoqDQoJICogRmlsZSB0byBjb250ZW50IG1hcA0KCSAqDQoJICogQHZhciBhcnJheQ0KCSAqLw0KCXByb3RlY3RlZCAkc291cmNlcyA9IGFycmF5KCk7DQoJcHJvdGVjdGVkICRzb3VyY2Vfa2V5cyA9IGFycmF5KCk7DQoNCgkvKioNCgkgKiBDb25zdHJ1Y3Rvcg0KCSAqDQoJICogQHBhcmFtIExlc3NfVHJlZV9SdWxlc2V0ICRyb290IFRoZSByb290IG5vZGUNCgkgKiBAcGFyYW0gYXJyYXkgJG9wdGlvbnMgQXJyYXkgb2Ygb3B0aW9ucw0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChMZXNzX1RyZWVfUnVsZXNldCAkcm9vdCwgJGNvbnRlbnRzTWFwLCAkb3B0aW9ucyA9IGFycmF5KCkpew0KCQkkdGhpcy0+cm9vdCA9ICRyb290Ow0KCQkkdGhpcy0+Y29udGVudHNNYXAgPSAkY29udGVudHNNYXA7DQoJCSR0aGlzLT5lbmNvZGVyID0gbmV3IExlc3NfU291cmNlTWFwX0Jhc2U2NFZMUSgpOw0KDQoJCSR0aGlzLT5TZXRPcHRpb25zKCRvcHRpb25zKTsNCg0KDQoJCS8vIGZpeCB3aW5kb3dzIHBhdGhzDQoJCWlmKCAhZW1wdHkoJHRoaXMtPm9wdGlvbnNbJ3NvdXJjZU1hcFJvb3RwYXRoJ10pICl7DQoJCQkkdGhpcy0+b3B0aW9uc1snc291cmNlTWFwUm9vdHBhdGgnXSA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHRoaXMtPm9wdGlvbnNbJ3NvdXJjZU1hcFJvb3RwYXRoJ10pOw0KCQkJJHRoaXMtPm9wdGlvbnNbJ3NvdXJjZU1hcFJvb3RwYXRoJ10gPSBydHJpbSgkdGhpcy0+b3B0aW9uc1snc291cmNlTWFwUm9vdHBhdGgnXSwnLycpLicvJzsNCgkJfQ0KCX0NCg0KCS8qKg0KCSAqIEdlbmVyYXRlcyB0aGUgQ1NTDQoJICoNCgkgKiBAcmV0dXJuIHN0cmluZw0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBnZW5lcmF0ZUNTUygpew0KCQkkb3V0cHV0ID0gbmV3IExlc3NfT3V0cHV0X01hcHBlZCgkdGhpcy0+Y29udGVudHNNYXAsICR0aGlzKTsNCg0KCQkvLyBjYXRjaCB0aGUgb3V0cHV0DQoJCSR0aGlzLT5yb290LT5nZW5DU1MoJG91dHB1dCk7DQoNCg0KCQkkc291cmNlTWFwVXJsCQkJCT0gJHRoaXMtPmdldE9wdGlvbignc291cmNlTWFwVVJMJyk7DQoJCSRzb3VyY2VNYXBGaWxlbmFtZQkJCT0gJHRoaXMtPmdldE9wdGlvbignc291cmNlTWFwRmlsZW5hbWUnKTsNCgkJJHNvdXJjZU1hcENvbnRlbnQJCQk9ICR0aGlzLT5nZW5lcmF0ZUpzb24oKTsNCgkJJHNvdXJjZU1hcFdyaXRlVG8JCQk9ICR0aGlzLT5nZXRPcHRpb24oJ3NvdXJjZU1hcFdyaXRlVG8nKTsNCg0KCQlpZiggISRzb3VyY2VNYXBVcmwgJiYgJHNvdXJjZU1hcEZpbGVuYW1lICl7DQoJCQkkc291cmNlTWFwVXJsID0gJHRoaXMtPm5vcm1hbGl6ZUZpbGVuYW1lKCRzb3VyY2VNYXBGaWxlbmFtZSk7DQoJCX0NCg0KCQkvLyB3cml0ZSBtYXAgdG8gYSBmaWxlDQoJCWlmKCAkc291cmNlTWFwV3JpdGVUbyApew0KCQkJJHRoaXMtPnNhdmVNYXAoJHNvdXJjZU1hcFdyaXRlVG8sICRzb3VyY2VNYXBDb250ZW50KTsNCgkJfQ0KDQoJCS8vIGlubGluZSB0aGUgbWFwDQoJCWlmKCAhJHNvdXJjZU1hcFVybCApew0KCQkJJHNvdXJjZU1hcFVybCA9IHNwcmludGYoJ2RhdGE6YXBwbGljYXRpb24vanNvbiwlcycsIExlc3NfRnVuY3Rpb25zOjplbmNvZGVVUklDb21wb25lbnQoJHNvdXJjZU1hcENvbnRlbnQpKTsNCgkJfQ0KDQoJCWlmKCAkc291cmNlTWFwVXJsICl7DQoJCQkkb3V0cHV0LT5hZGQoIHNwcmludGYoJy8qIyBzb3VyY2VNYXBwaW5nVVJMPSVzICovJywgJHNvdXJjZU1hcFVybCkgKTsNCgkJfQ0KDQoJCXJldHVybiAkb3V0cHV0LT50b1N0cmluZygpOw0KCX0NCg0KCS8qKg0KCSAqIFNhdmVzIHRoZSBzb3VyY2UgbWFwIHRvIGEgZmlsZQ0KCSAqDQoJICogQHBhcmFtIHN0cmluZyAkZmlsZSBUaGUgYWJzb2x1dGUgcGF0aCB0byBhIGZpbGUNCgkgKiBAcGFyYW0gc3RyaW5nICRjb250ZW50IFRoZSBjb250ZW50IHRvIHdyaXRlDQoJICogQHRocm93cyBFeGNlcHRpb24gSWYgdGhlIGZpbGUgY291bGQgbm90IGJlIHNhdmVkDQoJICovDQoJcHJvdGVjdGVkIGZ1bmN0aW9uIHNhdmVNYXAoJGZpbGUsICRjb250ZW50KXsNCgkJJGRpciA9IGRpcm5hbWUoJGZpbGUpOw0KCQkvLyBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QNCgkJaWYoICFpc19kaXIoJGRpcikgKXsNCgkJCS8vIEZJWE1FOiBjcmVhdGUgdGhlIGRpciBhdXRvbWF0aWNhbGx5Pw0KCQkJdGhyb3cgbmV3IEV4Y2VwdGlvbihzcHJpbnRmKCdUaGUgZGlyZWN0b3J5ICIlcyIgZG9lcyBub3QgZXhpc3QuIENhbm5vdCBzYXZlIHRoZSBzb3VyY2UgbWFwLicsICRkaXIpKTsNCgkJfQ0KCQkvLyBGSVhNRTogcHJvcGVyIHNhdmluZywgd2l0aCBkaXIgd3JpdGUgY2hlY2shDQoJCWlmKGZpbGVfcHV0X2NvbnRlbnRzKCRmaWxlLCAkY29udGVudCkgPT09IGZhbHNlKXsNCgkJCXRocm93IG5ldyBFeGNlcHRpb24oc3ByaW50ZignQ2Fubm90IHNhdmUgdGhlIHNvdXJjZSBtYXAgdG8gIiVzIicsICRmaWxlKSk7DQoJCX0NCgkJcmV0dXJuIHRydWU7DQoJfQ0KDQoJLyoqDQoJICogTm9ybWFsaXplcyB0aGUgZmlsZW5hbWUNCgkgKg0KCSAqIEBwYXJhbSBzdHJpbmcgJGZpbGVuYW1lDQoJICogQHJldHVybiBzdHJpbmcNCgkgKi8NCglwcm90ZWN0ZWQgZnVuY3Rpb24gbm9ybWFsaXplRmlsZW5hbWUoJGZpbGVuYW1lKXsNCg0KCQkkZmlsZW5hbWUgPSBzdHJfcmVwbGFjZSgnXFwnLCAnLycsICRmaWxlbmFtZSk7DQoJCSRyb290cGF0aCA9ICR0aGlzLT5nZXRPcHRpb24oJ3NvdXJjZU1hcFJvb3RwYXRoJyk7DQoJCSRiYXNlUGF0aCA9ICR0aGlzLT5nZXRPcHRpb24oJ3NvdXJjZU1hcEJhc2VwYXRoJyk7DQoNCgkJLy8gIlRyaW0iIHRoZSAnc291cmNlTWFwQmFzZXBhdGgnIGZyb20gdGhlIG91dHB1dCBmaWxlbmFtZS4NCgkJaWYgKHN0cnBvcygkZmlsZW5hbWUsICRiYXNlUGF0aCkgPT09IDApIHsNCgkJCSRmaWxlbmFtZSA9IHN1YnN0cigkZmlsZW5hbWUsIHN0cmxlbigkYmFzZVBhdGgpKTsNCgkJfQ0KDQoJCS8vIFJlbW92ZSBleHRyYSBsZWFkaW5nIHBhdGggc2VwYXJhdG9ycy4NCgkJaWYoc3RycG9zKCRmaWxlbmFtZSwgJ1xcJykgPT09IDAgfHwgc3RycG9zKCRmaWxlbmFtZSwgJy8nKSA9PT0gMCl7DQoJCQkkZmlsZW5hbWUgPSBzdWJzdHIoJGZpbGVuYW1lLCAxKTsNCgkJfQ0KDQoJCXJldHVybiAkcm9vdHBhdGggLiAkZmlsZW5hbWU7DQoJfQ0KDQoJLyoqDQoJICogQWRkcyBhIG1hcHBpbmcNCgkgKg0KCSAqIEBwYXJhbSBpbnRlZ2VyICRnZW5lcmF0ZWRMaW5lIFRoZSBsaW5lIG51bWJlciBpbiBnZW5lcmF0ZWQgZmlsZQ0KCSAqIEBwYXJhbSBpbnRlZ2VyICRnZW5lcmF0ZWRDb2x1bW4gVGhlIGNvbHVtbiBudW1iZXIgaW4gZ2VuZXJhdGVkIGZpbGUNCgkgKiBAcGFyYW0gaW50ZWdlciAkb3JpZ2luYWxMaW5lIFRoZSBsaW5lIG51bWJlciBpbiBvcmlnaW5hbCBmaWxlDQoJICogQHBhcmFtIGludGVnZXIgJG9yaWdpbmFsQ29sdW1uIFRoZSBjb2x1bW4gbnVtYmVyIGluIG9yaWdpbmFsIGZpbGUNCgkgKiBAcGFyYW0gc3RyaW5nICRzb3VyY2VGaWxlIFRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZQ0KCSAqLw0KCXB1YmxpYyBmdW5jdGlvbiBhZGRNYXBwaW5nKCRnZW5lcmF0ZWRMaW5lLCAkZ2VuZXJhdGVkQ29sdW1uLCAkb3JpZ2luYWxMaW5lLCAkb3JpZ2luYWxDb2x1bW4sICRmaWxlSW5mbyApew0KDQoJCSR0aGlzLT5tYXBwaW5nc1tdID0gYXJyYXkoDQoJCQknZ2VuZXJhdGVkX2xpbmUnID0+ICRnZW5lcmF0ZWRMaW5lLA0KCQkJJ2dlbmVyYXRlZF9jb2x1bW4nID0+ICRnZW5lcmF0ZWRDb2x1bW4sDQoJCQknb3JpZ2luYWxfbGluZScgPT4gJG9yaWdpbmFsTGluZSwNCgkJCSdvcmlnaW5hbF9jb2x1bW4nID0+ICRvcmlnaW5hbENvbHVtbiwNCgkJCSdzb3VyY2VfZmlsZScgPT4gJGZpbGVJbmZvWydjdXJyZW50VXJpJ10NCgkJKTsNCg0KCQkkdGhpcy0+c291cmNlc1skZmlsZUluZm9bJ2N1cnJlbnRVcmknXV0gPSAkZmlsZUluZm9bJ2ZpbGVuYW1lJ107DQoJfQ0KDQoNCgkvKioNCgkgKiBHZW5lcmF0ZXMgdGhlIEpTT04gc291cmNlIG1hcA0KCSAqDQoJICogQHJldHVybiBzdHJpbmcNCgkgKiBAc2VlIGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2RvY3VtZW50L2QvMVUxUkdBZWhRd1J5cFVUb3ZGMUtSbHBpT0Z6ZTBiLV8yZ2M2ZkFIMEtZMGsvZWRpdCMNCgkgKi8NCglwcm90ZWN0ZWQgZnVuY3Rpb24gZ2VuZXJhdGVKc29uKCl7DQoNCgkJJHNvdXJjZU1hcCA9IGFycmF5KCk7DQoJCSRtYXBwaW5ncyA9ICR0aGlzLT5nZW5lcmF0ZU1hcHBpbmdzKCk7DQoNCgkJLy8gRmlsZSB2ZXJzaW9uIChhbHdheXMgdGhlIGZpcnN0IGVudHJ5IGluIHRoZSBvYmplY3QpIGFuZCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlci4NCgkJJHNvdXJjZU1hcFsndmVyc2lvbiddID0gc2VsZjo6VkVSU0lPTjsNCg0KDQoJCS8vIEFuIG9wdGlvbmFsIG5hbWUgb2YgdGhlIGdlbmVyYXRlZCBjb2RlIHRoYXQgdGhpcyBzb3VyY2UgbWFwIGlzIGFzc29jaWF0ZWQgd2l0aC4NCgkJJGZpbGUgPSAkdGhpcy0+Z2V0T3B0aW9uKCdzb3VyY2VNYXBGaWxlbmFtZScpOw0KCQlpZiggJGZpbGUgKXsNCgkJCSRzb3VyY2VNYXBbJ2ZpbGUnXSA9ICRmaWxlOw0KCQl9DQoNCg0KCQkvLyBBbiBvcHRpb25hbCBzb3VyY2Ugcm9vdCwgdXNlZnVsIGZvciByZWxvY2F0aW5nIHNvdXJjZSBmaWxlcyBvbiBhIHNlcnZlciBvciByZW1vdmluZyByZXBlYXRlZCB2YWx1ZXMgaW4gdGhlICdzb3VyY2VzJyBlbnRyeS4JVGhpcyB2YWx1ZSBpcyBwcmVwZW5kZWQgdG8gdGhlIGluZGl2aWR1YWwgZW50cmllcyBpbiB0aGUgJ3NvdXJjZScgZmllbGQuDQoJCSRyb290ID0gJHRoaXMtPmdldE9wdGlvbignc291cmNlUm9vdCcpOw0KCQlpZiggJHJvb3QgKXsNCgkJCSRzb3VyY2VNYXBbJ3NvdXJjZVJvb3QnXSA9ICRyb290Ow0KCQl9DQoNCg0KCQkvLyBBIGxpc3Qgb2Ygb3JpZ2luYWwgc291cmNlcyB1c2VkIGJ5IHRoZSAnbWFwcGluZ3MnIGVudHJ5Lg0KCQkkc291cmNlTWFwWydzb3VyY2VzJ10gPSBhcnJheSgpOw0KCQlmb3JlYWNoKCR0aGlzLT5zb3VyY2VzIGFzICRzb3VyY2VfdXJpID0+ICRzb3VyY2VfZmlsZW5hbWUpew0KCQkJJHNvdXJjZU1hcFsnc291cmNlcyddW10gPSAkdGhpcy0+bm9ybWFsaXplRmlsZW5hbWUoJHNvdXJjZV9maWxlbmFtZSk7DQoJCX0NCg0KDQoJCS8vIEEgbGlzdCBvZiBzeW1ib2wgbmFtZXMgdXNlZCBieSB0aGUgJ21hcHBpbmdzJyBlbnRyeS4NCgkJJHNvdXJjZU1hcFsnbmFtZXMnXSA9IGFycmF5KCk7DQoNCgkJLy8gQSBzdHJpbmcgd2l0aCB0aGUgZW5jb2RlZCBtYXBwaW5nIGRhdGEuDQoJCSRzb3VyY2VNYXBbJ21hcHBpbmdzJ10gPSAkbWFwcGluZ3M7DQoNCgkJaWYoICR0aGlzLT5nZXRPcHRpb24oJ291dHB1dFNvdXJjZUZpbGVzJykgKXsNCgkJCS8vIEFuIG9wdGlvbmFsIGxpc3Qgb2Ygc291cmNlIGNvbnRlbnQsIHVzZWZ1bCB3aGVuIHRoZSAnc291cmNlJyBjYW4ndCBiZSBob3N0ZWQuDQoJCQkvLyBUaGUgY29udGVudHMgYXJlIGxpc3RlZCBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgc291cmNlcyBhYm92ZS4NCgkJCS8vICdudWxsJyBtYXkgYmUgdXNlZCBpZiBzb21lIG9yaWdpbmFsIHNvdXJjZXMgc2hvdWxkIGJlIHJldHJpZXZlZCBieSBuYW1lLg0KCQkJJHNvdXJjZU1hcFsnc291cmNlc0NvbnRlbnQnXSA9ICR0aGlzLT5nZXRTb3VyY2VzQ29udGVudCgpOw0KCQl9DQoNCgkJLy8gbGVzcy5qcyBjb21wYXQgZml4ZXMNCgkJaWYoIGNvdW50KCRzb3VyY2VNYXBbJ3NvdXJjZXMnXSkgJiYgZW1wdHkoJHNvdXJjZU1hcFsnc291cmNlUm9vdCddKSApew0KCQkJdW5zZXQoJHNvdXJjZU1hcFsnc291cmNlUm9vdCddKTsNCgkJfQ0KDQoJCXJldHVybiBqc29uX2VuY29kZSgkc291cmNlTWFwKTsNCgl9DQoNCgkvKioNCgkgKiBSZXR1cm5zIHRoZSBzb3VyY2VzIGNvbnRlbnRzDQoJICoNCgkgKiBAcmV0dXJuIGFycmF5fG51bGwNCgkgKi8NCglwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0U291cmNlc0NvbnRlbnQoKXsNCgkJaWYoZW1wdHkoJHRoaXMtPnNvdXJjZXMpKXsNCgkJCXJldHVybjsNCgkJfQ0KCQkkY29udGVudCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJHRoaXMtPnNvdXJjZXMgYXMgJHNvdXJjZUZpbGUpew0KCQkJJGNvbnRlbnRbXSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRzb3VyY2VGaWxlKTsNCgkJfQ0KCQlyZXR1cm4gJGNvbnRlbnQ7DQoJfQ0KDQoJLyoqDQoJICogR2VuZXJhdGVzIHRoZSBtYXBwaW5ncyBzdHJpbmcNCgkgKg0KCSAqIEByZXR1cm4gc3RyaW5nDQoJICovDQoJcHVibGljIGZ1bmN0aW9uIGdlbmVyYXRlTWFwcGluZ3MoKXsNCg0KCQlpZiggIWNvdW50KCR0aGlzLT5tYXBwaW5ncykgKXsNCgkJCXJldHVybiAnJzsNCgkJfQ0KDQoJCSR0aGlzLT5zb3VyY2Vfa2V5cyA9IGFycmF5X2ZsaXAoYXJyYXlfa2V5cygkdGhpcy0+c291cmNlcykpOw0KDQoNCgkJLy8gZ3JvdXAgbWFwcGluZ3MgYnkgZ2VuZXJhdGVkIGxpbmUgbnVtYmVyLg0KCQkkZ3JvdXBlZE1hcCA9ICRncm91cGVkTWFwRW5jb2RlZCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJHRoaXMtPm1hcHBpbmdzIGFzICRtKXsNCgkJCSRncm91cGVkTWFwWyRtWydnZW5lcmF0ZWRfbGluZSddXVtdID0gJG07DQoJCX0NCgkJa3NvcnQoJGdyb3VwZWRNYXApOw0KDQoJCSRsYXN0R2VuZXJhdGVkTGluZSA9ICRsYXN0T3JpZ2luYWxJbmRleCA9ICRsYXN0T3JpZ2luYWxMaW5lID0gJGxhc3RPcmlnaW5hbENvbHVtbiA9IDA7DQoNCgkJZm9yZWFjaCgkZ3JvdXBlZE1hcCBhcyAkbGluZU51bWJlciA9PiAkbGluZV9tYXApew0KCQkJd2hpbGUoKyskbGFzdEdlbmVyYXRlZExpbmUgPCAkbGluZU51bWJlcil7DQoJCQkJJGdyb3VwZWRNYXBFbmNvZGVkW10gPSAnOyc7DQoJCQl9DQoNCgkJCSRsaW5lTWFwRW5jb2RlZCA9IGFycmF5KCk7DQoJCQkkbGFzdEdlbmVyYXRlZENvbHVtbiA9IDA7DQoNCgkJCWZvcmVhY2goJGxpbmVfbWFwIGFzICRtKXsNCgkJCQkkbWFwRW5jb2RlZCA9ICR0aGlzLT5lbmNvZGVyLT5lbmNvZGUoJG1bJ2dlbmVyYXRlZF9jb2x1bW4nXSAtICRsYXN0R2VuZXJhdGVkQ29sdW1uKTsNCgkJCQkkbGFzdEdlbmVyYXRlZENvbHVtbiA9ICRtWydnZW5lcmF0ZWRfY29sdW1uJ107DQoNCgkJCQkvLyBmaW5kIHRoZSBpbmRleA0KCQkJCWlmKCAkbVsnc291cmNlX2ZpbGUnXSApew0KCQkJCQkkaW5kZXggPSAkdGhpcy0+ZmluZEZpbGVJbmRleCgkbVsnc291cmNlX2ZpbGUnXSk7DQoJCQkJCWlmKCAkaW5kZXggIT09IGZhbHNlICl7DQoJCQkJCQkkbWFwRW5jb2RlZCAuPSAkdGhpcy0+ZW5jb2Rlci0+ZW5jb2RlKCRpbmRleCAtICRsYXN0T3JpZ2luYWxJbmRleCk7DQoJCQkJCQkkbGFzdE9yaWdpbmFsSW5kZXggPSAkaW5kZXg7DQoNCgkJCQkJCS8vIGxpbmVzIGFyZSBzdG9yZWQgMC1iYXNlZCBpbiBTb3VyY2VNYXAgc3BlYyB2ZXJzaW9uIDMNCgkJCQkJCSRtYXBFbmNvZGVkIC49ICR0aGlzLT5lbmNvZGVyLT5lbmNvZGUoJG1bJ29yaWdpbmFsX2xpbmUnXSAtIDEgLSAkbGFzdE9yaWdpbmFsTGluZSk7DQoJCQkJCQkkbGFzdE9yaWdpbmFsTGluZSA9ICRtWydvcmlnaW5hbF9saW5lJ10gLSAxOw0KDQoJCQkJCQkkbWFwRW5jb2RlZCAuPSAkdGhpcy0+ZW5jb2Rlci0+ZW5jb2RlKCRtWydvcmlnaW5hbF9jb2x1bW4nXSAtICRsYXN0T3JpZ2luYWxDb2x1bW4pOw0KCQkJCQkJJGxhc3RPcmlnaW5hbENvbHVtbiA9ICRtWydvcmlnaW5hbF9jb2x1bW4nXTsNCgkJCQkJfQ0KCQkJCX0NCg0KCQkJCSRsaW5lTWFwRW5jb2RlZFtdID0gJG1hcEVuY29kZWQ7DQoJCQl9DQoNCgkJCSRncm91cGVkTWFwRW5jb2RlZFtdID0gaW1wbG9kZSgnLCcsICRsaW5lTWFwRW5jb2RlZCkgLiAnOyc7DQoJCX0NCg0KCQlyZXR1cm4gcnRyaW0oaW1wbG9kZSgkZ3JvdXBlZE1hcEVuY29kZWQpLCAnOycpOw0KCX0NCg0KCS8qKg0KCSAqIEZpbmRzIHRoZSBpbmRleCBmb3IgdGhlIGZpbGVuYW1lDQoJICoNCgkgKiBAcGFyYW0gc3RyaW5nICRmaWxlbmFtZQ0KCSAqIEByZXR1cm4gaW50ZWdlcnxmYWxzZQ0KCSAqLw0KCXByb3RlY3RlZCBmdW5jdGlvbiBmaW5kRmlsZUluZGV4KCRmaWxlbmFtZSl7DQoJCXJldHVybiAkdGhpcy0+c291cmNlX2tleXNbJGZpbGVuYW1lXTsNCgl9DQoNCn0=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBUcmVlCiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdHJlZQogKi8KY2xhc3MgTGVzc19UcmVlewoKCXB1YmxpYyAkY2FjaGVfc3RyaW5nOwoKCXB1YmxpYyBmdW5jdGlvbiB0b0NTUygpewoJCSRvdXRwdXQgPSBuZXcgTGVzc19PdXRwdXQoKTsKCQkkdGhpcy0+Z2VuQ1NTKCRvdXRwdXQpOwoJCXJldHVybiAkb3V0cHV0LT50b1N0cmluZygpOwoJfQoKCiAgICAvKioKICAgICAqIEdlbmVyYXRlIENTUyBieSBhZGRpbmcgaXQgdG8gdGhlIG91dHB1dCBvYmplY3QKICAgICAqCiAgICAgKiBAcGFyYW0gTGVzc19PdXRwdXQgJG91dHB1dCBUaGUgb3V0cHV0CiAgICAgKiBAcmV0dXJuIHZvaWQKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdlbkNTUygkb3V0cHV0KXt9CgoKCS8qKgoJICogQHBhcmFtIExlc3NfVHJlZV9SdWxlc2V0W10gJHJ1bGVzCgkgKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gb3V0cHV0UnVsZXNldCggJG91dHB1dCwgJHJ1bGVzICl7CgoJCSRydWxlQ250ID0gY291bnQoJHJ1bGVzKTsKCQlMZXNzX0Vudmlyb25tZW50OjokdGFiTGV2ZWwrKzsKCgoJCS8vIENvbXByZXNzZWQKCQlpZiggTGVzc19QYXJzZXI6OiRvcHRpb25zWydjb21wcmVzcyddICl7CgkJCSRvdXRwdXQtPmFkZCgneycpOwoJCQlmb3IoICRpID0gMDsgJGkgPCAkcnVsZUNudDsgJGkrKyApewoJCQkJJHJ1bGVzWyRpXS0+Z2VuQ1NTKCAkb3V0cHV0ICk7CgkJCX0KCgkJCSRvdXRwdXQtPmFkZCggJ30nICk7CgkJCUxlc3NfRW52aXJvbm1lbnQ6OiR0YWJMZXZlbC0tOwoJCQlyZXR1cm47CgkJfQoKCgkJLy8gTm9uLWNvbXByZXNzZWQKCQkkdGFiU2V0U3RyID0gIlxuIi5zdHJfcmVwZWF0KCAnICAnICwgTGVzc19FbnZpcm9ubWVudDo6JHRhYkxldmVsLTEgKTsKCQkkdGFiUnVsZVN0ciA9ICR0YWJTZXRTdHIuJyAgJzsKCgkJJG91dHB1dC0+YWRkKCAiIHsiICk7CgkJZm9yKCRpID0gMDsgJGkgPCAkcnVsZUNudDsgJGkrKyApewoJCQkkb3V0cHV0LT5hZGQoICR0YWJSdWxlU3RyICk7CgkJCSRydWxlc1skaV0tPmdlbkNTUyggJG91dHB1dCApOwoJCX0KCQlMZXNzX0Vudmlyb25tZW50OjokdGFiTGV2ZWwtLTsKCQkkb3V0cHV0LT5hZGQoICR0YWJTZXRTdHIuJ30nICk7CgoJfQoKCXB1YmxpYyBmdW5jdGlvbiBhY2NlcHQoJHZpc2l0b3Ipe30KCgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBSZWZlcmVuY2VkQXJyYXkoJHJ1bGVzKXsKCQlmb3JlYWNoKCRydWxlcyBhcyAkcnVsZSl7CgkJCWlmKCBtZXRob2RfZXhpc3RzKCRydWxlLCAnbWFya1JlZmVyZW5jZWQnKSApewoJCQkJJHJ1bGUtPm1hcmtSZWZlcmVuY2VkKCk7CgkJCX0KCQl9Cgl9CgoKCS8qKgoJICogUmVxdWlyZXMgcGhwIDUuMysKCSAqLwoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBfX3NldF9zdGF0ZSgkYXJncyl7CgoJCSRjbGFzcyA9IGdldF9jYWxsZWRfY2xhc3MoKTsKCQkkb2JqID0gbmV3ICRjbGFzcyhudWxsLG51bGwsbnVsbCxudWxsKTsKCQlmb3JlYWNoKCRhcmdzIGFzICRrZXkgPT4gJHZhbCl7CgkJCSRvYmotPiRrZXkgPSAkdmFsOwoJCX0KCQlyZXR1cm4gJG9iajsKCX0KCn0=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Alpha.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBbHBoYQogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9BbHBoYSBleHRlbmRzIExlc3NfVHJlZXsKCXB1YmxpYyAkdmFsdWU7CglwdWJsaWMgJHR5cGUgPSAnQWxwaGEnOwoKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdmFsKXsKCQkkdGhpcy0+dmFsdWUgPSAkdmFsOwoJfQoKCS8vZnVuY3Rpb24gYWNjZXB0KCAkdmlzaXRvciApewoJLy8JJHRoaXMtPnZhbHVlID0gJHZpc2l0b3ItPnZpc2l0KCAkdGhpcy0+dmFsdWUgKTsKCS8vfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCRlbnYpewoKCQlpZiggaXNfb2JqZWN0KCR0aGlzLT52YWx1ZSkgKXsKCQkJJHRoaXMtPnZhbHVlID0gJHRoaXMtPnZhbHVlLT5jb21waWxlKCRlbnYpOwoJCX0KCgkJcmV0dXJuICR0aGlzOwoJfQoKICAgIC8qKgogICAgICogQHNlZSBMZXNzX1RyZWU6OmdlbkNTUwogICAgICovCglwdWJsaWMgZnVuY3Rpb24gZ2VuQ1NTKCAkb3V0cHV0ICl7CgoJCSRvdXRwdXQtPmFkZCggImFscGhhKG9wYWNpdHk9IiApOwoKCQlpZiggaXNfc3RyaW5nKCR0aGlzLT52YWx1ZSkgKXsKCQkJJG91dHB1dC0+YWRkKCAkdGhpcy0+dmFsdWUgKTsKCQl9ZWxzZXsKCQkJJHRoaXMtPnZhbHVlLT5nZW5DU1MoICRvdXRwdXQpOwoJCX0KCgkJJG91dHB1dC0+YWRkKCAnKScgKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdG9DU1MoKXsKCQlyZXR1cm4gImFscGhhKG9wYWNpdHk9IiAuIChpc19zdHJpbmcoJHRoaXMtPnZhbHVlKSA/ICR0aGlzLT52YWx1ZSA6ICR0aGlzLT52YWx1ZS0+dG9DU1MoKSkgLiAiKSI7Cgl9CgoKfQ==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Anonymous.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBbm9ueW1vdXMKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfQW5vbnltb3VzIGV4dGVuZHMgTGVzc19UcmVlewoJcHVibGljICR2YWx1ZTsKCXB1YmxpYyAkcXVvdGU7CglwdWJsaWMgJGluZGV4OwoJcHVibGljICRtYXBMaW5lczsKCXB1YmxpYyAkY3VycmVudEZpbGVJbmZvOwoJcHVibGljICR0eXBlID0gJ0Fub255bW91cyc7CgoJLyoqCgkgKiBAcGFyYW0gaW50ZWdlciAkaW5kZXgKCSAqIEBwYXJhbSBib29sZWFuICRtYXBMaW5lcwoJICovCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHZhbHVlLCAkaW5kZXggPSBudWxsLCAkY3VycmVudEZpbGVJbmZvID0gbnVsbCwgJG1hcExpbmVzID0gbnVsbCApewoJCSR0aGlzLT52YWx1ZSA9ICR2YWx1ZTsKCQkkdGhpcy0+aW5kZXggPSAkaW5kZXg7CgkJJHRoaXMtPm1hcExpbmVzID0gJG1hcExpbmVzOwoJCSR0aGlzLT5jdXJyZW50RmlsZUluZm8gPSAkY3VycmVudEZpbGVJbmZvOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCl7CgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfQW5vbnltb3VzKCR0aGlzLT52YWx1ZSwgJHRoaXMtPmluZGV4LCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvLCAkdGhpcy0+bWFwTGluZXMpOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb21wYXJlKCR4KXsKCQlpZiggIWlzX29iamVjdCgkeCkgKXsKCQkJcmV0dXJuIC0xOwoJCX0KCgkJJGxlZnQgPSAkdGhpcy0+dG9DU1MoKTsKCQkkcmlnaHQgPSAkeC0+dG9DU1MoKTsKCgkJaWYoICRsZWZ0ID09PSAkcmlnaHQgKXsKCQkJcmV0dXJuIDA7CgkJfQoKCQlyZXR1cm4gJGxlZnQgPCAkcmlnaHQgPyAtMSA6IDE7Cgl9CgogICAgLyoqCiAgICAgKiBAc2VlIExlc3NfVHJlZTo6Z2VuQ1NTCiAgICAgKi8KCXB1YmxpYyBmdW5jdGlvbiBnZW5DU1MoICRvdXRwdXQgKXsKCQkkb3V0cHV0LT5hZGQoICR0aGlzLT52YWx1ZSwgJHRoaXMtPmN1cnJlbnRGaWxlSW5mbywgJHRoaXMtPmluZGV4LCAkdGhpcy0+bWFwTGluZXMgKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdG9DU1MoKXsKCQlyZXR1cm4gJHRoaXMtPnZhbHVlOwoJfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Assignment.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBc3NpZ25tZW50CiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdHJlZQogKi8KY2xhc3MgTGVzc19UcmVlX0Fzc2lnbm1lbnQgZXh0ZW5kcyBMZXNzX1RyZWV7CgoJcHVibGljICRrZXk7CglwdWJsaWMgJHZhbHVlOwoJcHVibGljICR0eXBlID0gJ0Fzc2lnbm1lbnQnOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgka2V5LCAkdmFsKSB7CgkJJHRoaXMtPmtleSA9ICRrZXk7CgkJJHRoaXMtPnZhbHVlID0gJHZhbDsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWNjZXB0KCAkdmlzaXRvciApewoJCSR0aGlzLT52YWx1ZSA9ICR2aXNpdG9yLT52aXNpdE9iaiggJHRoaXMtPnZhbHVlICk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGNvbXBpbGUoJGVudikgewoJCXJldHVybiBuZXcgTGVzc19UcmVlX0Fzc2lnbm1lbnQoICR0aGlzLT5rZXksICR0aGlzLT52YWx1ZS0+Y29tcGlsZSgkZW52KSk7Cgl9CgogICAgLyoqCiAgICAgKiBAc2VlIExlc3NfVHJlZTo6Z2VuQ1NTCiAgICAgKi8KCXB1YmxpYyBmdW5jdGlvbiBnZW5DU1MoICRvdXRwdXQgKXsKCQkkb3V0cHV0LT5hZGQoICR0aGlzLT5rZXkgLiAnPScgKTsKCQkkdGhpcy0+dmFsdWUtPmdlbkNTUyggJG91dHB1dCApOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiB0b0NzcygpewoJCXJldHVybiAkdGhpcy0+a2V5IC4gJz0nIC4gJHRoaXMtPnZhbHVlLT50b0NTUygpOwoJfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Attribute.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBdHRyaWJ1dGUKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfQXR0cmlidXRlIGV4dGVuZHMgTGVzc19UcmVlewoKCXB1YmxpYyAka2V5OwoJcHVibGljICRvcDsKCXB1YmxpYyAkdmFsdWU7CglwdWJsaWMgJHR5cGUgPSAnQXR0cmlidXRlJzsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGtleSwgJG9wLCAkdmFsdWUpewoJCSR0aGlzLT5rZXkgPSAka2V5OwoJCSR0aGlzLT5vcCA9ICRvcDsKCQkkdGhpcy0+dmFsdWUgPSAkdmFsdWU7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvbXBpbGUoJGVudil7CgoJCSRrZXlfb2JqID0gaXNfb2JqZWN0KCR0aGlzLT5rZXkpOwoJCSR2YWxfb2JqID0gaXNfb2JqZWN0KCR0aGlzLT52YWx1ZSk7CgoJCWlmKCAhJGtleV9vYmogJiYgISR2YWxfb2JqICl7CgkJCXJldHVybiAkdGhpczsKCQl9CgoJCXJldHVybiBuZXcgTGVzc19UcmVlX0F0dHJpYnV0ZSgKCQkJJGtleV9vYmogPyAkdGhpcy0+a2V5LT5jb21waWxlKCRlbnYpIDogJHRoaXMtPmtleSAsCgkJCSR0aGlzLT5vcCwKCQkJJHZhbF9vYmogPyAkdGhpcy0+dmFsdWUtPmNvbXBpbGUoJGVudikgOiAkdGhpcy0+dmFsdWUpOwoJfQoKICAgIC8qKgogICAgICogQHNlZSBMZXNzX1RyZWU6OmdlbkNTUwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuQ1NTKCAkb3V0cHV0ICl7CgkJJG91dHB1dC0+YWRkKCAkdGhpcy0+dG9DU1MoKSApOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0b0NTUygpewoJCSR2YWx1ZSA9ICR0aGlzLT5rZXk7CgoJCWlmKCAkdGhpcy0+b3AgKXsKCQkJJHZhbHVlIC49ICR0aGlzLT5vcDsKCQkJJHZhbHVlIC49IChpc19vYmplY3QoJHRoaXMtPnZhbHVlKSA/ICR0aGlzLT52YWx1ZS0+dG9DU1MoKSA6ICR0aGlzLT52YWx1ZSk7CgkJfQoKCQlyZXR1cm4gJ1snIC4gJHZhbHVlIC4gJ10nOwoJfQp9]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Call.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgovKioKICogQ2FsbAogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9DYWxsIGV4dGVuZHMgTGVzc19UcmVlewogICAgcHVibGljICR2YWx1ZTsKCiAgICBwcm90ZWN0ZWQgJG5hbWU7CiAgICBwcm90ZWN0ZWQgJGFyZ3M7CiAgICBwcm90ZWN0ZWQgJGluZGV4OwogICAgcHJvdGVjdGVkICRjdXJyZW50RmlsZUluZm87CiAgICBwdWJsaWMgJHR5cGUgPSAnQ2FsbCc7CgoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRuYW1lLCAkYXJncywgJGluZGV4LCAkY3VycmVudEZpbGVJbmZvID0gbnVsbCApewoJCSR0aGlzLT5uYW1lID0gJG5hbWU7CgkJJHRoaXMtPmFyZ3MgPSAkYXJnczsKCQkkdGhpcy0+aW5kZXggPSAkaW5kZXg7CgkJJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyA9ICRjdXJyZW50RmlsZUluZm87Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjY2VwdCggJHZpc2l0b3IgKXsKCQkkdGhpcy0+YXJncyA9ICR2aXNpdG9yLT52aXNpdEFycmF5KCAkdGhpcy0+YXJncyApOwoJfQoKICAgIC8vCiAgICAvLyBXaGVuIGV2YWx1YXRpbmcgYSBmdW5jdGlvbiBjYWxsLAogICAgLy8gd2UgZWl0aGVyIGZpbmQgdGhlIGZ1bmN0aW9uIGluIGB0cmVlLmZ1bmN0aW9uc2AgWzFdLAogICAgLy8gaW4gd2hpY2ggY2FzZSB3ZSBjYWxsIGl0LCBwYXNzaW5nIHRoZSAgZXZhbHVhdGVkIGFyZ3VtZW50cywKICAgIC8vIG9yIHdlIHNpbXBseSBwcmludCBpdCBvdXQgYXMgaXQgYXBwZWFyZWQgb3JpZ2luYWxseSBbMl0uCiAgICAvLwogICAgLy8gVGhlICpmdW5jdGlvbnMuanMqIGZpbGUgY29udGFpbnMgdGhlIGJ1aWx0LWluIGZ1bmN0aW9ucy4KICAgIC8vCiAgICAvLyBUaGUgcmVhc29uIHdoeSB3ZSBldmFsdWF0ZSB0aGUgYXJndW1lbnRzLCBpcyBpbiB0aGUgY2FzZSB3aGVyZQogICAgLy8gd2UgdHJ5IHRvIHBhc3MgYSB2YXJpYWJsZSB0byBhIGZ1bmN0aW9uLCBsaWtlOiBgc2F0dXJhdGUoQGNvbG9yKWAuCiAgICAvLyBUaGUgZnVuY3Rpb24gc2hvdWxkIHJlY2VpdmUgdGhlIHZhbHVlLCBub3QgdGhlIHZhcmlhYmxlLgogICAgLy8KICAgIHB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCRlbnY9bnVsbCl7CgkJJGFyZ3MgPSBhcnJheSgpOwoJCWZvcmVhY2goJHRoaXMtPmFyZ3MgYXMgJGEpewoJCQkkYXJnc1tdID0gJGEtPmNvbXBpbGUoJGVudik7CgkJfQoKCQkkbmFtZUxDID0gc3RydG9sb3dlcigkdGhpcy0+bmFtZSk7CgkJc3dpdGNoKCRuYW1lTEMpewoJCQljYXNlICclJzoKCQkJJG5hbWVMQyA9ICdfcGVyY2VudCc7CgkJCWJyZWFrOwoKCQkJY2FzZSAnZ2V0LXVuaXQnOgoJCQkkbmFtZUxDID0gJ2dldHVuaXQnOwoJCQlicmVhazsKCgkJCWNhc2UgJ2RhdGEtdXJpJzoKCQkJJG5hbWVMQyA9ICdkYXRhdXJpJzsKCQkJYnJlYWs7CgoJCQljYXNlICdzdmctZ3JhZGllbnQnOgoJCQkkbmFtZUxDID0gJ3N2Z2dyYWRpZW50JzsKCQkJYnJlYWs7CgkJfQoKCQkkcmVzdWx0ID0gbnVsbDsKCQlpZiggJG5hbWVMQyA9PT0gJ2RlZmF1bHQnICl7CgkJCSRyZXN1bHQgPSBMZXNzX1RyZWVfRGVmYXVsdEZ1bmM6OmNvbXBpbGUoKTsKCgkJfWVsc2V7CgoJCQlpZiggbWV0aG9kX2V4aXN0cygnTGVzc19GdW5jdGlvbnMnLCRuYW1lTEMpICl7IC8vIDEuCgkJCQl0cnkgewoKCQkJCQkkZnVuYyA9IG5ldyBMZXNzX0Z1bmN0aW9ucygkZW52LCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvKTsKCQkJCQkkcmVzdWx0ID0gY2FsbF91c2VyX2Z1bmNfYXJyYXkoIGFycmF5KCRmdW5jLCRuYW1lTEMpLCRhcmdzKTsKCgkJCQl9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKCQkJCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIoJ2Vycm9yIGV2YWx1YXRpbmcgZnVuY3Rpb24gYCcgLiAkdGhpcy0+bmFtZSAuICdgICcuJGUtPmdldE1lc3NhZ2UoKS4nIGluZGV4OiAnLiAkdGhpcy0+aW5kZXgpOwoJCQkJfQoJCQl9IGVsc2VpZiggaXNzZXQoICRlbnYtPmZ1bmN0aW9uc1skbmFtZUxDXSApICYmIGlzX2NhbGxhYmxlKCAkZW52LT5mdW5jdGlvbnNbJG5hbWVMQ10gKSApIHsKCQkJCXRyeSB7CgkJCQkJJHJlc3VsdCA9IGNhbGxfdXNlcl9mdW5jX2FycmF5KCAkZW52LT5mdW5jdGlvbnNbJG5hbWVMQ10sICRhcmdzICk7CgkJCQl9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKCQkJCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIoJ2Vycm9yIGV2YWx1YXRpbmcgZnVuY3Rpb24gYCcgLiAkdGhpcy0+bmFtZSAuICdgICcuJGUtPmdldE1lc3NhZ2UoKS4nIGluZGV4OiAnLiAkdGhpcy0+aW5kZXgpOwoJCQkJfQoJCQl9CgkJfQoKCQlpZiggJHJlc3VsdCAhPT0gbnVsbCApewoJCQlyZXR1cm4gJHJlc3VsdDsKCQl9CgoKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9DYWxsKCAkdGhpcy0+bmFtZSwgJGFyZ3MsICR0aGlzLT5pbmRleCwgJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyApOwogICAgfQoKICAgIC8qKgogICAgICogQHNlZSBMZXNzX1RyZWU6OmdlbkNTUwogICAgICovCglwdWJsaWMgZnVuY3Rpb24gZ2VuQ1NTKCAkb3V0cHV0ICl7CgoJCSRvdXRwdXQtPmFkZCggJHRoaXMtPm5hbWUgLiAnKCcsICR0aGlzLT5jdXJyZW50RmlsZUluZm8sICR0aGlzLT5pbmRleCApOwoJCSRhcmdzX2xlbiA9IGNvdW50KCR0aGlzLT5hcmdzKTsKCQlmb3IoJGkgPSAwOyAkaSA8ICRhcmdzX2xlbjsgJGkrKyApewoJCQkkdGhpcy0+YXJnc1skaV0tPmdlbkNTUyggJG91dHB1dCApOwoJCQlpZiggJGkgKyAxIDwgJGFyZ3NfbGVuICl7CgkJCQkkb3V0cHV0LT5hZGQoICcsICcgKTsKCQkJfQoJCX0KCgkJJG91dHB1dC0+YWRkKCAnKScgKTsKCX0KCgogICAgLy9wdWJsaWMgZnVuY3Rpb24gdG9DU1MoKXsKICAgIC8vICAgIHJldHVybiAkdGhpcy0+Y29tcGlsZSgpLT50b0NTUygpOwogICAgLy99Cgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Color.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBDb2xvcgogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9Db2xvciBleHRlbmRzIExlc3NfVHJlZXsKCXB1YmxpYyAkcmdiOwoJcHVibGljICRhbHBoYTsKCXB1YmxpYyAkaXNUcmFuc3BhcmVudEtleXdvcmQ7CglwdWJsaWMgJHR5cGUgPSAnQ29sb3InOwoKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcmdiLCAkYSA9IDEsICRpc1RyYW5zcGFyZW50S2V5d29yZCA9IG51bGwgKXsKCgkJaWYoICRpc1RyYW5zcGFyZW50S2V5d29yZCApewoJCQkkdGhpcy0+cmdiID0gJHJnYjsKCQkJJHRoaXMtPmFscGhhID0gJGE7CgkJCSR0aGlzLT5pc1RyYW5zcGFyZW50S2V5d29yZCA9IHRydWU7CgkJCXJldHVybjsKCQl9CgoJCSR0aGlzLT5yZ2IgPSBhcnJheSgpOwoJCWlmKCBpc19hcnJheSgkcmdiKSApewoJCQkkdGhpcy0+cmdiID0gJHJnYjsKCQl9ZWxzZSBpZiggc3RybGVuKCRyZ2IpID09IDYgKXsKCQkJZm9yZWFjaChzdHJfc3BsaXQoJHJnYiwgMikgYXMgJGMpewoJCQkJJHRoaXMtPnJnYltdID0gaGV4ZGVjKCRjKTsKCQkJfQoJCX1lbHNlewoJCQlmb3JlYWNoKHN0cl9zcGxpdCgkcmdiLCAxKSBhcyAkYyl7CgkJCQkkdGhpcy0+cmdiW10gPSBoZXhkZWMoJGMuJGMpOwoJCQl9CgkJfQoJCSR0aGlzLT5hbHBoYSA9IGlzX251bWVyaWMoJGEpID8gJGEgOiAxOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCl7CgkJcmV0dXJuICR0aGlzOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBsdW1hKCl7CgkJJHIgPSAkdGhpcy0+cmdiWzBdIC8gMjU1OwoJCSRnID0gJHRoaXMtPnJnYlsxXSAvIDI1NTsKCQkkYiA9ICR0aGlzLT5yZ2JbMl0gLyAyNTU7CgoJCSRyID0gKCRyIDw9IDAuMDM5MjgpID8gJHIgLyAxMi45MiA6IHBvdygoKCRyICsgMC4wNTUpIC8gMS4wNTUpLCAyLjQpOwoJCSRnID0gKCRnIDw9IDAuMDM5MjgpID8gJGcgLyAxMi45MiA6IHBvdygoKCRnICsgMC4wNTUpIC8gMS4wNTUpLCAyLjQpOwoJCSRiID0gKCRiIDw9IDAuMDM5MjgpID8gJGIgLyAxMi45MiA6IHBvdygoKCRiICsgMC4wNTUpIC8gMS4wNTUpLCAyLjQpOwoKCQlyZXR1cm4gMC4yMTI2ICogJHIgKyAwLjcxNTIgKiAkZyArIDAuMDcyMiAqICRiOwoJfQoKCS8qKgoJICogQHNlZSBMZXNzX1RyZWU6OmdlbkNTUwoJICovCglwdWJsaWMgZnVuY3Rpb24gZ2VuQ1NTKCAkb3V0cHV0ICl7CgkJJG91dHB1dC0+YWRkKCAkdGhpcy0+dG9DU1MoKSApOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiB0b0NTUyggJGRvTm90Q29tcHJlc3MgPSBmYWxzZSApewoJCSRjb21wcmVzcyA9IExlc3NfUGFyc2VyOjokb3B0aW9uc1snY29tcHJlc3MnXSAmJiAhJGRvTm90Q29tcHJlc3M7CgkJJGFscGhhID0gTGVzc19GdW5jdGlvbnM6OmZyb3VuZCggJHRoaXMtPmFscGhhICk7CgoKCQkvLwoJCS8vIElmIHdlIGhhdmUgc29tZSB0cmFuc3BhcmVuY3ksIHRoZSBvbmx5IHdheSB0byByZXByZXNlbnQgaXQKCQkvLyBpcyB2aWEgYHJnYmFgLiBPdGhlcndpc2UsIHdlIHVzZSB0aGUgaGV4IHJlcHJlc2VudGF0aW9uLAoJCS8vIHdoaWNoIGhhcyBiZXR0ZXIgY29tcGF0aWJpbGl0eSB3aXRoIG9sZGVyIGJyb3dzZXJzLgoJCS8vIFZhbHVlcyBhcmUgY2FwcGVkIGJldHdlZW4gYDBgIGFuZCBgMjU1YCwgcm91bmRlZCBhbmQgemVyby1wYWRkZWQuCgkJLy8KCQlpZiggJGFscGhhIDwgMSApewoJCQlpZiggJGFscGhhID09PSAwICYmIGlzc2V0KCR0aGlzLT5pc1RyYW5zcGFyZW50S2V5d29yZCkgJiYgJHRoaXMtPmlzVHJhbnNwYXJlbnRLZXl3b3JkICl7CgkJCQlyZXR1cm4gJ3RyYW5zcGFyZW50JzsKCQkJfQoKCQkJJHZhbHVlcyA9IGFycmF5KCk7CgkJCWZvcmVhY2goJHRoaXMtPnJnYiBhcyAkYyl7CgkJCQkkdmFsdWVzW10gPSBMZXNzX0Z1bmN0aW9uczo6Y2xhbXAoIHJvdW5kKCRjKSwgMjU1KTsKCQkJfQoJCQkkdmFsdWVzW10gPSAkYWxwaGE7CgoJCQkkZ2x1ZSA9ICgkY29tcHJlc3MgPyAnLCcgOiAnLCAnKTsKCQkJcmV0dXJuICJyZ2JhKCIgLiBpbXBsb2RlKCRnbHVlLCAkdmFsdWVzKSAuICIpIjsKCQl9ZWxzZXsKCgkJCSRjb2xvciA9ICR0aGlzLT50b1JHQigpOwoKCQkJaWYoICRjb21wcmVzcyApewoKCQkJCS8vIENvbnZlcnQgY29sb3IgdG8gc2hvcnQgZm9ybWF0CgkJCQlpZiggJGNvbG9yWzFdID09PSAkY29sb3JbMl0gJiYgJGNvbG9yWzNdID09PSAkY29sb3JbNF0gJiYgJGNvbG9yWzVdID09PSAkY29sb3JbNl0pIHsKCQkJCQkkY29sb3IgPSAnIycuJGNvbG9yWzFdIC4gJGNvbG9yWzNdIC4gJGNvbG9yWzVdOwoJCQkJfQoJCQl9CgoJCQlyZXR1cm4gJGNvbG9yOwoJCX0KCX0KCgkvLwoJLy8gT3BlcmF0aW9ucyBoYXZlIHRvIGJlIGRvbmUgcGVyLWNoYW5uZWwsIGlmIG5vdCwKCS8vIGNoYW5uZWxzIHdpbGwgc3BpbGwgb250byBlYWNoIG90aGVyLiBPbmNlIHdlIGhhdmUKCS8vIG91ciByZXN1bHQsIGluIHRoZSBmb3JtIG9mIGFuIGludGVnZXIgdHJpcGxldCwKCS8vIHdlIGNyZWF0ZSBhIG5ldyBDb2xvciBub2RlIHRvIGhvbGQgdGhlIHJlc3VsdC4KCS8vCgoJLyoqCgkgKiBAcGFyYW0gc3RyaW5nICRvcAoJICovCglwdWJsaWMgZnVuY3Rpb24gb3BlcmF0ZSggJG9wLCAkb3RoZXIpIHsKCQkkcmdiID0gYXJyYXkoKTsKCQkkYWxwaGEgPSAkdGhpcy0+YWxwaGEgKiAoMSAtICRvdGhlci0+YWxwaGEpICsgJG90aGVyLT5hbHBoYTsKCQlmb3IgKCRjID0gMDsgJGMgPCAzOyAkYysrKSB7CgkJCSRyZ2JbJGNdID0gTGVzc19GdW5jdGlvbnM6Om9wZXJhdGUoICRvcCwgJHRoaXMtPnJnYlskY10sICRvdGhlci0+cmdiWyRjXSk7CgkJfQoJCXJldHVybiBuZXcgTGVzc19UcmVlX0NvbG9yKCRyZ2IsICRhbHBoYSk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHRvUkdCKCl7CgkJcmV0dXJuICR0aGlzLT50b0hleCgkdGhpcy0+cmdiKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdG9IU0woKXsKCQkkciA9ICR0aGlzLT5yZ2JbMF0gLyAyNTU7CgkJJGcgPSAkdGhpcy0+cmdiWzFdIC8gMjU1OwoJCSRiID0gJHRoaXMtPnJnYlsyXSAvIDI1NTsKCQkkYSA9ICR0aGlzLT5hbHBoYTsKCgkJJG1heCA9IG1heCgkciwgJGcsICRiKTsKCQkkbWluID0gbWluKCRyLCAkZywgJGIpOwoJCSRsID0gKCRtYXggKyAkbWluKSAvIDI7CgkJJGQgPSAkbWF4IC0gJG1pbjsKCgkJJGggPSAkcyA9IDA7CgkJaWYoICRtYXggIT09ICRtaW4gKXsKCQkJJHMgPSAkbCA+IDAuNSA/ICRkIC8gKDIgLSAkbWF4IC0gJG1pbikgOiAkZCAvICgkbWF4ICsgJG1pbik7CgoJCQlzd2l0Y2ggKCRtYXgpIHsKCQkJCWNhc2UgJHI6ICRoID0gKCRnIC0gJGIpIC8gJGQgKyAoJGcgPCAkYiA/IDYgOiAwKTsgYnJlYWs7CgkJCQljYXNlICRnOiAkaCA9ICgkYiAtICRyKSAvICRkICsgMjsJCQkJIGJyZWFrOwoJCQkJY2FzZSAkYjogJGggPSAoJHIgLSAkZykgLyAkZCArIDQ7CQkJCSBicmVhazsKCQkJfQoJCQkkaCAvPSA2OwoJCX0KCQlyZXR1cm4gYXJyYXkoJ2gnID0+ICRoICogMzYwLCAncycgPT4gJHMsICdsJyA9PiAkbCwgJ2EnID0+ICRhICk7Cgl9CgoJLy9BZGFwdGVkIGZyb20gaHR0cDovL21qaWphY2tzb24uY29tLzIwMDgvMDIvcmdiLXRvLWhzbC1hbmQtcmdiLXRvLWhzdi1jb2xvci1tb2RlbC1jb252ZXJzaW9uLWFsZ29yaXRobXMtaW4tamF2YXNjcmlwdAogICAgcHVibGljIGZ1bmN0aW9uIHRvSFNWKCkgewoJCSRyID0gJHRoaXMtPnJnYlswXSAvIDI1NTsKCQkkZyA9ICR0aGlzLT5yZ2JbMV0gLyAyNTU7CgkJJGIgPSAkdGhpcy0+cmdiWzJdIC8gMjU1OwoJCSRhID0gJHRoaXMtPmFscGhhOwoKCQkkbWF4ID0gbWF4KCRyLCAkZywgJGIpOwoJCSRtaW4gPSBtaW4oJHIsICRnLCAkYik7CgoJCSR2ID0gJG1heDsKCgkJJGQgPSAkbWF4IC0gJG1pbjsKCQlpZiAoJG1heCA9PT0gMCkgewoJCQkkcyA9IDA7CgkJfSBlbHNlIHsKCQkJJHMgPSAkZCAvICRtYXg7CgkJfQoKCQkkaCA9IDA7CgkJaWYoICRtYXggIT09ICRtaW4gKXsKCQkJc3dpdGNoKCRtYXgpewoJCQkJY2FzZSAkcjogJGggPSAoJGcgLSAkYikgLyAkZCArICgkZyA8ICRiID8gNiA6IDApOyBicmVhazsKCQkJCWNhc2UgJGc6ICRoID0gKCRiIC0gJHIpIC8gJGQgKyAyOyBicmVhazsKCQkJCWNhc2UgJGI6ICRoID0gKCRyIC0gJGcpIC8gJGQgKyA0OyBicmVhazsKCQkJfQoJCQkkaCAvPSA2OwoJCX0KCQlyZXR1cm4gYXJyYXkoJ2gnPT4gJGggKiAzNjAsICdzJz0+ICRzLCAndic9PiAkdiwgJ2EnID0+ICRhICk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHRvQVJHQigpewoJCSRhcmdiID0gYXJyYXlfbWVyZ2UoIChhcnJheSkgTGVzc19QYXJzZXI6OnJvdW5kKCR0aGlzLT5hbHBoYSAqIDI1NSksICR0aGlzLT5yZ2IpOwoJCXJldHVybiAkdGhpcy0+dG9IZXgoICRhcmdiICk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGNvbXBhcmUoJHgpewoKCQlpZiggIXByb3BlcnR5X2V4aXN0cyggJHgsICdyZ2InICkgKXsKCQkJcmV0dXJuIC0xOwoJCX0KCgoJCXJldHVybiAoJHgtPnJnYlswXSA9PT0gJHRoaXMtPnJnYlswXSAmJgoJCQkkeC0+cmdiWzFdID09PSAkdGhpcy0+cmdiWzFdICYmCgkJCSR4LT5yZ2JbMl0gPT09ICR0aGlzLT5yZ2JbMl0gJiYKCQkJJHgtPmFscGhhID09PSAkdGhpcy0+YWxwaGEpID8gMCA6IC0xOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0b0hleCggJHYgKXsKCgkJJHJldCA9ICcjJzsKCQlmb3JlYWNoKCR2IGFzICRjKXsKCQkJJGMgPSBMZXNzX0Z1bmN0aW9uczo6Y2xhbXAoIExlc3NfUGFyc2VyOjpyb3VuZCgkYyksIDI1NSk7CgkJCWlmKCAkYyA8IDE2ICl7CgkJCQkkcmV0IC49ICcwJzsKCQkJfQoJCQkkcmV0IC49IGRlY2hleCgkYyk7CgkJfQoKCQlyZXR1cm4gJHJldDsKCX0KCgoJLyoqCgkgKiBAcGFyYW0gc3RyaW5nICRrZXl3b3JkCgkgKi8KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZnJvbUtleXdvcmQoICRrZXl3b3JkICl7CgkJJGtleXdvcmQgPSBzdHJ0b2xvd2VyKCRrZXl3b3JkKTsKCgkJaWYoIExlc3NfQ29sb3JzOjpoYXNPd25Qcm9wZXJ0eSgka2V5d29yZCkgKXsKCQkJLy8gZGV0ZWN0IG5hbWVkIGNvbG9yCgkJCXJldHVybiBuZXcgTGVzc19UcmVlX0NvbG9yKHN1YnN0cihMZXNzX0NvbG9yczo6Y29sb3IoJGtleXdvcmQpLCAxKSk7CgkJfQoKCQlpZiggJGtleXdvcmQgPT09ICd0cmFuc3BhcmVudCcgKXsKCQkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfQ29sb3IoIGFycmF5KDAsIDAsIDApLCAwLCB0cnVlKTsKCQl9Cgl9Cgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Comment.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBDb21tZW50CiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdHJlZQogKi8KY2xhc3MgTGVzc19UcmVlX0NvbW1lbnQgZXh0ZW5kcyBMZXNzX1RyZWV7CgoJcHVibGljICR2YWx1ZTsKCXB1YmxpYyAkc2lsZW50OwoJcHVibGljICRpc1JlZmVyZW5jZWQ7CglwdWJsaWMgJGN1cnJlbnRGaWxlSW5mbzsKCXB1YmxpYyAkdHlwZSA9ICdDb21tZW50JzsKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHZhbHVlLCAkc2lsZW50LCAkaW5kZXggPSBudWxsLCAkY3VycmVudEZpbGVJbmZvID0gbnVsbCApewoJCSR0aGlzLT52YWx1ZSA9ICR2YWx1ZTsKCQkkdGhpcy0+c2lsZW50ID0gISEgJHNpbGVudDsKCQkkdGhpcy0+Y3VycmVudEZpbGVJbmZvID0gJGN1cnJlbnRGaWxlSW5mbzsKCX0KCiAgICAvKioKICAgICAqIEBzZWUgTGVzc19UcmVlOjpnZW5DU1MKICAgICAqLwoJcHVibGljIGZ1bmN0aW9uIGdlbkNTUyggJG91dHB1dCApewoJCS8vaWYoICR0aGlzLT5kZWJ1Z0luZm8gKXsKCQkJLy8kb3V0cHV0LT5hZGQoIHRyZWUuZGVidWdJbmZvKCRlbnYsICR0aGlzKSwgJHRoaXMtPmN1cnJlbnRGaWxlSW5mbywgJHRoaXMtPmluZGV4KTsKCQkvL30KCQkkb3V0cHV0LT5hZGQoIHRyaW0oJHRoaXMtPnZhbHVlKSApOy8vVE9ETyBzaG91bGRuJ3QgbmVlZCB0byB0cmltLCB3ZSBzaG91bGRuJ3QgZ3JhYiB0aGUgXG4KCX0KCglwdWJsaWMgZnVuY3Rpb24gdG9DU1MoKXsKCQlyZXR1cm4gTGVzc19QYXJzZXI6OiRvcHRpb25zWydjb21wcmVzcyddID8gJycgOiAkdGhpcy0+dmFsdWU7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGlzU2lsZW50KCl7CgkJJGlzUmVmZXJlbmNlID0gKCR0aGlzLT5jdXJyZW50RmlsZUluZm8gJiYgaXNzZXQoJHRoaXMtPmN1cnJlbnRGaWxlSW5mb1sncmVmZXJlbmNlJ10pICYmICghaXNzZXQoJHRoaXMtPmlzUmVmZXJlbmNlZCkgfHwgISR0aGlzLT5pc1JlZmVyZW5jZWQpICk7CgkJJGlzQ29tcHJlc3NlZCA9IExlc3NfUGFyc2VyOjokb3B0aW9uc1snY29tcHJlc3MnXSAmJiAhcHJlZ19tYXRjaCgnL15cL1wqIS8nLCAkdGhpcy0+dmFsdWUpOwoJCXJldHVybiAkdGhpcy0+c2lsZW50IHx8ICRpc1JlZmVyZW5jZSB8fCAkaXNDb21wcmVzc2VkOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCl7CgkJcmV0dXJuICR0aGlzOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBtYXJrUmVmZXJlbmNlZCgpewoJCSR0aGlzLT5pc1JlZmVyZW5jZWQgPSB0cnVlOwoJfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Condition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBDb25kaXRpb24KICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfQ29uZGl0aW9uIGV4dGVuZHMgTGVzc19UcmVlewoKCXB1YmxpYyAkb3A7CglwdWJsaWMgJGx2YWx1ZTsKCXB1YmxpYyAkcnZhbHVlOwoJcHVibGljICRpbmRleDsKCXB1YmxpYyAkbmVnYXRlOwoJcHVibGljICR0eXBlID0gJ0NvbmRpdGlvbic7CgoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRvcCwgJGwsICRyLCAkaSA9IDAsICRuZWdhdGUgPSBmYWxzZSkgewoJCSR0aGlzLT5vcCA9IHRyaW0oJG9wKTsKCQkkdGhpcy0+bHZhbHVlID0gJGw7CgkJJHRoaXMtPnJ2YWx1ZSA9ICRyOwoJCSR0aGlzLT5pbmRleCA9ICRpOwoJCSR0aGlzLT5uZWdhdGUgPSAkbmVnYXRlOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBhY2NlcHQoJHZpc2l0b3IpewoJCSR0aGlzLT5sdmFsdWUgPSAkdmlzaXRvci0+dmlzaXRPYmooICR0aGlzLT5sdmFsdWUgKTsKCQkkdGhpcy0+cnZhbHVlID0gJHZpc2l0b3ItPnZpc2l0T2JqKCAkdGhpcy0+cnZhbHVlICk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvbXBpbGUoJGVudikgewoJCSRhID0gJHRoaXMtPmx2YWx1ZS0+Y29tcGlsZSgkZW52KTsKCQkkYiA9ICR0aGlzLT5ydmFsdWUtPmNvbXBpbGUoJGVudik7CgoJCXN3aXRjaCggJHRoaXMtPm9wICl7CgkJCWNhc2UgJ2FuZCc6CgkJCQkkcmVzdWx0ID0gJGEgJiYgJGI7CgkJCWJyZWFrOwoKCQkJY2FzZSAnb3InOgoJCQkJJHJlc3VsdCA9ICRhIHx8ICRiOwoJCQlicmVhazsKCgkJCWRlZmF1bHQ6CgkJCQlpZiggTGVzc19QYXJzZXI6OmlzX21ldGhvZCgkYSwgJ2NvbXBhcmUnKSApewoJCQkJCSRyZXN1bHQgPSAkYS0+Y29tcGFyZSgkYik7CgkJCQl9ZWxzZWlmKCBMZXNzX1BhcnNlcjo6aXNfbWV0aG9kKCRiLCAnY29tcGFyZScpICl7CgkJCQkJJHJlc3VsdCA9ICRiLT5jb21wYXJlKCRhKTsKCQkJCX1lbHNlewoJCQkJCXRocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9Db21waWxlcignVW5hYmxlIHRvIHBlcmZvcm0gY29tcGFyaXNvbicsIG51bGwsICR0aGlzLT5pbmRleCk7CgkJCQl9CgoJCQkJc3dpdGNoICgkcmVzdWx0KSB7CgkJCQkJY2FzZSAtMToKCQkJCQkkcmVzdWx0ID0gJHRoaXMtPm9wID09PSAnPCcgfHwgJHRoaXMtPm9wID09PSAnPTwnIHx8ICR0aGlzLT5vcCA9PT0gJzw9JzsKCQkJCQlicmVhazsKCgkJCQkJY2FzZSAgMDoKCQkJCQkkcmVzdWx0ID0gJHRoaXMtPm9wID09PSAnPScgfHwgJHRoaXMtPm9wID09PSAnPj0nIHx8ICR0aGlzLT5vcCA9PT0gJz08JyB8fCAkdGhpcy0+b3AgPT09ICc8PSc7CgkJCQkJYnJlYWs7CgoJCQkJCWNhc2UgIDE6CgkJCQkJJHJlc3VsdCA9ICR0aGlzLT5vcCA9PT0gJz4nIHx8ICR0aGlzLT5vcCA9PT0gJz49JzsKCQkJCQlicmVhazsKCQkJCX0KCQkJYnJlYWs7CgkJfQoKCQlyZXR1cm4gJHRoaXMtPm5lZ2F0ZSA/ICEkcmVzdWx0IDogJHJlc3VsdDsKICAgIH0KCn0K]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/DefaultFunc.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBEZWZhdWx0RnVuYwogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9EZWZhdWx0RnVuY3sKCglzdGF0aWMgJGVycm9yXzsKCXN0YXRpYyAkdmFsdWVfOwoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY29tcGlsZSgpewoJCWlmKCBzZWxmOjokZXJyb3JfICl7CgkJCXRocm93IG5ldyBFeGNlcHRpb24oc2VsZjo6JGVycm9yXyk7CgkJfQoJCWlmKCBzZWxmOjokdmFsdWVfICE9PSBudWxsICl7CgkJCXJldHVybiBzZWxmOjokdmFsdWVfID8gbmV3IExlc3NfVHJlZV9LZXl3b3JkKCd0cnVlJykgOiBuZXcgTGVzc19UcmVlX0tleXdvcmQoJ2ZhbHNlJyk7CgkJfQoJfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gdmFsdWUoICR2ICl7CgkJc2VsZjo6JHZhbHVlXyA9ICR2OwoJfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZXJyb3IoICRlICl7CgkJc2VsZjo6JGVycm9yXyA9ICRlOwoJfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVzZXQoKXsKCQlzZWxmOjokdmFsdWVfID0gc2VsZjo6JGVycm9yXyA9IG51bGw7Cgl9Cn0=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/DetachedRuleset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBEZXRhY2hlZFJ1bGVzZXQKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfRGV0YWNoZWRSdWxlc2V0IGV4dGVuZHMgTGVzc19UcmVlewoKCXB1YmxpYyAkcnVsZXNldDsKCXB1YmxpYyAkZnJhbWVzOwoJcHVibGljICR0eXBlID0gJ0RldGFjaGVkUnVsZXNldCc7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAkcnVsZXNldCwgJGZyYW1lcyA9IG51bGwgKXsKCQkkdGhpcy0+cnVsZXNldCA9ICRydWxlc2V0OwoJCSR0aGlzLT5mcmFtZXMgPSAkZnJhbWVzOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY2NlcHQoJHZpc2l0b3IpIHsKCQkkdGhpcy0+cnVsZXNldCA9ICR2aXNpdG9yLT52aXNpdE9iaigkdGhpcy0+cnVsZXNldCk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvbXBpbGUoJGVudil7CgkJaWYoICR0aGlzLT5mcmFtZXMgKXsKCQkJJGZyYW1lcyA9ICR0aGlzLT5mcmFtZXM7CgkJfWVsc2V7CgkJCSRmcmFtZXMgPSAkZW52LT5mcmFtZXM7CgkJfQoJCXJldHVybiBuZXcgTGVzc19UcmVlX0RldGFjaGVkUnVsZXNldCgkdGhpcy0+cnVsZXNldCwgJGZyYW1lcyk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGNhbGxFdmFsKCRlbnYpIHsKCQlpZiggJHRoaXMtPmZyYW1lcyApewoJCQlyZXR1cm4gJHRoaXMtPnJ1bGVzZXQtPmNvbXBpbGUoICRlbnYtPmNvcHlFdmFsRW52KCBhcnJheV9tZXJnZSgkdGhpcy0+ZnJhbWVzLCRlbnYtPmZyYW1lcykgKSApOwoJCX0KCQlyZXR1cm4gJHRoaXMtPnJ1bGVzZXQtPmNvbXBpbGUoICRlbnYgKTsKCX0KfQoK]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Dimension.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBEaW1lbnNpb24KICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfRGltZW5zaW9uIGV4dGVuZHMgTGVzc19UcmVlewoKCXB1YmxpYyAkdmFsdWU7CglwdWJsaWMgJHVuaXQ7CglwdWJsaWMgJHR5cGUgPSAnRGltZW5zaW9uJzsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHZhbHVlLCAkdW5pdCA9IG51bGwpewogICAgICAgICR0aGlzLT52YWx1ZSA9IGZsb2F0dmFsKCR2YWx1ZSk7CgoJCWlmKCAkdW5pdCAmJiAoJHVuaXQgaW5zdGFuY2VvZiBMZXNzX1RyZWVfVW5pdCkgKXsKCQkJJHRoaXMtPnVuaXQgPSAkdW5pdDsKCQl9ZWxzZWlmKCAkdW5pdCApewoJCQkkdGhpcy0+dW5pdCA9IG5ldyBMZXNzX1RyZWVfVW5pdCggYXJyYXkoJHVuaXQpICk7CgkJfWVsc2V7CgkJCSR0aGlzLT51bml0ID0gbmV3IExlc3NfVHJlZV9Vbml0KCApOwoJCX0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWNjZXB0KCAkdmlzaXRvciApewoJCSR0aGlzLT51bml0ID0gJHZpc2l0b3ItPnZpc2l0T2JqKCAkdGhpcy0+dW5pdCApOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCl7CiAgICAgICAgcmV0dXJuICR0aGlzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0b0NvbG9yKCkgewogICAgICAgIHJldHVybiBuZXcgTGVzc19UcmVlX0NvbG9yKGFycmF5KCR0aGlzLT52YWx1ZSwgJHRoaXMtPnZhbHVlLCAkdGhpcy0+dmFsdWUpKTsKICAgIH0KCiAgICAvKioKICAgICAqIEBzZWUgTGVzc19UcmVlOjpnZW5DU1MKICAgICAqLwoJcHVibGljIGZ1bmN0aW9uIGdlbkNTUyggJG91dHB1dCApewoKCQlpZiggTGVzc19QYXJzZXI6OiRvcHRpb25zWydzdHJpY3RVbml0cyddICYmICEkdGhpcy0+dW5pdC0+aXNTaW5ndWxhcigpICl7CgkJCXRocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9Db21waWxlcigiTXVsdGlwbGUgdW5pdHMgaW4gZGltZW5zaW9uLiBDb3JyZWN0IHRoZSB1bml0cyBvciB1c2UgdGhlIHVuaXQgZnVuY3Rpb24uIEJhZCB1bml0OiAiLiR0aGlzLT51bml0LT50b1N0cmluZygpKTsKCQl9CgoJCSR2YWx1ZSA9IExlc3NfRnVuY3Rpb25zOjpmcm91bmQoICR0aGlzLT52YWx1ZSApOwoJCSRzdHJWYWx1ZSA9IChzdHJpbmcpJHZhbHVlOwoKCQlpZiggJHZhbHVlICE9PSAwICYmICR2YWx1ZSA8IDAuMDAwMDAxICYmICR2YWx1ZSA+IC0wLjAwMDAwMSApewoJCQkvLyB3b3VsZCBiZSBvdXRwdXQgMWUtNiBldGMuCgkJCSRzdHJWYWx1ZSA9IG51bWJlcl9mb3JtYXQoJHN0clZhbHVlLDEwKTsKCQkJJHN0clZhbHVlID0gcHJlZ19yZXBsYWNlKCcvXC4/MCskLycsJycsICRzdHJWYWx1ZSk7CgkJfQoKCQlpZiggTGVzc19QYXJzZXI6OiRvcHRpb25zWydjb21wcmVzcyddICl7CgkJCS8vIFplcm8gdmFsdWVzIGRvZXNuJ3QgbmVlZCBhIHVuaXQKCQkJaWYoICR2YWx1ZSA9PT0gMCAmJiAkdGhpcy0+dW5pdC0+aXNMZW5ndGgoKSApewoJCQkJJG91dHB1dC0+YWRkKCAkc3RyVmFsdWUgKTsKCQkJCXJldHVybiAkc3RyVmFsdWU7CgkJCX0KCgkJCS8vIEZsb2F0IHZhbHVlcyBkb2Vzbid0IG5lZWQgYSBsZWFkaW5nIHplcm8KCQkJaWYoICR2YWx1ZSA+IDAgJiYgJHZhbHVlIDwgMSAmJiAkc3RyVmFsdWVbMF0gPT09ICcwJyApewoJCQkJJHN0clZhbHVlID0gc3Vic3RyKCRzdHJWYWx1ZSwxKTsKCQkJfQoJCX0KCgkJJG91dHB1dC0+YWRkKCAkc3RyVmFsdWUgKTsKCQkkdGhpcy0+dW5pdC0+Z2VuQ1NTKCAkb3V0cHV0ICk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKXsKICAgICAgICByZXR1cm4gJHRoaXMtPnRvQ1NTKCk7CiAgICB9CgogICAgLy8gSW4gYW4gb3BlcmF0aW9uIGJldHdlZW4gdHdvIERpbWVuc2lvbnMsCiAgICAvLyB3ZSBkZWZhdWx0IHRvIHRoZSBmaXJzdCBEaW1lbnNpb24ncyB1bml0LAogICAgLy8gc28gYDFweCArIDJlbWAgd2lsbCB5aWVsZCBgM3B4YC4KCiAgICAvKioKICAgICAqIEBwYXJhbSBzdHJpbmcgJG9wCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBvcGVyYXRlKCAkb3AsICRvdGhlcil7CgoJCSR2YWx1ZSA9IExlc3NfRnVuY3Rpb25zOjpvcGVyYXRlKCAkb3AsICR0aGlzLT52YWx1ZSwgJG90aGVyLT52YWx1ZSk7CgkJJHVuaXQgPSBjbG9uZSAkdGhpcy0+dW5pdDsKCgkJaWYoICRvcCA9PT0gJysnIHx8ICRvcCA9PT0gJy0nICl7CgoJCQlpZiggISR1bml0LT5udW1lcmF0b3IgJiYgISR1bml0LT5kZW5vbWluYXRvciApewoJCQkJJHVuaXQtPm51bWVyYXRvciA9ICRvdGhlci0+dW5pdC0+bnVtZXJhdG9yOwoJCQkJJHVuaXQtPmRlbm9taW5hdG9yID0gJG90aGVyLT51bml0LT5kZW5vbWluYXRvcjsKCQkJfWVsc2VpZiggISRvdGhlci0+dW5pdC0+bnVtZXJhdG9yICYmICEkb3RoZXItPnVuaXQtPmRlbm9taW5hdG9yICl7CgkJCQkvLyBkbyBub3RoaW5nCgkJCX1lbHNlewoJCQkJJG90aGVyID0gJG90aGVyLT5jb252ZXJ0VG8oICR0aGlzLT51bml0LT51c2VkVW5pdHMoKSk7CgoJCQkJaWYoIExlc3NfUGFyc2VyOjokb3B0aW9uc1snc3RyaWN0VW5pdHMnXSAmJiAkb3RoZXItPnVuaXQtPnRvU3RyaW5nKCkgIT09ICR1bml0LT50b0NTUygpICl7CgkJCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCJJbmNvbXBhdGlibGUgdW5pdHMuIENoYW5nZSB0aGUgdW5pdHMgb3IgdXNlIHRoZSB1bml0IGZ1bmN0aW9uLiBCYWQgdW5pdHM6ICciLiR1bml0LT50b1N0cmluZygpIC4gIicgYW5kICIuJG90aGVyLT51bml0LT50b1N0cmluZygpKyInLiIpOwoJCQkJfQoKCQkJCSR2YWx1ZSA9IExlc3NfRnVuY3Rpb25zOjpvcGVyYXRlKCAkb3AsICR0aGlzLT52YWx1ZSwgJG90aGVyLT52YWx1ZSk7CgkJCX0KCQl9ZWxzZWlmKCAkb3AgPT09ICcqJyApewoJCQkkdW5pdC0+bnVtZXJhdG9yID0gYXJyYXlfbWVyZ2UoJHVuaXQtPm51bWVyYXRvciwgJG90aGVyLT51bml0LT5udW1lcmF0b3IpOwoJCQkkdW5pdC0+ZGVub21pbmF0b3IgPSBhcnJheV9tZXJnZSgkdW5pdC0+ZGVub21pbmF0b3IsICRvdGhlci0+dW5pdC0+ZGVub21pbmF0b3IpOwoJCQlzb3J0KCR1bml0LT5udW1lcmF0b3IpOwoJCQlzb3J0KCR1bml0LT5kZW5vbWluYXRvcik7CgkJCSR1bml0LT5jYW5jZWwoKTsKCQl9ZWxzZWlmKCAkb3AgPT09ICcvJyApewoJCQkkdW5pdC0+bnVtZXJhdG9yID0gYXJyYXlfbWVyZ2UoJHVuaXQtPm51bWVyYXRvciwgJG90aGVyLT51bml0LT5kZW5vbWluYXRvcik7CgkJCSR1bml0LT5kZW5vbWluYXRvciA9IGFycmF5X21lcmdlKCR1bml0LT5kZW5vbWluYXRvciwgJG90aGVyLT51bml0LT5udW1lcmF0b3IpOwoJCQlzb3J0KCR1bml0LT5udW1lcmF0b3IpOwoJCQlzb3J0KCR1bml0LT5kZW5vbWluYXRvcik7CgkJCSR1bml0LT5jYW5jZWwoKTsKCQl9CgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfRGltZW5zaW9uKCAkdmFsdWUsICR1bml0KTsKICAgIH0KCglwdWJsaWMgZnVuY3Rpb24gY29tcGFyZSgkb3RoZXIpIHsKCQlpZiAoJG90aGVyIGluc3RhbmNlb2YgTGVzc19UcmVlX0RpbWVuc2lvbikgewoKCQkJaWYoICR0aGlzLT51bml0LT5pc0VtcHR5KCkgfHwgJG90aGVyLT51bml0LT5pc0VtcHR5KCkgKXsKCQkJCSRhID0gJHRoaXM7CgkJCQkkYiA9ICRvdGhlcjsKCQkJfSBlbHNlIHsKCQkJCSRhID0gJHRoaXMtPnVuaWZ5KCk7CgkJCQkkYiA9ICRvdGhlci0+dW5pZnkoKTsKCQkJCWlmKCAkYS0+dW5pdC0+Y29tcGFyZSgkYi0+dW5pdCkgIT09IDAgKXsKCQkJCQlyZXR1cm4gLTE7CgkJCQl9CgkJCX0KCQkJJGFWYWx1ZSA9ICRhLT52YWx1ZTsKCQkJJGJWYWx1ZSA9ICRiLT52YWx1ZTsKCgkJCWlmICgkYlZhbHVlID4gJGFWYWx1ZSkgewoJCQkJcmV0dXJuIC0xOwoJCQl9IGVsc2VpZiAoJGJWYWx1ZSA8ICRhVmFsdWUpIHsKCQkJCXJldHVybiAxOwoJCQl9IGVsc2UgewoJCQkJcmV0dXJuIDA7CgkJCX0KCQl9IGVsc2UgewoJCQlyZXR1cm4gLTE7CgkJfQoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB1bmlmeSgpIHsKCQlyZXR1cm4gJHRoaXMtPmNvbnZlcnRUbyhhcnJheSgnbGVuZ3RoJz0+ICdweCcsICdkdXJhdGlvbic9PiAncycsICdhbmdsZScgPT4gJ3JhZCcgKSk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvbnZlcnRUbygkY29udmVyc2lvbnMpIHsKCQkkdmFsdWUgPSAkdGhpcy0+dmFsdWU7CgkJJHVuaXQgPSBjbG9uZSAkdGhpcy0+dW5pdDsKCgkJaWYoIGlzX3N0cmluZygkY29udmVyc2lvbnMpICl7CgkJCSRkZXJpdmVkQ29udmVyc2lvbnMgPSBhcnJheSgpOwoJCQlmb3JlYWNoKCBMZXNzX1RyZWVfVW5pdENvbnZlcnNpb25zOjokZ3JvdXBzIGFzICRpICl7CgkJCQlpZiggaXNzZXQoTGVzc19UcmVlX1VuaXRDb252ZXJzaW9uczo6JHskaX1bJGNvbnZlcnNpb25zXSkgKXsKCQkJCQkkZGVyaXZlZENvbnZlcnNpb25zID0gYXJyYXkoICRpID0+ICRjb252ZXJzaW9ucyk7CgkJCQl9CgkJCX0KCQkJJGNvbnZlcnNpb25zID0gJGRlcml2ZWRDb252ZXJzaW9uczsKCQl9CgoKCQlmb3JlYWNoKCRjb252ZXJzaW9ucyBhcyAkZ3JvdXBOYW1lID0+ICR0YXJnZXRVbml0KXsKCQkJJGdyb3VwID0gTGVzc19UcmVlX1VuaXRDb252ZXJzaW9uczo6JHskZ3JvdXBOYW1lfTsKCgkJCS8vbnVtZXJhdG9yCgkJCWZvcmVhY2goJHVuaXQtPm51bWVyYXRvciBhcyAkaSA9PiAkYXRvbWljVW5pdCl7CgkJCQkkYXRvbWljVW5pdCA9ICR1bml0LT5udW1lcmF0b3JbJGldOwoJCQkJaWYoICFpc3NldCgkZ3JvdXBbJGF0b21pY1VuaXRdKSApewoJCQkJCWNvbnRpbnVlOwoJCQkJfQoKCQkJCSR2YWx1ZSA9ICR2YWx1ZSAqICgkZ3JvdXBbJGF0b21pY1VuaXRdIC8gJGdyb3VwWyR0YXJnZXRVbml0XSk7CgoJCQkJJHVuaXQtPm51bWVyYXRvclskaV0gPSAkdGFyZ2V0VW5pdDsKCQkJfQoKCQkJLy9kZW5vbWluYXRvcgoJCQlmb3JlYWNoKCR1bml0LT5kZW5vbWluYXRvciBhcyAkaSA9PiAkYXRvbWljVW5pdCl7CgkJCQkkYXRvbWljVW5pdCA9ICR1bml0LT5kZW5vbWluYXRvclskaV07CgkJCQlpZiggIWlzc2V0KCRncm91cFskYXRvbWljVW5pdF0pICl7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJJHZhbHVlID0gJHZhbHVlIC8gKCRncm91cFskYXRvbWljVW5pdF0gLyAkZ3JvdXBbJHRhcmdldFVuaXRdKTsKCgkJCQkkdW5pdC0+ZGVub21pbmF0b3JbJGldID0gJHRhcmdldFVuaXQ7CgkJCX0KCQl9CgoJCSR1bml0LT5jYW5jZWwoKTsKCgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfRGltZW5zaW9uKCAkdmFsdWUsICR1bml0KTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Directive.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBEaXJlY3RpdmUKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfRGlyZWN0aXZlIGV4dGVuZHMgTGVzc19UcmVlewoKCXB1YmxpYyAkbmFtZTsKCXB1YmxpYyAkdmFsdWU7CglwdWJsaWMgJHJ1bGVzOwoJcHVibGljICRpbmRleDsKCXB1YmxpYyAkaXNSZWZlcmVuY2VkOwoJcHVibGljICRjdXJyZW50RmlsZUluZm87CglwdWJsaWMgJGRlYnVnSW5mbzsKCXB1YmxpYyAkdHlwZSA9ICdEaXJlY3RpdmUnOwoKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbmFtZSwgJHZhbHVlID0gbnVsbCwgJHJ1bGVzLCAkaW5kZXggPSBudWxsLCAkY3VycmVudEZpbGVJbmZvID0gbnVsbCwgJGRlYnVnSW5mbyA9IG51bGwgKXsKCQkkdGhpcy0+bmFtZSA9ICRuYW1lOwoJCSR0aGlzLT52YWx1ZSA9ICR2YWx1ZTsKCQlpZiggJHJ1bGVzICl7CgkJCSR0aGlzLT5ydWxlcyA9ICRydWxlczsKCQkJJHRoaXMtPnJ1bGVzLT5hbGxvd0ltcG9ydHMgPSB0cnVlOwoJCX0KCgkJJHRoaXMtPmluZGV4ID0gJGluZGV4OwoJCSR0aGlzLT5jdXJyZW50RmlsZUluZm8gPSAkY3VycmVudEZpbGVJbmZvOwoJCSR0aGlzLT5kZWJ1Z0luZm8gPSAkZGVidWdJbmZvOwoJfQoKCiAgICBwdWJsaWMgZnVuY3Rpb24gYWNjZXB0KCAkdmlzaXRvciApewoJCWlmKCAkdGhpcy0+cnVsZXMgKXsKCQkJJHRoaXMtPnJ1bGVzID0gJHZpc2l0b3ItPnZpc2l0T2JqKCAkdGhpcy0+cnVsZXMgKTsKCQl9CgkJaWYoICR0aGlzLT52YWx1ZSApewoJCQkkdGhpcy0+dmFsdWUgPSAkdmlzaXRvci0+dmlzaXRPYmooICR0aGlzLT52YWx1ZSApOwoJCX0KCX0KCgogICAgLyoqCiAgICAgKiBAc2VlIExlc3NfVHJlZTo6Z2VuQ1NTCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5DU1MoICRvdXRwdXQgKXsKCQkkdmFsdWUgPSAkdGhpcy0+dmFsdWU7CgkJJHJ1bGVzID0gJHRoaXMtPnJ1bGVzOwoJCSRvdXRwdXQtPmFkZCggJHRoaXMtPm5hbWUsICR0aGlzLT5jdXJyZW50RmlsZUluZm8sICR0aGlzLT5pbmRleCApOwoJCWlmKCAkdGhpcy0+dmFsdWUgKXsKCQkJJG91dHB1dC0+YWRkKCcgJyk7CgkJCSR0aGlzLT52YWx1ZS0+Z2VuQ1NTKCRvdXRwdXQpOwoJCX0KCQlpZiggJHRoaXMtPnJ1bGVzICl7CgkJCUxlc3NfVHJlZTo6b3V0cHV0UnVsZXNldCggJG91dHB1dCwgYXJyYXkoJHRoaXMtPnJ1bGVzKSk7CgkJfSBlbHNlIHsKCQkJJG91dHB1dC0+YWRkKCc7Jyk7CgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCRlbnYpewoKCQkkdmFsdWUgPSAkdGhpcy0+dmFsdWU7CgkJJHJ1bGVzID0gJHRoaXMtPnJ1bGVzOwoJCWlmKCAkdmFsdWUgKXsKCQkJJHZhbHVlID0gJHZhbHVlLT5jb21waWxlKCRlbnYpOwoJCX0KCgkJaWYoICRydWxlcyApewoJCQkkcnVsZXMgPSAkcnVsZXMtPmNvbXBpbGUoJGVudik7CgkJCSRydWxlcy0+cm9vdCA9IHRydWU7CgkJfQoKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9EaXJlY3RpdmUoICR0aGlzLT5uYW1lLCAkdmFsdWUsICRydWxlcywgJHRoaXMtPmluZGV4LCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvLCAkdGhpcy0+ZGVidWdJbmZvICk7Cgl9CgoKCXB1YmxpYyBmdW5jdGlvbiB2YXJpYWJsZSgkbmFtZSl7CgkJaWYoICR0aGlzLT5ydWxlcyApewoJCQlyZXR1cm4gJHRoaXMtPnJ1bGVzLT52YXJpYWJsZSgkbmFtZSk7CgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBmaW5kKCRzZWxlY3Rvcil7CgkJaWYoICR0aGlzLT5ydWxlcyApewoJCQlyZXR1cm4gJHRoaXMtPnJ1bGVzLT5maW5kKCRzZWxlY3RvciwgJHRoaXMpOwoJCX0KCX0KCgkvL3J1bGVzZXRzOiBmdW5jdGlvbiAoKSB7IGlmICh0aGlzLnJ1bGVzKSByZXR1cm4gdHJlZS5SdWxlc2V0LnByb3RvdHlwZS5ydWxlc2V0cy5hcHBseSh0aGlzLnJ1bGVzKTsgfSwKCglwdWJsaWMgZnVuY3Rpb24gbWFya1JlZmVyZW5jZWQoKXsKCQkkdGhpcy0+aXNSZWZlcmVuY2VkID0gdHJ1ZTsKCQlpZiggJHRoaXMtPnJ1bGVzICl7CgkJCUxlc3NfVHJlZTo6UmVmZXJlbmNlZEFycmF5KCR0aGlzLT5ydWxlcy0+cnVsZXMpOwoJCX0KCX0KCn0K]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Element.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBFbGVtZW50CiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdHJlZQogKi8KY2xhc3MgTGVzc19UcmVlX0VsZW1lbnQgZXh0ZW5kcyBMZXNzX1RyZWV7CgoJcHVibGljICRjb21iaW5hdG9yID0gJyc7CglwdWJsaWMgJHZhbHVlID0gJyc7CglwdWJsaWMgJGluZGV4OwoJcHVibGljICRjdXJyZW50RmlsZUluZm87CglwdWJsaWMgJHR5cGUgPSAnRWxlbWVudCc7CgoJcHVibGljICR2YWx1ZV9pc19vYmplY3QgPSBmYWxzZTsKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNvbWJpbmF0b3IsICR2YWx1ZSwgJGluZGV4ID0gbnVsbCwgJGN1cnJlbnRGaWxlSW5mbyA9IG51bGwgKXsKCgkJJHRoaXMtPnZhbHVlID0gJHZhbHVlOwoJCSR0aGlzLT52YWx1ZV9pc19vYmplY3QgPSBpc19vYmplY3QoJHZhbHVlKTsKCgkJaWYoICRjb21iaW5hdG9yICl7CgkJCSR0aGlzLT5jb21iaW5hdG9yID0gJGNvbWJpbmF0b3I7CgkJfQoKCQkkdGhpcy0+aW5kZXggPSAkaW5kZXg7CgkJJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyA9ICRjdXJyZW50RmlsZUluZm87Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjY2VwdCggJHZpc2l0b3IgKXsKCQlpZiggJHRoaXMtPnZhbHVlX2lzX29iamVjdCApeyAvL29iamVjdCBvciBzdHJpbmcKCQkJJHRoaXMtPnZhbHVlID0gJHZpc2l0b3ItPnZpc2l0T2JqKCAkdGhpcy0+dmFsdWUgKTsKCQl9Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGNvbXBpbGUoJGVudil7CgoJCWlmKCBMZXNzX0Vudmlyb25tZW50OjokbWl4aW5fc3RhY2sgKXsKCQkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfRWxlbWVudCgkdGhpcy0+Y29tYmluYXRvciwgKCR0aGlzLT52YWx1ZV9pc19vYmplY3QgPyAkdGhpcy0+dmFsdWUtPmNvbXBpbGUoJGVudikgOiAkdGhpcy0+dmFsdWUpLCAkdGhpcy0+aW5kZXgsICR0aGlzLT5jdXJyZW50RmlsZUluZm8gKTsKCQl9CgoJCWlmKCAkdGhpcy0+dmFsdWVfaXNfb2JqZWN0ICl7CgkJCSR0aGlzLT52YWx1ZSA9ICR0aGlzLT52YWx1ZS0+Y29tcGlsZSgkZW52KTsKCQl9CgoJCXJldHVybiAkdGhpczsKCX0KCiAgICAvKioKICAgICAqIEBzZWUgTGVzc19UcmVlOjpnZW5DU1MKICAgICAqLwoJcHVibGljIGZ1bmN0aW9uIGdlbkNTUyggJG91dHB1dCApewoJCSRvdXRwdXQtPmFkZCggJHRoaXMtPnRvQ1NTKCksICR0aGlzLT5jdXJyZW50RmlsZUluZm8sICR0aGlzLT5pbmRleCApOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiB0b0NTUygpewoKCQlpZiggJHRoaXMtPnZhbHVlX2lzX29iamVjdCApewoJCQkkdmFsdWUgPSAkdGhpcy0+dmFsdWUtPnRvQ1NTKCk7CgkJfWVsc2V7CgkJCSR2YWx1ZSA9ICR0aGlzLT52YWx1ZTsKCQl9CgoKCQlpZiggJHZhbHVlID09PSAnJyAmJiAkdGhpcy0+Y29tYmluYXRvciAmJiAkdGhpcy0+Y29tYmluYXRvciA9PT0gJyYnICl7CgkJCXJldHVybiAnJzsKCQl9CgoKCQlyZXR1cm4gTGVzc19FbnZpcm9ubWVudDo6JF9vdXRwdXRNYXBbJHRoaXMtPmNvbWJpbmF0b3JdIC4gJHZhbHVlOwoJfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Expression.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBFeHByZXNzaW9uCiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdHJlZQogKi8KY2xhc3MgTGVzc19UcmVlX0V4cHJlc3Npb24gZXh0ZW5kcyBMZXNzX1RyZWV7CgoJcHVibGljICR2YWx1ZSA9IGFycmF5KCk7CglwdWJsaWMgJHBhcmVucyA9IGZhbHNlOwoJcHVibGljICRwYXJlbnNJbk9wID0gZmFsc2U7CglwdWJsaWMgJHR5cGUgPSAnRXhwcmVzc2lvbic7CgoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAkdmFsdWUsICRwYXJlbnMgPSBudWxsICl7CgkJJHRoaXMtPnZhbHVlID0gJHZhbHVlOwoJCSR0aGlzLT5wYXJlbnMgPSAkcGFyZW5zOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY2NlcHQoICR2aXNpdG9yICl7CgkJJHRoaXMtPnZhbHVlID0gJHZpc2l0b3ItPnZpc2l0QXJyYXkoICR0aGlzLT52YWx1ZSApOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCRlbnYpIHsKCgkJJGRvdWJsZVBhcmVuID0gZmFsc2U7CgoJCWlmKCAkdGhpcy0+cGFyZW5zICYmICEkdGhpcy0+cGFyZW5zSW5PcCApewoJCQlMZXNzX0Vudmlyb25tZW50OjokcGFyZW5zU3RhY2srKzsKCQl9CgoJCSRyZXR1cm5WYWx1ZSA9IG51bGw7CgkJaWYoICR0aGlzLT52YWx1ZSApewoKCQkJJGNvdW50ID0gY291bnQoJHRoaXMtPnZhbHVlKTsKCgkJCWlmKCAkY291bnQgPiAxICl7CgoJCQkJJHJldCA9IGFycmF5KCk7CgkJCQlmb3JlYWNoKCR0aGlzLT52YWx1ZSBhcyAkZSl7CgkJCQkJJHJldFtdID0gJGUtPmNvbXBpbGUoJGVudik7CgkJCQl9CgkJCQkkcmV0dXJuVmFsdWUgPSBuZXcgTGVzc19UcmVlX0V4cHJlc3Npb24oJHJldCk7CgoJCQl9ZWxzZXsKCgkJCQlpZiggKCR0aGlzLT52YWx1ZVswXSBpbnN0YW5jZW9mIExlc3NfVHJlZV9FeHByZXNzaW9uKSAmJiAkdGhpcy0+dmFsdWVbMF0tPnBhcmVucyAmJiAhJHRoaXMtPnZhbHVlWzBdLT5wYXJlbnNJbk9wICl7CgkJCQkJJGRvdWJsZVBhcmVuID0gdHJ1ZTsKCQkJCX0KCgkJCQkkcmV0dXJuVmFsdWUgPSAkdGhpcy0+dmFsdWVbMF0tPmNvbXBpbGUoJGVudik7CgkJCX0KCgkJfSBlbHNlIHsKCQkJJHJldHVyblZhbHVlID0gJHRoaXM7CgkJfQoKCQlpZiggJHRoaXMtPnBhcmVucyApewoJCQlpZiggISR0aGlzLT5wYXJlbnNJbk9wICl7CgkJCQlMZXNzX0Vudmlyb25tZW50OjokcGFyZW5zU3RhY2stLTsKCgkJCX1lbHNlaWYoICFMZXNzX0Vudmlyb25tZW50Ojppc01hdGhPbigpICYmICEkZG91YmxlUGFyZW4gKXsKCQkJCSRyZXR1cm5WYWx1ZSA9IG5ldyBMZXNzX1RyZWVfUGFyZW4oJHJldHVyblZhbHVlKTsKCgkJCX0KCQl9CgkJcmV0dXJuICRyZXR1cm5WYWx1ZTsKCX0KCiAgICAvKioKICAgICAqIEBzZWUgTGVzc19UcmVlOjpnZW5DU1MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdlbkNTUyggJG91dHB1dCApewoJCSR2YWxfbGVuID0gY291bnQoJHRoaXMtPnZhbHVlKTsKCQlmb3IoICRpID0gMDsgJGkgPCAkdmFsX2xlbjsgJGkrKyApewoJCQkkdGhpcy0+dmFsdWVbJGldLT5nZW5DU1MoICRvdXRwdXQgKTsKCQkJaWYoICRpICsgMSA8ICR2YWxfbGVuICl7CgkJCQkkb3V0cHV0LT5hZGQoICcgJyApOwoJCQl9CgkJfQoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0aHJvd0F3YXlDb21tZW50cygpIHsKCgkJaWYoIGlzX2FycmF5KCR0aGlzLT52YWx1ZSkgKXsKCQkJJG5ld192YWx1ZSA9IGFycmF5KCk7CgkJCWZvcmVhY2goJHRoaXMtPnZhbHVlIGFzICR2KXsKCQkJCWlmKCAkdiBpbnN0YW5jZW9mIExlc3NfVHJlZV9Db21tZW50ICl7CgkJCQkJY29udGludWU7CgkJCQl9CgkJCQkkbmV3X3ZhbHVlW10gPSAkdjsKCQkJfQoJCQkkdGhpcy0+dmFsdWUgPSAkbmV3X3ZhbHVlOwoJCX0KCX0KfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Extend.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBFeHRlbmQKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfRXh0ZW5kIGV4dGVuZHMgTGVzc19UcmVlewoKCXB1YmxpYyAkc2VsZWN0b3I7CglwdWJsaWMgJG9wdGlvbjsKCXB1YmxpYyAkaW5kZXg7CglwdWJsaWMgJHNlbGZTZWxlY3RvcnMgPSBhcnJheSgpOwoJcHVibGljICRhbGxvd0JlZm9yZTsKCXB1YmxpYyAkYWxsb3dBZnRlcjsKCXB1YmxpYyAkZmlyc3RFeHRlbmRPblRoaXNTZWxlY3RvclBhdGg7CglwdWJsaWMgJHR5cGUgPSAnRXh0ZW5kJzsKCXB1YmxpYyAkcnVsZXNldDsKCgoJcHVibGljICRvYmplY3RfaWQ7CglwdWJsaWMgJHBhcmVudF9pZHMgPSBhcnJheSgpOwoKCS8qKgoJICogQHBhcmFtIGludGVnZXIgJGluZGV4CgkgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkc2VsZWN0b3IsICRvcHRpb24sICRpbmRleCl7CgkJc3RhdGljICRpID0gMDsKCQkkdGhpcy0+c2VsZWN0b3IgPSAkc2VsZWN0b3I7CgkJJHRoaXMtPm9wdGlvbiA9ICRvcHRpb247CgkJJHRoaXMtPmluZGV4ID0gJGluZGV4OwoKCQlzd2l0Y2goJG9wdGlvbil7CgkJCWNhc2UgImFsbCI6CgkJCQkkdGhpcy0+YWxsb3dCZWZvcmUgPSB0cnVlOwoJCQkJJHRoaXMtPmFsbG93QWZ0ZXIgPSB0cnVlOwoJCQlicmVhazsKCQkJZGVmYXVsdDoKCQkJCSR0aGlzLT5hbGxvd0JlZm9yZSA9IGZhbHNlOwoJCQkJJHRoaXMtPmFsbG93QWZ0ZXIgPSBmYWxzZTsKCQkJYnJlYWs7CgkJfQoKCQkkdGhpcy0+b2JqZWN0X2lkID0gJGkrKzsKCQkkdGhpcy0+cGFyZW50X2lkcyA9IGFycmF5KCR0aGlzLT5vYmplY3RfaWQpOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY2NlcHQoICR2aXNpdG9yICl7CgkJJHRoaXMtPnNlbGVjdG9yID0gJHZpc2l0b3ItPnZpc2l0T2JqKCAkdGhpcy0+c2VsZWN0b3IgKTsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29tcGlsZSggJGVudiApewoJCUxlc3NfUGFyc2VyOjokaGFzX2V4dGVuZHMgPSB0cnVlOwoJCSR0aGlzLT5zZWxlY3RvciA9ICR0aGlzLT5zZWxlY3Rvci0+Y29tcGlsZSgkZW52KTsKCQlyZXR1cm4gJHRoaXM7CgkJLy9yZXR1cm4gbmV3IExlc3NfVHJlZV9FeHRlbmQoICR0aGlzLT5zZWxlY3Rvci0+Y29tcGlsZSgkZW52KSwgJHRoaXMtPm9wdGlvbiwgJHRoaXMtPmluZGV4KTsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZmluZFNlbGZTZWxlY3RvcnMoICRzZWxlY3RvcnMgKXsKCQkkc2VsZkVsZW1lbnRzID0gYXJyYXkoKTsKCgoJCWZvciggJGkgPSAwLCAkc2VsZWN0b3JzX2xlbiA9IGNvdW50KCRzZWxlY3RvcnMpOyAkaSA8ICRzZWxlY3RvcnNfbGVuOyAkaSsrICl7CgkJCSRzZWxlY3RvckVsZW1lbnRzID0gJHNlbGVjdG9yc1skaV0tPmVsZW1lbnRzOwoJCQkvLyBkdXBsaWNhdGUgdGhlIGxvZ2ljIGluIGdlbkNTUyBmdW5jdGlvbiBpbnNpZGUgdGhlIHNlbGVjdG9yIG5vZGUuCgkJCS8vIGZ1dHVyZSBUT0RPIC0gbW92ZSBib3RoIGxvZ2ljcyBpbnRvIHRoZSBzZWxlY3RvciBqb2luZXIgdmlzaXRvcgoJCQlpZiggJGkgJiYgJHNlbGVjdG9yRWxlbWVudHMgJiYgJHNlbGVjdG9yRWxlbWVudHNbMF0tPmNvbWJpbmF0b3IgPT09ICIiKSB7CgkJCQkkc2VsZWN0b3JFbGVtZW50c1swXS0+Y29tYmluYXRvciA9ICcgJzsKCQkJfQoJCQkkc2VsZkVsZW1lbnRzID0gYXJyYXlfbWVyZ2UoICRzZWxmRWxlbWVudHMsICRzZWxlY3RvcnNbJGldLT5lbGVtZW50cyApOwoJCX0KCgkJJHRoaXMtPnNlbGZTZWxlY3RvcnMgPSBhcnJheShuZXcgTGVzc19UcmVlX1NlbGVjdG9yKCRzZWxmRWxlbWVudHMpKTsKCX0KCn0=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Import.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBDU1MgQGltcG9ydCBub2RlCiAqCiAqIFRoZSBnZW5lcmFsIHN0cmF0ZWd5IGhlcmUgaXMgdGhhdCB3ZSBkb24ndCB3YW50IHRvIHdhaXQKICogZm9yIHRoZSBwYXJzaW5nIHRvIGJlIGNvbXBsZXRlZCwgYmVmb3JlIHdlIHN0YXJ0IGltcG9ydGluZwogKiB0aGUgZmlsZS4gVGhhdCdzIGJlY2F1c2UgaW4gdGhlIGNvbnRleHQgb2YgYSBicm93c2VyLAogKiBtb3N0IG9mIHRoZSB0aW1lIHdpbGwgYmUgc3BlbnQgd2FpdGluZyBmb3IgdGhlIHNlcnZlciB0byByZXNwb25kLgogKgogKiBPbiBjcmVhdGlvbiwgd2UgcHVzaCB0aGUgaW1wb3J0IHBhdGggdG8gb3VyIGltcG9ydCBxdWV1ZSwgdGhvdWdoCiAqIGBpbXBvcnQscHVzaGAsIHdlIGFsc28gcGFzcyBpdCBhIGNhbGxiYWNrLCB3aGljaCBpdCdsbCBjYWxsIG9uY2UKICogdGhlIGZpbGUgaGFzIGJlZW4gZmV0Y2hlZCwgYW5kIHBhcnNlZC4KICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfSW1wb3J0IGV4dGVuZHMgTGVzc19UcmVlewoKCXB1YmxpYyAkb3B0aW9uczsKCXB1YmxpYyAkaW5kZXg7CglwdWJsaWMgJHBhdGg7CglwdWJsaWMgJGZlYXR1cmVzOwoJcHVibGljICRjdXJyZW50RmlsZUluZm87CglwdWJsaWMgJGNzczsKCXB1YmxpYyAkc2tpcDsKCXB1YmxpYyAkcm9vdDsKCXB1YmxpYyAkdHlwZSA9ICdJbXBvcnQnOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkcGF0aCwgJGZlYXR1cmVzLCAkb3B0aW9ucywgJGluZGV4LCAkY3VycmVudEZpbGVJbmZvID0gbnVsbCApewoJCSR0aGlzLT5vcHRpb25zID0gJG9wdGlvbnM7CgkJJHRoaXMtPmluZGV4ID0gJGluZGV4OwoJCSR0aGlzLT5wYXRoID0gJHBhdGg7CgkJJHRoaXMtPmZlYXR1cmVzID0gJGZlYXR1cmVzOwoJCSR0aGlzLT5jdXJyZW50RmlsZUluZm8gPSAkY3VycmVudEZpbGVJbmZvOwoKCQlpZiggaXNfYXJyYXkoJG9wdGlvbnMpICl7CgkJCSR0aGlzLT5vcHRpb25zICs9IGFycmF5KCdpbmxpbmUnPT5mYWxzZSk7CgoJCQlpZiggaXNzZXQoJHRoaXMtPm9wdGlvbnNbJ2xlc3MnXSkgfHwgJHRoaXMtPm9wdGlvbnNbJ2lubGluZSddICl7CgkJCQkkdGhpcy0+Y3NzID0gIWlzc2V0KCR0aGlzLT5vcHRpb25zWydsZXNzJ10pIHx8ICEkdGhpcy0+b3B0aW9uc1snbGVzcyddIHx8ICR0aGlzLT5vcHRpb25zWydpbmxpbmUnXTsKCQkJfSBlbHNlIHsKCQkJCSRwYXRoVmFsdWUgPSAkdGhpcy0+Z2V0UGF0aCgpOwoJCQkJaWYoICRwYXRoVmFsdWUgJiYgcHJlZ19tYXRjaCgnL2NzcyhbXD87XS4qKT8kLycsJHBhdGhWYWx1ZSkgKXsKCQkJCQkkdGhpcy0+Y3NzID0gdHJ1ZTsKCQkJCX0KCQkJfQoJCX0KCX0KCi8vCi8vIFRoZSBhY3R1YWwgaW1wb3J0IG5vZGUgZG9lc24ndCByZXR1cm4gYW55dGhpbmcsIHdoZW4gY29udmVydGVkIHRvIENTUy4KLy8gVGhlIHJlYXNvbiBpcyB0aGF0IGl0J3MgdXNlZCBhdCB0aGUgZXZhbHVhdGlvbiBzdGFnZSwgc28gdGhhdCB0aGUgcnVsZXMKLy8gaXQgaW1wb3J0cyBjYW4gYmUgdHJlYXRlZCBsaWtlIGFueSBvdGhlciBydWxlcy4KLy8KLy8gSW4gYGV2YWxgLCB3ZSBtYWtlIHN1cmUgYWxsIEltcG9ydCBub2RlcyBnZXQgZXZhbHVhdGVkLCByZWN1cnNpdmVseSwgc28KLy8gd2UgZW5kIHVwIHdpdGggYSBmbGF0IHN0cnVjdHVyZSwgd2hpY2ggY2FuIGVhc2lseSBiZSBpbXBvcnRlZCBpbiB0aGUgcGFyZW50Ci8vIHJ1bGVzZXQuCi8vCgogICAgcHVibGljIGZ1bmN0aW9uIGFjY2VwdCgkdmlzaXRvcil7CgoJCWlmKCAkdGhpcy0+ZmVhdHVyZXMgKXsKCQkJJHRoaXMtPmZlYXR1cmVzID0gJHZpc2l0b3ItPnZpc2l0T2JqKCR0aGlzLT5mZWF0dXJlcyk7CgkJfQoJCSR0aGlzLT5wYXRoID0gJHZpc2l0b3ItPnZpc2l0T2JqKCR0aGlzLT5wYXRoKTsKCgkJaWYoICEkdGhpcy0+b3B0aW9uc1snaW5saW5lJ10gJiYgJHRoaXMtPnJvb3QgKXsKCQkJJHRoaXMtPnJvb3QgPSAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPnJvb3QpOwoJCX0KCX0KCiAgICAvKioKICAgICAqIEBzZWUgTGVzc19UcmVlOjpnZW5DU1MKICAgICAqLwogICAgcHVibGljIGZ1bmN0aW9uIGdlbkNTUyggJG91dHB1dCApewoJCWlmKCAkdGhpcy0+Y3NzICl7CgoJCQkkb3V0cHV0LT5hZGQoICdAaW1wb3J0ICcsICR0aGlzLT5jdXJyZW50RmlsZUluZm8sICR0aGlzLT5pbmRleCApOwoKCQkJJHRoaXMtPnBhdGgtPmdlbkNTUyggJG91dHB1dCApOwoJCQlpZiggJHRoaXMtPmZlYXR1cmVzICl7CgkJCQkkb3V0cHV0LT5hZGQoICcgJyApOwoJCQkJJHRoaXMtPmZlYXR1cmVzLT5nZW5DU1MoICRvdXRwdXQgKTsKCQkJfQoJCQkkb3V0cHV0LT5hZGQoICc7JyApOwoJCX0KCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9DU1MoKXsKCQkkZmVhdHVyZXMgPSAkdGhpcy0+ZmVhdHVyZXMgPyAnICcgLiAkdGhpcy0+ZmVhdHVyZXMtPnRvQ1NTKCkgOiAnJzsKCgkJaWYgKCR0aGlzLT5jc3MpIHsKCQkJcmV0dXJuICJAaW1wb3J0ICIgLiAkdGhpcy0+cGF0aC0+dG9DU1MoKSAuICRmZWF0dXJlcyAuICI7XG4iOwoJCX0gZWxzZSB7CgkJCXJldHVybiAiIjsKCQl9Cgl9CgoJLyoqCgkgKiBAcmV0dXJuIHN0cmluZwoJICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0UGF0aCgpewoJCWlmICgkdGhpcy0+cGF0aCBpbnN0YW5jZW9mIExlc3NfVHJlZV9RdW90ZWQpIHsKCQkJJHBhdGggPSAkdGhpcy0+cGF0aC0+dmFsdWU7CgkJCSRwYXRoID0gKCBpc3NldCgkdGhpcy0+Y3NzKSB8fCBwcmVnX21hdGNoKCcvKFwuW2Etel0qJCl8KFtcPztdLiopJC8nLCRwYXRoKSkgPyAkcGF0aCA6ICRwYXRoIC4gJy5sZXNzJzsKCQl9IGVsc2UgaWYgKCR0aGlzLT5wYXRoIGluc3RhbmNlb2YgTGVzc19UcmVlX1VSTCkgewoJCQkkcGF0aCA9ICR0aGlzLT5wYXRoLT52YWx1ZS0+dmFsdWU7CgkJfWVsc2V7CgkJCXJldHVybiBudWxsOwoJCX0KCgkJLy9yZW1vdmUgcXVlcnkgc3RyaW5nIGFuZCBmcmFnbWVudAoJCXJldHVybiBwcmVnX3JlcGxhY2UoJy9bXD8jXVteXD9dKiQvJywnJywkcGF0aCk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvbXBpbGVGb3JJbXBvcnQoICRlbnYgKXsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9JbXBvcnQoICR0aGlzLT5wYXRoLT5jb21waWxlKCRlbnYpLCAkdGhpcy0+ZmVhdHVyZXMsICR0aGlzLT5vcHRpb25zLCAkdGhpcy0+aW5kZXgsICR0aGlzLT5jdXJyZW50RmlsZUluZm8pOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb21waWxlUGF0aCgkZW52KSB7CgkJJHBhdGggPSAkdGhpcy0+cGF0aC0+Y29tcGlsZSgkZW52KTsKCQkkcm9vdHBhdGggPSAnJzsKCQlpZiggJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyAmJiAkdGhpcy0+Y3VycmVudEZpbGVJbmZvWydyb290cGF0aCddICl7CgkJCSRyb290cGF0aCA9ICR0aGlzLT5jdXJyZW50RmlsZUluZm9bJ3Jvb3RwYXRoJ107CgkJfQoKCgkJaWYoICEoJHBhdGggaW5zdGFuY2VvZiBMZXNzX1RyZWVfVVJMKSApewoJCQlpZiggJHJvb3RwYXRoICl7CgkJCQkkcGF0aFZhbHVlID0gJHBhdGgtPnZhbHVlOwoJCQkJLy8gQWRkIHRoZSBiYXNlIHBhdGggaWYgdGhlIGltcG9ydCBpcyByZWxhdGl2ZQoJCQkJaWYoICRwYXRoVmFsdWUgJiYgTGVzc19FbnZpcm9ubWVudDo6aXNQYXRoUmVsYXRpdmUoJHBhdGhWYWx1ZSkgKXsKCQkJCQkkcGF0aC0+dmFsdWUgPSAkdGhpcy0+Y3VycmVudEZpbGVJbmZvWyd1cmlfcm9vdCddLiRwYXRoVmFsdWU7CgkJCQl9CgkJCX0KCQkJJHBhdGgtPnZhbHVlID0gTGVzc19FbnZpcm9ubWVudDo6bm9ybWFsaXplUGF0aCgkcGF0aC0+dmFsdWUpOwoJCX0KCgoKCQlyZXR1cm4gJHBhdGg7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGNvbXBpbGUoICRlbnYgKXsKCgkJJGV2YWxkID0gJHRoaXMtPmNvbXBpbGVGb3JJbXBvcnQoJGVudik7CgoJCS8vZ2V0IHBhdGggJiB1cmkKCQkkcGF0aF9hbmRfdXJpID0gbnVsbDsKCQlpZiggaXNfY2FsbGFibGUoTGVzc19QYXJzZXI6OiRvcHRpb25zWydpbXBvcnRfY2FsbGJhY2snXSkgKXsKCQkJJHBhdGhfYW5kX3VyaSA9IGNhbGxfdXNlcl9mdW5jKExlc3NfUGFyc2VyOjokb3B0aW9uc1snaW1wb3J0X2NhbGxiYWNrJ10sJGV2YWxkKTsKCQl9CgoJCWlmKCAhJHBhdGhfYW5kX3VyaSApewoJCQkkcGF0aF9hbmRfdXJpID0gJGV2YWxkLT5QYXRoQW5kVXJpKCk7CgkJfQoKCQlpZiggJHBhdGhfYW5kX3VyaSApewoJCQlsaXN0KCRmdWxsX3BhdGgsICR1cmkpID0gJHBhdGhfYW5kX3VyaTsKCQl9ZWxzZXsKCQkJJGZ1bGxfcGF0aCA9ICR1cmkgPSAkZXZhbGQtPmdldFBhdGgoKTsKCQl9CgoKCQkvL2ltcG9ydCBvbmNlCgkJaWYoICRldmFsZC0+c2tpcCggJGZ1bGxfcGF0aCwgJGVudikgKXsKCQkJcmV0dXJuIGFycmF5KCk7CgkJfQoKCQlpZiggJHRoaXMtPm9wdGlvbnNbJ2lubGluZSddICl7CgkJCS8vdG9kbyBuZWVkcyB0byByZWZlcmVuY2UgY3NzIGZpbGUgbm90IGltcG9ydAoJCQkvLyRjb250ZW50cyA9IG5ldyBMZXNzX1RyZWVfQW5vbnltb3VzKCR0aGlzLT5yb290LCAwLCBhcnJheSgnZmlsZW5hbWUnPT4kdGhpcy0+aW1wb3J0ZWRGaWxlbmFtZSksIHRydWUgKTsKCgkJCUxlc3NfUGFyc2VyOjpBZGRQYXJzZWRGaWxlKCRmdWxsX3BhdGgpOwoJCQkkY29udGVudHMgPSBuZXcgTGVzc19UcmVlX0Fub255bW91cyggZmlsZV9nZXRfY29udGVudHMoJGZ1bGxfcGF0aCksIDAsIGFycmF5KCksIHRydWUgKTsKCgkJCWlmKCAkdGhpcy0+ZmVhdHVyZXMgKXsKCQkJCXJldHVybiBuZXcgTGVzc19UcmVlX01lZGlhKCBhcnJheSgkY29udGVudHMpLCAkdGhpcy0+ZmVhdHVyZXMtPnZhbHVlICk7CgkJCX0KCgkJCXJldHVybiBhcnJheSggJGNvbnRlbnRzICk7CgkJfQoKCgkJLy8gY3NzID8KCQlpZiggJGV2YWxkLT5jc3MgKXsKCQkJJGZlYXR1cmVzID0gKCAkZXZhbGQtPmZlYXR1cmVzID8gJGV2YWxkLT5mZWF0dXJlcy0+Y29tcGlsZSgkZW52KSA6IG51bGwgKTsKCQkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfSW1wb3J0KCAkdGhpcy0+Y29tcGlsZVBhdGgoICRlbnYpLCAkZmVhdHVyZXMsICR0aGlzLT5vcHRpb25zLCAkdGhpcy0+aW5kZXgpOwoJCX0KCgoJCXJldHVybiAkdGhpcy0+UGFyc2VJbXBvcnQoICRmdWxsX3BhdGgsICR1cmksICRlbnYgKTsKCX0KCgoJLyoqCgkgKiBVc2luZyB0aGUgaW1wb3J0IGRpcmVjdG9yaWVzLCBnZXQgdGhlIGZ1bGwgYWJzb2x1dGUgcGF0aCBhbmQgdXJpIG9mIHRoZSBpbXBvcnQKCSAqCgkgKiBAcGFyYW0gTGVzc19UcmVlX0ltcG9ydCAkZXZhbGQKCSAqLwogICAgcHVibGljIGZ1bmN0aW9uIFBhdGhBbmRVcmkoKXsKCgkJJGV2YWxkX3BhdGggPSAkdGhpcy0+Z2V0UGF0aCgpOwoKCQlpZiggJGV2YWxkX3BhdGggKXsKCgkJCSRpbXBvcnRfZGlycyA9IGFycmF5KCk7CgoJCQlpZiggTGVzc19FbnZpcm9ubWVudDo6aXNQYXRoUmVsYXRpdmUoJGV2YWxkX3BhdGgpICl7CgkJCQkvL2lmIHRoZSBwYXRoIGlzIHJlbGF0aXZlLCB0aGUgZmlsZSBzaG91bGQgYmUgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5CgkJCQkkaW1wb3J0X2RpcnNbICR0aGlzLT5jdXJyZW50RmlsZUluZm9bJ2N1cnJlbnREaXJlY3RvcnknXSBdID0gJHRoaXMtPmN1cnJlbnRGaWxlSW5mb1sndXJpX3Jvb3QnXTsKCgkJCX1lbHNlewoJCQkJLy9vdGhlcndpc2UsIHRoZSBmaWxlIHNob3VsZCBiZSByZWxhdGl2ZSB0byB0aGUgc2VydmVyIHJvb3QKCQkJCSRpbXBvcnRfZGlyc1sgJHRoaXMtPmN1cnJlbnRGaWxlSW5mb1snZW50cnlQYXRoJ10gXSA9ICR0aGlzLT5jdXJyZW50RmlsZUluZm9bJ2VudHJ5VXJpJ107CgoJCQkJLy9pZiB0aGUgdXNlciBzdXBwbGllZCBlbnRyeVBhdGggaXNuJ3QgdGhlIGFjdHVhbCByb290CgkJCQkkaW1wb3J0X2RpcnNbICRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10gXSA9ICcnOwoKCQkJfQoKCQkJLy8gYWx3YXlzIGxvb2sgaW4gdXNlciBzdXBwbGllZCBpbXBvcnQgZGlyZWN0b3JpZXMKCQkJJGltcG9ydF9kaXJzID0gYXJyYXlfbWVyZ2UoICRpbXBvcnRfZGlycywgTGVzc19QYXJzZXI6OiRvcHRpb25zWydpbXBvcnRfZGlycyddICk7CgoKCQkJZm9yZWFjaCggJGltcG9ydF9kaXJzIGFzICRyb290cGF0aCA9PiAkcm9vdHVyaSl7CgkJCQlpZiggaXNfY2FsbGFibGUoJHJvb3R1cmkpICl7CgkJCQkJbGlzdCgkcGF0aCwgJHVyaSkgPSBjYWxsX3VzZXJfZnVuYygkcm9vdHVyaSwgJGV2YWxkX3BhdGgpOwoJCQkJCWlmKCBpc19zdHJpbmcoJHBhdGgpICl7CgkJCQkJCSRmdWxsX3BhdGggPSAkcGF0aDsKCQkJCQkJcmV0dXJuIGFycmF5KCAkZnVsbF9wYXRoLCAkdXJpICk7CgkJCQkJfQoJCQkJfWVsc2V7CgkJCQkJJHBhdGggPSBydHJpbSgkcm9vdHBhdGgsJy9cXCcpLicvJy5sdHJpbSgkZXZhbGRfcGF0aCwnL1xcJyk7CgoJCQkJCWlmKCBmaWxlX2V4aXN0cygkcGF0aCkgKXsKCQkJCQkJJGZ1bGxfcGF0aCA9IExlc3NfRW52aXJvbm1lbnQ6Om5vcm1hbGl6ZVBhdGgoJHBhdGgpOwoJCQkJCQkkdXJpID0gTGVzc19FbnZpcm9ubWVudDo6bm9ybWFsaXplUGF0aChkaXJuYW1lKCRyb290dXJpLiRldmFsZF9wYXRoKSk7CgkJCQkJCXJldHVybiBhcnJheSggJGZ1bGxfcGF0aCwgJHVyaSApOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0KCgoJLyoqCgkgKiBQYXJzZSB0aGUgaW1wb3J0IHVybCBhbmQgcmV0dXJuIHRoZSBydWxlcwoJICoKCSAqIEByZXR1cm4gTGVzc19UcmVlX01lZGlhfGFycmF5CgkgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBQYXJzZUltcG9ydCggJGZ1bGxfcGF0aCwgJHVyaSwgJGVudiApewoKCQkkaW1wb3J0X2VudiA9IGNsb25lICRlbnY7CgkJaWYoIChpc3NldCgkdGhpcy0+b3B0aW9uc1sncmVmZXJlbmNlJ10pICYmICR0aGlzLT5vcHRpb25zWydyZWZlcmVuY2UnXSkgfHwgaXNzZXQoJHRoaXMtPmN1cnJlbnRGaWxlSW5mb1sncmVmZXJlbmNlJ10pICl7CgkJCSRpbXBvcnRfZW52LT5jdXJyZW50RmlsZUluZm9bJ3JlZmVyZW5jZSddID0gdHJ1ZTsKCQl9CgoJCWlmKCAoaXNzZXQoJHRoaXMtPm9wdGlvbnNbJ211bHRpcGxlJ10pICYmICR0aGlzLT5vcHRpb25zWydtdWx0aXBsZSddKSApewoJCQkkaW1wb3J0X2Vudi0+aW1wb3J0TXVsdGlwbGUgPSB0cnVlOwoJCX0KCgkJJHBhcnNlciA9IG5ldyBMZXNzX1BhcnNlcigkaW1wb3J0X2Vudik7CgkJJHJvb3QgPSAkcGFyc2VyLT5wYXJzZUZpbGUoJGZ1bGxfcGF0aCwgJHVyaSwgdHJ1ZSk7CgoKCQkkcnVsZXNldCA9IG5ldyBMZXNzX1RyZWVfUnVsZXNldChhcnJheSgpLCAkcm9vdC0+cnVsZXMgKTsKCQkkcnVsZXNldC0+ZXZhbEltcG9ydHMoJGltcG9ydF9lbnYpOwoKCQlyZXR1cm4gJHRoaXMtPmZlYXR1cmVzID8gbmV3IExlc3NfVHJlZV9NZWRpYSgkcnVsZXNldC0+cnVsZXMsICR0aGlzLT5mZWF0dXJlcy0+dmFsdWUpIDogJHJ1bGVzZXQtPnJ1bGVzOwoJfQoKCgkvKioKCSAqIFNob3VsZCB0aGUgaW1wb3J0IGJlIHNraXBwZWQ/CgkgKgoJICogQHJldHVybiBib29sZWFufG51bGwKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBTa2lwKCRwYXRoLCAkZW52KXsKCgkJJHBhdGggPSByZWFscGF0aCgkcGF0aCk7CgoJCWlmKCAkcGF0aCAmJiBMZXNzX1BhcnNlcjo6RmlsZVBhcnNlZCgkcGF0aCkgKXsKCgkJCWlmKCBpc3NldCgkdGhpcy0+Y3VycmVudEZpbGVJbmZvWydyZWZlcmVuY2UnXSkgKXsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgoJCQlyZXR1cm4gIWlzc2V0KCR0aGlzLT5vcHRpb25zWydtdWx0aXBsZSddKSAmJiAhJGVudi0+aW1wb3J0TXVsdGlwbGU7CgkJfQoKCX0KfQoK]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Javascript.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBKYXZhc2NyaXB0CiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdHJlZQogKi8KY2xhc3MgTGVzc19UcmVlX0phdmFzY3JpcHQgZXh0ZW5kcyBMZXNzX1RyZWV7CgoJcHVibGljICR0eXBlID0gJ0phdmFzY3JpcHQnOwoJcHVibGljICRlc2NhcGVkOwoJcHVibGljICRleHByZXNzaW9uOwoJcHVibGljICRpbmRleDsKCgkvKioKCSAqIEBwYXJhbSBib29sZWFuICRpbmRleAoJICogQHBhcmFtIGJvb2xlYW4gJGVzY2FwZWQKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRzdHJpbmcsICRpbmRleCwgJGVzY2FwZWQpewoJCSR0aGlzLT5lc2NhcGVkID0gJGVzY2FwZWQ7CgkJJHRoaXMtPmV4cHJlc3Npb24gPSAkc3RyaW5nOwoJCSR0aGlzLT5pbmRleCA9ICRpbmRleDsKCX0KCglwdWJsaWMgZnVuY3Rpb24gY29tcGlsZSgpewoJCXJldHVybiBuZXcgTGVzc19UcmVlX0Fub255bW91cygnLyogU29ycnksIGNhbiBub3QgZG8gSmF2YVNjcmlwdCBldmFsdWF0aW9uIGluIFBIUC4uLiA6KCAqLycpOwoJfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Keyword.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBLZXl3b3JkCiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdHJlZQogKi8KY2xhc3MgTGVzc19UcmVlX0tleXdvcmQgZXh0ZW5kcyBMZXNzX1RyZWV7CgoJcHVibGljICR2YWx1ZTsKCXB1YmxpYyAkdHlwZSA9ICdLZXl3b3JkJzsKCgkvKioKCSAqIEBwYXJhbSBzdHJpbmcgJHZhbHVlCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdmFsdWUpewoJCSR0aGlzLT52YWx1ZSA9ICR2YWx1ZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gY29tcGlsZSgpewoJCXJldHVybiAkdGhpczsKCX0KCiAgICAvKioKICAgICAqIEBzZWUgTGVzc19UcmVlOjpnZW5DU1MKICAgICAqLwoJcHVibGljIGZ1bmN0aW9uIGdlbkNTUyggJG91dHB1dCApewoKCQlpZiggJHRoaXMtPnZhbHVlID09PSAnJScpIHsKCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCJJbnZhbGlkICUgd2l0aG91dCBudW1iZXIiKTsKCQl9CgoJCSRvdXRwdXQtPmFkZCggJHRoaXMtPnZhbHVlICk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGNvbXBhcmUoJG90aGVyKSB7CgkJaWYgKCRvdGhlciBpbnN0YW5jZW9mIExlc3NfVHJlZV9LZXl3b3JkKSB7CgkJCXJldHVybiAkb3RoZXItPnZhbHVlID09PSAkdGhpcy0+dmFsdWUgPyAwIDogMTsKCQl9IGVsc2UgewoJCQlyZXR1cm4gLTE7CgkJfQoJfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Media.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBNZWRpYQogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9NZWRpYSBleHRlbmRzIExlc3NfVHJlZXsKCglwdWJsaWMgJGZlYXR1cmVzOwoJcHVibGljICRydWxlczsKCXB1YmxpYyAkaW5kZXg7CglwdWJsaWMgJGN1cnJlbnRGaWxlSW5mbzsKCXB1YmxpYyAkaXNSZWZlcmVuY2VkOwoJcHVibGljICR0eXBlID0gJ01lZGlhJzsKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHZhbHVlID0gYXJyYXkoKSwgJGZlYXR1cmVzID0gYXJyYXkoKSwgJGluZGV4ID0gbnVsbCwgJGN1cnJlbnRGaWxlSW5mbyA9IG51bGwgKXsKCgkJJHRoaXMtPmluZGV4ID0gJGluZGV4OwoJCSR0aGlzLT5jdXJyZW50RmlsZUluZm8gPSAkY3VycmVudEZpbGVJbmZvOwoKCQkkc2VsZWN0b3JzID0gJHRoaXMtPmVtcHR5U2VsZWN0b3JzKCk7CgoJCSR0aGlzLT5mZWF0dXJlcyA9IG5ldyBMZXNzX1RyZWVfVmFsdWUoJGZlYXR1cmVzKTsKCgkJJHRoaXMtPnJ1bGVzID0gYXJyYXkobmV3IExlc3NfVHJlZV9SdWxlc2V0KCRzZWxlY3RvcnMsICR2YWx1ZSkpOwoJCSR0aGlzLT5ydWxlc1swXS0+YWxsb3dJbXBvcnRzID0gdHJ1ZTsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWNjZXB0KCAkdmlzaXRvciApewoJCSR0aGlzLT5mZWF0dXJlcyA9ICR2aXNpdG9yLT52aXNpdE9iaigkdGhpcy0+ZmVhdHVyZXMpOwoJCSR0aGlzLT5ydWxlcyA9ICR2aXNpdG9yLT52aXNpdEFycmF5KCR0aGlzLT5ydWxlcyk7Cgl9CgogICAgLyoqCiAgICAgKiBAc2VlIExlc3NfVHJlZTo6Z2VuQ1NTCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5DU1MoICRvdXRwdXQgKXsKCgkJJG91dHB1dC0+YWRkKCAnQG1lZGlhICcsICR0aGlzLT5jdXJyZW50RmlsZUluZm8sICR0aGlzLT5pbmRleCApOwoJCSR0aGlzLT5mZWF0dXJlcy0+Z2VuQ1NTKCAkb3V0cHV0ICk7CgkJTGVzc19UcmVlOjpvdXRwdXRSdWxlc2V0KCAkb3V0cHV0LCAkdGhpcy0+cnVsZXMpOwoKCX0KCglwdWJsaWMgZnVuY3Rpb24gY29tcGlsZSgkZW52KSB7CgoJCSRtZWRpYSA9IG5ldyBMZXNzX1RyZWVfTWVkaWEoYXJyYXkoKSwgYXJyYXkoKSwgJHRoaXMtPmluZGV4LCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvICk7CgoJCSRzdHJpY3RNYXRoQnlwYXNzID0gZmFsc2U7CgkJaWYoIExlc3NfUGFyc2VyOjokb3B0aW9uc1snc3RyaWN0TWF0aCddID09PSBmYWxzZSkgewoJCQkkc3RyaWN0TWF0aEJ5cGFzcyA9IHRydWU7CgkJCUxlc3NfUGFyc2VyOjokb3B0aW9uc1snc3RyaWN0TWF0aCddID0gdHJ1ZTsKCQl9CgoJCSRtZWRpYS0+ZmVhdHVyZXMgPSAkdGhpcy0+ZmVhdHVyZXMtPmNvbXBpbGUoJGVudik7CgoJCWlmKCAkc3RyaWN0TWF0aEJ5cGFzcyApewoJCQlMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ3N0cmljdE1hdGgnXSA9IGZhbHNlOwoJCX0KCgkJJGVudi0+bWVkaWFQYXRoW10gPSAkbWVkaWE7CgkJJGVudi0+bWVkaWFCbG9ja3NbXSA9ICRtZWRpYTsKCgkJYXJyYXlfdW5zaGlmdCgkZW52LT5mcmFtZXMsICR0aGlzLT5ydWxlc1swXSk7CgkJJG1lZGlhLT5ydWxlcyA9IGFycmF5KCR0aGlzLT5ydWxlc1swXS0+Y29tcGlsZSgkZW52KSk7CgkJYXJyYXlfc2hpZnQoJGVudi0+ZnJhbWVzKTsKCgkJYXJyYXlfcG9wKCRlbnYtPm1lZGlhUGF0aCk7CgoJCXJldHVybiAhJGVudi0+bWVkaWFQYXRoID8gJG1lZGlhLT5jb21waWxlVG9wKCRlbnYpIDogJG1lZGlhLT5jb21waWxlTmVzdGVkKCRlbnYpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiB2YXJpYWJsZSgkbmFtZSkgewoJCXJldHVybiAkdGhpcy0+cnVsZXNbMF0tPnZhcmlhYmxlKCRuYW1lKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gZmluZCgkc2VsZWN0b3IpIHsKCQlyZXR1cm4gJHRoaXMtPnJ1bGVzWzBdLT5maW5kKCRzZWxlY3RvciwgJHRoaXMpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBlbXB0eVNlbGVjdG9ycygpewoJCSRlbCA9IG5ldyBMZXNzX1RyZWVfRWxlbWVudCgnJywnJicsICR0aGlzLT5pbmRleCwgJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyApOwoJCSRzZWxzID0gYXJyYXkoIG5ldyBMZXNzX1RyZWVfU2VsZWN0b3IoYXJyYXkoJGVsKSwgYXJyYXkoKSwgbnVsbCwgJHRoaXMtPmluZGV4LCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvKSApOwoJCSRzZWxzWzBdLT5tZWRpYUVtcHR5ID0gdHJ1ZTsKICAgICAgICByZXR1cm4gJHNlbHM7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIG1hcmtSZWZlcmVuY2VkKCl7CgkJJHRoaXMtPnJ1bGVzWzBdLT5tYXJrUmVmZXJlbmNlZCgpOwoJCSR0aGlzLT5pc1JlZmVyZW5jZWQgPSB0cnVlOwoJCUxlc3NfVHJlZTo6UmVmZXJlbmNlZEFycmF5KCR0aGlzLT5ydWxlc1swXS0+cnVsZXMpOwoJfQoKCS8vIGV2YWx0b3AKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlVG9wKCRlbnYpIHsKCQkkcmVzdWx0ID0gJHRoaXM7CgoJCWlmIChjb3VudCgkZW52LT5tZWRpYUJsb2NrcykgPiAxKSB7CgkJCSRzZWxlY3RvcnMgPSAkdGhpcy0+ZW1wdHlTZWxlY3RvcnMoKTsKCQkJJHJlc3VsdCA9IG5ldyBMZXNzX1RyZWVfUnVsZXNldCgkc2VsZWN0b3JzLCAkZW52LT5tZWRpYUJsb2Nrcyk7CgkJCSRyZXN1bHQtPm11bHRpTWVkaWEgPSB0cnVlOwoJCX0KCgkJJGVudi0+bWVkaWFCbG9ja3MgPSBhcnJheSgpOwoJCSRlbnYtPm1lZGlhUGF0aCA9IGFycmF5KCk7CgoJCXJldHVybiAkcmVzdWx0OwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlTmVzdGVkKCRlbnYpIHsKCQkkcGF0aCA9IGFycmF5X21lcmdlKCRlbnYtPm1lZGlhUGF0aCwgYXJyYXkoJHRoaXMpKTsKCgkJLy8gRXh0cmFjdCB0aGUgbWVkaWEtcXVlcnkgY29uZGl0aW9ucyBzZXBhcmF0ZWQgd2l0aCBgLGAgKE9SKS4KCQlmb3JlYWNoICgkcGF0aCBhcyAka2V5ID0+ICRwKSB7CgkJCSR2YWx1ZSA9ICRwLT5mZWF0dXJlcyBpbnN0YW5jZW9mIExlc3NfVHJlZV9WYWx1ZSA/ICRwLT5mZWF0dXJlcy0+dmFsdWUgOiAkcC0+ZmVhdHVyZXM7CgkJCSRwYXRoWyRrZXldID0gaXNfYXJyYXkoJHZhbHVlKSA/ICR2YWx1ZSA6IGFycmF5KCR2YWx1ZSk7CgkJfQoKCQkvLyBUcmFjZSBhbGwgcGVybXV0YXRpb25zIHRvIGdlbmVyYXRlIHRoZSByZXN1bHRpbmcgbWVkaWEtcXVlcnkuCgkJLy8KCQkvLyAoYSwgYiBhbmQgYykgd2l0aCBuZXN0ZWQgKGQsIGUpIC0+CgkJLy8JYSBhbmQgZAoJCS8vCWEgYW5kIGUKCQkvLwliIGFuZCBjIGFuZCBkCgkJLy8JYiBhbmQgYyBhbmQgZQoKCQkkcGVybXV0ZWQgPSAkdGhpcy0+cGVybXV0ZSgkcGF0aCk7CgkJJGV4cHJlc3Npb25zID0gYXJyYXkoKTsKCQlmb3JlYWNoKCRwZXJtdXRlZCBhcyAkcGF0aCl7CgoJCQlmb3IoICRpPTAsICRsZW49Y291bnQoJHBhdGgpOyAkaSA8ICRsZW47ICRpKyspewoJCQkJJHBhdGhbJGldID0gTGVzc19QYXJzZXI6OmlzX21ldGhvZCgkcGF0aFskaV0sICd0b0NTUycpID8gJHBhdGhbJGldIDogbmV3IExlc3NfVHJlZV9Bbm9ueW1vdXMoJHBhdGhbJGldKTsKCQkJfQoKCQkJZm9yKCAkaSA9IGNvdW50KCRwYXRoKSAtIDE7ICRpID4gMDsgJGktLSApewoJCQkJYXJyYXlfc3BsaWNlKCRwYXRoLCAkaSwgMCwgYXJyYXkobmV3IExlc3NfVHJlZV9Bbm9ueW1vdXMoJ2FuZCcpKSk7CgkJCX0KCgkJCSRleHByZXNzaW9uc1tdID0gbmV3IExlc3NfVHJlZV9FeHByZXNzaW9uKCRwYXRoKTsKCQl9CgkJJHRoaXMtPmZlYXR1cmVzID0gbmV3IExlc3NfVHJlZV9WYWx1ZSgkZXhwcmVzc2lvbnMpOwoKCgoJCS8vIEZha2UgYSB0cmVlLW5vZGUgdGhhdCBkb2Vzbid0IG91dHB1dCBhbnl0aGluZy4KCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9SdWxlc2V0KGFycmF5KCksIGFycmF5KCkpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBwZXJtdXRlKCRhcnIpIHsKCQlpZiAoISRhcnIpCgkJCXJldHVybiBhcnJheSgpOwoKCQlpZiAoY291bnQoJGFycikgPT0gMSkKCQkJcmV0dXJuICRhcnJbMF07CgoJCSRyZXN1bHQgPSBhcnJheSgpOwoJCSRyZXN0ID0gJHRoaXMtPnBlcm11dGUoYXJyYXlfc2xpY2UoJGFyciwgMSkpOwoJCWZvcmVhY2ggKCRyZXN0IGFzICRyKSB7CgkJCWZvcmVhY2ggKCRhcnJbMF0gYXMgJGEpIHsKCQkJCSRyZXN1bHRbXSA9IGFycmF5X21lcmdlKAoJCQkJCWlzX2FycmF5KCRhKSA/ICRhIDogYXJyYXkoJGEpLAoJCQkJCWlzX2FycmF5KCRyKSA/ICRyIDogYXJyYXkoJHIpCgkJCQkpOwoJCQl9CgkJfQoKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYnViYmxlU2VsZWN0b3JzKCRzZWxlY3RvcnMpIHsKCgkJaWYoICEkc2VsZWN0b3JzKSByZXR1cm47CgoJCSR0aGlzLT5ydWxlcyA9IGFycmF5KG5ldyBMZXNzX1RyZWVfUnVsZXNldCggJHNlbGVjdG9ycywgYXJyYXkoJHRoaXMtPnJ1bGVzWzBdKSkpOwoJfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Mixin/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Mixin/Call.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCgpjbGFzcyBMZXNzX1RyZWVfTWl4aW5fQ2FsbCBleHRlbmRzIExlc3NfVHJlZXsKCglwdWJsaWMgJHNlbGVjdG9yOwoJcHVibGljICRhcmd1bWVudHM7CglwdWJsaWMgJGluZGV4OwoJcHVibGljICRjdXJyZW50RmlsZUluZm87CgoJcHVibGljICRpbXBvcnRhbnQ7CglwdWJsaWMgJHR5cGUgPSAnTWl4aW5DYWxsJzsKCgkvKioKCSAqIGxlc3MuanM6IHRyZWUubWl4aW4uQ2FsbAoJICoKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRlbGVtZW50cywgJGFyZ3MsICRpbmRleCwgJGN1cnJlbnRGaWxlSW5mbywgJGltcG9ydGFudCA9IGZhbHNlKXsKCQkkdGhpcy0+c2VsZWN0b3IgPSBuZXcgTGVzc19UcmVlX1NlbGVjdG9yKCRlbGVtZW50cyk7CgkJJHRoaXMtPmFyZ3VtZW50cyA9ICRhcmdzOwoJCSR0aGlzLT5pbmRleCA9ICRpbmRleDsKCQkkdGhpcy0+Y3VycmVudEZpbGVJbmZvID0gJGN1cnJlbnRGaWxlSW5mbzsKCQkkdGhpcy0+aW1wb3J0YW50ID0gJGltcG9ydGFudDsKCX0KCgkvL2Z1bmN0aW9uIGFjY2VwdCgkdmlzaXRvcil7CgkvLwkkdGhpcy0+c2VsZWN0b3IgPSAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPnNlbGVjdG9yKTsKCS8vCSR0aGlzLT5hcmd1bWVudHMgPSAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPmFyZ3VtZW50cyk7CgkvL30KCgoJcHVibGljIGZ1bmN0aW9uIGNvbXBpbGUoJGVudil7CgoJCSRydWxlcyA9IGFycmF5KCk7CgkJJG1hdGNoID0gZmFsc2U7CgkJJGlzT25lRm91bmQgPSBmYWxzZTsKCQkkY2FuZGlkYXRlcyA9IGFycmF5KCk7CgkJJGRlZmF1bHRVc2VkID0gZmFsc2U7CgkJJGNvbmRpdGlvblJlc3VsdCA9IGFycmF5KCk7CgoJCSRhcmdzID0gYXJyYXkoKTsKCQlmb3JlYWNoKCR0aGlzLT5hcmd1bWVudHMgYXMgJGEpewoJCQkkYXJnc1tdID0gYXJyYXkoJ25hbWUnPT4gJGFbJ25hbWUnXSwgJ3ZhbHVlJyA9PiAkYVsndmFsdWUnXS0+Y29tcGlsZSgkZW52KSApOwoJCX0KCgkJZm9yZWFjaCgkZW52LT5mcmFtZXMgYXMgJGZyYW1lKXsKCgkJCSRtaXhpbnMgPSAkZnJhbWUtPmZpbmQoJHRoaXMtPnNlbGVjdG9yKTsKCgkJCWlmKCAhJG1peGlucyApewoJCQkJY29udGludWU7CgkJCX0KCgkJCSRpc09uZUZvdW5kID0gdHJ1ZTsKCQkJJGRlZk5vbmUgPSAwOwoJCQkkZGVmVHJ1ZSA9IDE7CgkJCSRkZWZGYWxzZSA9IDI7CgoJCQkvLyBUbyBtYWtlIGBkZWZhdWx0KClgIGZ1bmN0aW9uIGluZGVwZW5kZW50IG9mIGRlZmluaXRpb24gb3JkZXIgd2UgaGF2ZSB0d28gInN1YnBhc3NlcyIgaGVyZS4KCQkJLy8gQXQgZmlyc3Qgd2UgZXZhbHVhdGUgZWFjaCBndWFyZCAqdHdpY2UqICh3aXRoIGBkZWZhdWx0KCkgPT0gdHJ1ZWAgYW5kIGBkZWZhdWx0KCkgPT0gZmFsc2VgKSwKCQkJLy8gYW5kIGJ1aWxkIGNhbmRpZGF0ZSBsaXN0IHdpdGggY29ycmVzcG9uZGluZyBmbGFncy4gVGhlbiwgd2hlbiB3ZSBrbm93IGFsbCBwb3NzaWJsZSBtYXRjaGVzLAoJCQkvLyB3ZSBtYWtlIGEgZmluYWwgZGVjaXNpb24uCgoJCQkkbWl4aW5zX2xlbiA9IGNvdW50KCRtaXhpbnMpOwoJCQlmb3IoICRtID0gMDsgJG0gPCAkbWl4aW5zX2xlbjsgJG0rKyApewoJCQkJJG1peGluID0gJG1peGluc1skbV07CgoJCQkJaWYoICR0aGlzLT5Jc1JlY3Vyc2l2ZSggJGVudiwgJG1peGluICkgKXsKCQkJCQljb250aW51ZTsKCQkJCX0KCgkJCQlpZiggJG1peGluLT5tYXRjaEFyZ3MoJGFyZ3MsICRlbnYpICl7CgoJCQkJCSRjYW5kaWRhdGUgPSBhcnJheSgnbWl4aW4nID0+ICRtaXhpbiwgJ2dyb3VwJyA9PiAkZGVmTm9uZSk7CgoJCQkJCWlmKCAkbWl4aW4gaW5zdGFuY2VvZiBMZXNzX1RyZWVfUnVsZXNldCApewoKCQkJCQkJZm9yKCAkZiA9IDA7ICRmIDwgMjsgJGYrKyApewoJCQkJCQkJTGVzc19UcmVlX0RlZmF1bHRGdW5jOjp2YWx1ZSgkZik7CgkJCQkJCQkkY29uZGl0aW9uUmVzdWx0WyRmXSA9ICRtaXhpbi0+bWF0Y2hDb25kaXRpb24oICRhcmdzLCAkZW52KTsKCQkJCQkJfQoJCQkJCQlpZiggJGNvbmRpdGlvblJlc3VsdFswXSB8fCAkY29uZGl0aW9uUmVzdWx0WzFdICl7CgkJCQkJCQlpZiggJGNvbmRpdGlvblJlc3VsdFswXSAhPSAkY29uZGl0aW9uUmVzdWx0WzFdICl7CgkJCQkJCQkJJGNhbmRpZGF0ZVsnZ3JvdXAnXSA9ICRjb25kaXRpb25SZXN1bHRbMV0gPyAkZGVmVHJ1ZSA6ICRkZWZGYWxzZTsKCQkJCQkJCX0KCgkJCQkJCQkkY2FuZGlkYXRlc1tdID0gJGNhbmRpZGF0ZTsKCQkJCQkJfQoJCQkJCX1lbHNlewoJCQkJCQkkY2FuZGlkYXRlc1tdID0gJGNhbmRpZGF0ZTsKCQkJCQl9CgoJCQkJCSRtYXRjaCA9IHRydWU7CgkJCQl9CgkJCX0KCgkJCUxlc3NfVHJlZV9EZWZhdWx0RnVuYzo6cmVzZXQoKTsKCgoJCQkkY291bnQgPSBhcnJheSgwLCAwLCAwKTsKCQkJZm9yKCAkbSA9IDA7ICRtIDwgY291bnQoJGNhbmRpZGF0ZXMpOyAkbSsrICl7CgkJCQkkY291bnRbICRjYW5kaWRhdGVzWyRtXVsnZ3JvdXAnXSBdKys7CgkJCX0KCgkJCWlmKCAkY291bnRbJGRlZk5vbmVdID4gMCApewoJCQkJJGRlZmF1bHRSZXN1bHQgPSAkZGVmRmFsc2U7CgkJCX0gZWxzZSB7CgkJCQkkZGVmYXVsdFJlc3VsdCA9ICRkZWZUcnVlOwoJCQkJaWYoICgkY291bnRbJGRlZlRydWVdICsgJGNvdW50WyRkZWZGYWxzZV0pID4gMSApewoJCQkJCXRocm93IG5ldyBFeGNlcHRpb24oICdBbWJpZ3VvdXMgdXNlIG9mIGBkZWZhdWx0KClgIGZvdW5kIHdoZW4gbWF0Y2hpbmcgZm9yIGAnLiAkdGhpcy0+Zm9ybWF0KCRhcmdzKSArICdgJyApOwoJCQkJfQoJCQl9CgoKCQkJJGNhbmRpZGF0ZXNfbGVuZ3RoID0gY291bnQoJGNhbmRpZGF0ZXMpOwoJCQkkbGVuZ3RoXzEgPSAoJGNhbmRpZGF0ZXNfbGVuZ3RoID09IDEpOwoKCQkJZm9yKCAkbSA9IDA7ICRtIDwgJGNhbmRpZGF0ZXNfbGVuZ3RoOyAkbSsrKXsKCQkJCSRjYW5kaWRhdGUgPSAkY2FuZGlkYXRlc1skbV1bJ2dyb3VwJ107CgkJCQlpZiggKCRjYW5kaWRhdGUgPT09ICRkZWZOb25lKSB8fCAoJGNhbmRpZGF0ZSA9PT0gJGRlZmF1bHRSZXN1bHQpICl7CgkJCQkJdHJ5ewoJCQkJCQkkbWl4aW4gPSAkY2FuZGlkYXRlc1skbV1bJ21peGluJ107CgkJCQkJCWlmKCAhKCRtaXhpbiBpbnN0YW5jZW9mIExlc3NfVHJlZV9NaXhpbl9EZWZpbml0aW9uKSApewoJCQkJCQkJJG1peGluID0gbmV3IExlc3NfVHJlZV9NaXhpbl9EZWZpbml0aW9uKCcnLCBhcnJheSgpLCAkbWl4aW4tPnJ1bGVzLCBudWxsLCBmYWxzZSk7CgkJCQkJCQkkbWl4aW4tPm9yaWdpbmFsUnVsZXNldCA9ICRtaXhpbnNbJG1dLT5vcmlnaW5hbFJ1bGVzZXQ7CgkJCQkJCX0KCQkJCQkJJHJ1bGVzID0gYXJyYXlfbWVyZ2UoJHJ1bGVzLCAkbWl4aW4tPmV2YWxDYWxsKCRlbnYsICRhcmdzLCAkdGhpcy0+aW1wb3J0YW50KS0+cnVsZXMpOwoJCQkJCX0gY2F0Y2ggKEV4Y2VwdGlvbiAkZSkgewoJCQkJCQkvL3Rocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9Db21waWxlcigkZS0+Z2V0TWVzc2FnZSgpLCAkZS0+aW5kZXgsIG51bGwsICR0aGlzLT5jdXJyZW50RmlsZUluZm9bJ2ZpbGVuYW1lJ10pOwoJCQkJCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIoJGUtPmdldE1lc3NhZ2UoKSwgbnVsbCwgbnVsbCwgJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyk7CgkJCQkJfQoJCQkJfQoJCQl9CgoJCQlpZiggJG1hdGNoICl7CgkJCQlpZiggISR0aGlzLT5jdXJyZW50RmlsZUluZm8gfHwgIWlzc2V0KCR0aGlzLT5jdXJyZW50RmlsZUluZm9bJ3JlZmVyZW5jZSddKSB8fCAhJHRoaXMtPmN1cnJlbnRGaWxlSW5mb1sncmVmZXJlbmNlJ10gKXsKCQkJCQlMZXNzX1RyZWU6OlJlZmVyZW5jZWRBcnJheSgkcnVsZXMpOwoJCQkJfQoKCQkJCXJldHVybiAkcnVsZXM7CgkJCX0KCQl9CgoJCWlmKCAkaXNPbmVGb3VuZCApewoJCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIoJ05vIG1hdGNoaW5nIGRlZmluaXRpb24gd2FzIGZvdW5kIGZvciBgJy4kdGhpcy0+Rm9ybWF0KCAkYXJncyApLidgJywgbnVsbCwgJHRoaXMtPmluZGV4LCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvKTsKCgkJfWVsc2V7CgkJCXRocm93IG5ldyBMZXNzX0V4Y2VwdGlvbl9Db21waWxlcih0cmltKCR0aGlzLT5zZWxlY3Rvci0+dG9DU1MoKSkgLiAiIGlzIHVuZGVmaW5lZCBpbiAiLiR0aGlzLT5jdXJyZW50RmlsZUluZm9bJ2ZpbGVuYW1lJ10sIG51bGwsICR0aGlzLT5pbmRleCk7CgkJfQoKCX0KCgkvKioKCSAqIEZvcm1hdCB0aGUgYXJncyBmb3IgdXNlIGluIGV4Y2VwdGlvbiBtZXNzYWdlcwoJICoKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBGb3JtYXQoJGFyZ3MpewoJCSRtZXNzYWdlID0gYXJyYXkoKTsKCQlpZiggJGFyZ3MgKXsKCQkJZm9yZWFjaCgkYXJncyBhcyAkYSl7CgkJCQkkYXJnVmFsdWUgPSAnJzsKCQkJCWlmKCAkYVsnbmFtZSddICl7CgkJCQkJJGFyZ1ZhbHVlICs9ICRhWyduYW1lJ10rJzonOwoJCQkJfQoJCQkJaWYoIGlzX29iamVjdCgkYVsndmFsdWUnXSkgKXsKCQkJCQkkYXJnVmFsdWUgKz0gJGFbJ3ZhbHVlJ10tPnRvQ1NTKCk7CgkJCQl9ZWxzZXsKCQkJCQkkYXJnVmFsdWUgKz0gJz8/Pyc7CgkJCQl9CgkJCQkkbWVzc2FnZVtdID0gJGFyZ1ZhbHVlOwoJCQl9CgkJfQoJCXJldHVybiBpbXBsb2RlKCcsICcsJG1lc3NhZ2UpOwoJfQoKCgkvKioKCSAqIEFyZSB3ZSBpbiBhIHJlY3Vyc2l2ZSBtaXhpbiBjYWxsPwoJICoKCSAqIEByZXR1cm4gYm9vbAoJICovCglwcml2YXRlIGZ1bmN0aW9uIElzUmVjdXJzaXZlKCAkZW52LCAkbWl4aW4gKXsKCgkJZm9yZWFjaCgkZW52LT5mcmFtZXMgYXMgJHJlY3VyX2ZyYW1lKXsKCQkJaWYoICEoJG1peGluIGluc3RhbmNlb2YgTGVzc19UcmVlX01peGluX0RlZmluaXRpb24pICl7CgoJCQkJaWYoICRtaXhpbiA9PT0gJHJlY3VyX2ZyYW1lICl7CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9CgoJCQkJaWYoIGlzc2V0KCRyZWN1cl9mcmFtZS0+b3JpZ2luYWxSdWxlc2V0KSAmJiAkbWl4aW4tPnJ1bGVzZXRfaWQgPT09ICRyZWN1cl9mcmFtZS0+b3JpZ2luYWxSdWxlc2V0ICl7CgkJCQkJcmV0dXJuIHRydWU7CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiBmYWxzZTsKCX0KCn0KCgo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Mixin/Definition.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIExlc3NfVHJlZV9NaXhpbl9EZWZpbml0aW9uIGV4dGVuZHMgTGVzc19UcmVlX1J1bGVzZXR7CglwdWJsaWMgJG5hbWU7CglwdWJsaWMgJHNlbGVjdG9yczsKCXB1YmxpYyAkcGFyYW1zOwoJcHVibGljICRhcml0eQkJPSAwOwoJcHVibGljICRydWxlczsKCXB1YmxpYyAkbG9va3VwcwkJPSBhcnJheSgpOwoJcHVibGljICRyZXF1aXJlZAk9IDA7CglwdWJsaWMgJGZyYW1lcwkJPSBhcnJheSgpOwoJcHVibGljICRjb25kaXRpb247CglwdWJsaWMgJHZhcmlhZGljOwoJcHVibGljICR0eXBlCQk9ICdNaXhpbkRlZmluaXRpb24nOwoKCgkvLyBsZXNzLmpzIDogL2xpYi9sZXNzL3RyZWUvbWl4aW4uanMgOiB0cmVlLm1peGluLkRlZmluaXRpb24KCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbmFtZSwgJHBhcmFtcywgJHJ1bGVzLCAkY29uZGl0aW9uLCAkdmFyaWFkaWMgPSBmYWxzZSwgJGZyYW1lcyA9IGFycmF5KCkgKXsKCQkkdGhpcy0+bmFtZSA9ICRuYW1lOwoJCSR0aGlzLT5zZWxlY3RvcnMgPSBhcnJheShuZXcgTGVzc19UcmVlX1NlbGVjdG9yKGFycmF5KCBuZXcgTGVzc19UcmVlX0VsZW1lbnQobnVsbCwgJG5hbWUpKSkpOwoKCQkkdGhpcy0+cGFyYW1zID0gJHBhcmFtczsKCQkkdGhpcy0+Y29uZGl0aW9uID0gJGNvbmRpdGlvbjsKCQkkdGhpcy0+dmFyaWFkaWMgPSAkdmFyaWFkaWM7CgkJJHRoaXMtPnJ1bGVzID0gJHJ1bGVzOwoKCQlpZiggJHBhcmFtcyApewoJCQkkdGhpcy0+YXJpdHkgPSBjb3VudCgkcGFyYW1zKTsKCQkJZm9yZWFjaCggJHBhcmFtcyBhcyAkcCApewoJCQkJaWYgKCEgaXNzZXQoJHBbJ25hbWUnXSkgfHwgKCRwWyduYW1lJ10gJiYgIWlzc2V0KCRwWyd2YWx1ZSddKSkpIHsKCQkJCQkkdGhpcy0+cmVxdWlyZWQrKzsKCQkJCX0KCQkJfQoJCX0KCgkJJHRoaXMtPmZyYW1lcyA9ICRmcmFtZXM7CgkJJHRoaXMtPlNldFJ1bGVzZXRJbmRleCgpOwoJfQoKCgoJLy9mdW5jdGlvbiBhY2NlcHQoICR2aXNpdG9yICl7CgkvLwkkdGhpcy0+cGFyYW1zID0gJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5wYXJhbXMpOwoJLy8JJHRoaXMtPnJ1bGVzID0gJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5ydWxlcyk7CgkvLwkkdGhpcy0+Y29uZGl0aW9uID0gJHZpc2l0b3ItPnZpc2l0KCR0aGlzLT5jb25kaXRpb24pOwoJLy99CgoKCXB1YmxpYyBmdW5jdGlvbiB0b0NTUygpewoJCXJldHVybiAnJzsKCX0KCgkvLyBsZXNzLmpzIDogL2xpYi9sZXNzL3RyZWUvbWl4aW4uanMgOiB0cmVlLm1peGluLkRlZmluaXRpb24uZXZhbFBhcmFtcwoJcHVibGljIGZ1bmN0aW9uIGNvbXBpbGVQYXJhbXMoJGVudiwgJG1peGluRnJhbWVzLCAkYXJncyA9IGFycmF5KCkgLCAmJGV2YWxkQXJndW1lbnRzID0gYXJyYXkoKSApewoJCSRmcmFtZSA9IG5ldyBMZXNzX1RyZWVfUnVsZXNldChudWxsLCBhcnJheSgpKTsKCQkkcGFyYW1zID0gJHRoaXMtPnBhcmFtczsKCQkkbWl4aW5FbnYgPSBudWxsOwoJCSRhcmdzTGVuZ3RoID0gMDsKCgkJaWYoICRhcmdzICl7CgkJCSRhcmdzTGVuZ3RoID0gY291bnQoJGFyZ3MpOwoJCQlmb3IoJGkgPSAwOyAkaSA8ICRhcmdzTGVuZ3RoOyAkaSsrICl7CgkJCQkkYXJnID0gJGFyZ3NbJGldOwoKCQkJCWlmKCAkYXJnICYmICRhcmdbJ25hbWUnXSApewoJCQkJCSRpc05hbWVkRm91bmQgPSBmYWxzZTsKCgkJCQkJZm9yZWFjaCgkcGFyYW1zIGFzICRqID0+ICRwYXJhbSl7CgkJCQkJCWlmKCAhaXNzZXQoJGV2YWxkQXJndW1lbnRzWyRqXSkgJiYgJGFyZ1snbmFtZSddID09PSAkcGFyYW1zWyRqXVsnbmFtZSddKSB7CgkJCQkJCQkkZXZhbGRBcmd1bWVudHNbJGpdID0gJGFyZ1sndmFsdWUnXS0+Y29tcGlsZSgkZW52KTsKCQkJCQkJCWFycmF5X3Vuc2hpZnQoJGZyYW1lLT5ydWxlcywgbmV3IExlc3NfVHJlZV9SdWxlKCAkYXJnWyduYW1lJ10sICRhcmdbJ3ZhbHVlJ10tPmNvbXBpbGUoJGVudikgKSApOwoJCQkJCQkJJGlzTmFtZWRGb3VuZCA9IHRydWU7CgkJCQkJCQlicmVhazsKCQkJCQkJfQoJCQkJCX0KCQkJCQlpZiAoJGlzTmFtZWRGb3VuZCkgewoJCQkJCQlhcnJheV9zcGxpY2UoJGFyZ3MsICRpLCAxKTsKCQkJCQkJJGktLTsKCQkJCQkJJGFyZ3NMZW5ndGgtLTsKCQkJCQkJY29udGludWU7CgkJCQkJfSBlbHNlIHsKCQkJCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCJOYW1lZCBhcmd1bWVudCBmb3IgIiAuICR0aGlzLT5uYW1lIC4nICcuJGFyZ3NbJGldWyduYW1lJ10gLiAnIG5vdCBmb3VuZCcpOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCgkJJGFyZ0luZGV4ID0gMDsKCQlmb3JlYWNoKCRwYXJhbXMgYXMgJGkgPT4gJHBhcmFtKXsKCgkJCWlmICggaXNzZXQoJGV2YWxkQXJndW1lbnRzWyRpXSkgKXsgY29udGludWU7IH0KCgkJCSRhcmcgPSBudWxsOwoJCQlpZiggaXNzZXQoJGFyZ3NbJGFyZ0luZGV4XSkgKXsKCQkJCSRhcmcgPSAkYXJnc1skYXJnSW5kZXhdOwoJCQl9CgoJCQlpZiAoaXNzZXQoJHBhcmFtWyduYW1lJ10pICYmICRwYXJhbVsnbmFtZSddKSB7CgoJCQkJaWYoIGlzc2V0KCRwYXJhbVsndmFyaWFkaWMnXSkgKXsKCQkJCQkkdmFyYXJncyA9IGFycmF5KCk7CgkJCQkJZm9yICgkaiA9ICRhcmdJbmRleDsgJGogPCAkYXJnc0xlbmd0aDsgJGorKykgewoJCQkJCQkkdmFyYXJnc1tdID0gJGFyZ3NbJGpdWyd2YWx1ZSddLT5jb21waWxlKCRlbnYpOwoJCQkJCX0KCQkJCQkkZXhwcmVzc2lvbiA9IG5ldyBMZXNzX1RyZWVfRXhwcmVzc2lvbigkdmFyYXJncyk7CgkJCQkJYXJyYXlfdW5zaGlmdCgkZnJhbWUtPnJ1bGVzLCBuZXcgTGVzc19UcmVlX1J1bGUoJHBhcmFtWyduYW1lJ10sICRleHByZXNzaW9uLT5jb21waWxlKCRlbnYpKSk7CgkJCQl9ZWxzZXsKCQkJCQkkdmFsID0gKCRhcmcgJiYgJGFyZ1sndmFsdWUnXSkgPyAkYXJnWyd2YWx1ZSddIDogZmFsc2U7CgoJCQkJCWlmICgkdmFsKSB7CgkJCQkJCSR2YWwgPSAkdmFsLT5jb21waWxlKCRlbnYpOwoJCQkJCX0gZWxzZSBpZiAoIGlzc2V0KCRwYXJhbVsndmFsdWUnXSkgKSB7CgoJCQkJCQlpZiggISRtaXhpbkVudiApewoJCQkJCQkJJG1peGluRW52ID0gbmV3IExlc3NfRW52aXJvbm1lbnQoKTsKCQkJCQkJCSRtaXhpbkVudi0+ZnJhbWVzID0gYXJyYXlfbWVyZ2UoIGFycmF5KCRmcmFtZSksICRtaXhpbkZyYW1lcyk7CgkJCQkJCX0KCgkJCQkJCSR2YWwgPSAkcGFyYW1bJ3ZhbHVlJ10tPmNvbXBpbGUoJG1peGluRW52KTsKCQkJCQkJJGZyYW1lLT5yZXNldENhY2hlKCk7CgkJCQkJfSBlbHNlIHsKCQkJCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIGZvciAiIC4gJHRoaXMtPm5hbWUgLiAiICgiIC4gJGFyZ3NMZW5ndGggLiAnIGZvciAnIC4gJHRoaXMtPmFyaXR5IC4gIikiKTsKCQkJCQl9CgoJCQkJCWFycmF5X3Vuc2hpZnQoJGZyYW1lLT5ydWxlcywgbmV3IExlc3NfVHJlZV9SdWxlKCRwYXJhbVsnbmFtZSddLCAkdmFsKSk7CgkJCQkJJGV2YWxkQXJndW1lbnRzWyRpXSA9ICR2YWw7CgkJCQl9CgkJCX0KCgkJCWlmICggaXNzZXQoJHBhcmFtWyd2YXJpYWRpYyddKSAmJiAkYXJncykgewoJCQkJZm9yICgkaiA9ICRhcmdJbmRleDsgJGogPCAkYXJnc0xlbmd0aDsgJGorKykgewoJCQkJCSRldmFsZEFyZ3VtZW50c1skal0gPSAkYXJnc1skal1bJ3ZhbHVlJ10tPmNvbXBpbGUoJGVudik7CgkJCQl9CgkJCX0KCQkJJGFyZ0luZGV4Kys7CgkJfQoKCQlrc29ydCgkZXZhbGRBcmd1bWVudHMpOwoJCSRldmFsZEFyZ3VtZW50cyA9IGFycmF5X3ZhbHVlcygkZXZhbGRBcmd1bWVudHMpOwoKCQlyZXR1cm4gJGZyYW1lOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCRlbnYpIHsKCQlpZiggJHRoaXMtPmZyYW1lcyApewoJCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9NaXhpbl9EZWZpbml0aW9uKCR0aGlzLT5uYW1lLCAkdGhpcy0+cGFyYW1zLCAkdGhpcy0+cnVsZXMsICR0aGlzLT5jb25kaXRpb24sICR0aGlzLT52YXJpYWRpYywgJHRoaXMtPmZyYW1lcyApOwoJCX0KCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9NaXhpbl9EZWZpbml0aW9uKCR0aGlzLT5uYW1lLCAkdGhpcy0+cGFyYW1zLCAkdGhpcy0+cnVsZXMsICR0aGlzLT5jb25kaXRpb24sICR0aGlzLT52YXJpYWRpYywgJGVudi0+ZnJhbWVzICk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGV2YWxDYWxsKCRlbnYsICRhcmdzID0gTlVMTCwgJGltcG9ydGFudCA9IE5VTEwpIHsKCgkJTGVzc19FbnZpcm9ubWVudDo6JG1peGluX3N0YWNrKys7CgoJCSRfYXJndW1lbnRzID0gYXJyYXkoKTsKCgkJaWYoICR0aGlzLT5mcmFtZXMgKXsKCQkJJG1peGluRnJhbWVzID0gYXJyYXlfbWVyZ2UoJHRoaXMtPmZyYW1lcywgJGVudi0+ZnJhbWVzKTsKCQl9ZWxzZXsKCQkJJG1peGluRnJhbWVzID0gJGVudi0+ZnJhbWVzOwoJCX0KCgkJJGZyYW1lID0gJHRoaXMtPmNvbXBpbGVQYXJhbXMoJGVudiwgJG1peGluRnJhbWVzLCAkYXJncywgJF9hcmd1bWVudHMpOwoKCQkkZXggPSBuZXcgTGVzc19UcmVlX0V4cHJlc3Npb24oJF9hcmd1bWVudHMpOwoJCWFycmF5X3Vuc2hpZnQoJGZyYW1lLT5ydWxlcywgbmV3IExlc3NfVHJlZV9SdWxlKCdAYXJndW1lbnRzJywgJGV4LT5jb21waWxlKCRlbnYpKSk7CgoKCQkkcnVsZXNldCA9IG5ldyBMZXNzX1RyZWVfUnVsZXNldChudWxsLCAkdGhpcy0+cnVsZXMpOwoJCSRydWxlc2V0LT5vcmlnaW5hbFJ1bGVzZXQgPSAkdGhpcy0+cnVsZXNldF9pZDsKCgoJCSRydWxlU2V0RW52ID0gbmV3IExlc3NfRW52aXJvbm1lbnQoKTsKCQkkcnVsZVNldEVudi0+ZnJhbWVzID0gYXJyYXlfbWVyZ2UoIGFycmF5KCR0aGlzLCAkZnJhbWUpLCAkbWl4aW5GcmFtZXMgKTsKCQkkcnVsZXNldCA9ICRydWxlc2V0LT5jb21waWxlKCAkcnVsZVNldEVudiApOwoKCQlpZiggJGltcG9ydGFudCApewoJCQkkcnVsZXNldCA9ICRydWxlc2V0LT5tYWtlSW1wb3J0YW50KCk7CgkJfQoKCQlMZXNzX0Vudmlyb25tZW50OjokbWl4aW5fc3RhY2stLTsKCgkJcmV0dXJuICRydWxlc2V0OwoJfQoKCglwdWJsaWMgZnVuY3Rpb24gbWF0Y2hDb25kaXRpb24oJGFyZ3MsICRlbnYpIHsKCgkJaWYoICEkdGhpcy0+Y29uZGl0aW9uICl7CgkJCXJldHVybiB0cnVlOwoJCX0KCgkJJGZyYW1lID0gJHRoaXMtPmNvbXBpbGVQYXJhbXMoJGVudiwgYXJyYXlfbWVyZ2UoJHRoaXMtPmZyYW1lcywkZW52LT5mcmFtZXMpLCAkYXJncyApOwoKCQkkY29tcGlsZV9lbnYgPSBuZXcgTGVzc19FbnZpcm9ubWVudCgpOwoJCSRjb21waWxlX2Vudi0+ZnJhbWVzID0gYXJyYXlfbWVyZ2UoCgkJCQlhcnJheSgkZnJhbWUpCQkvLyB0aGUgcGFyYW1ldGVyIHZhcmlhYmxlcwoJCQkJLCAkdGhpcy0+ZnJhbWVzCQkvLyB0aGUgcGFyZW50IG5hbWVzcGFjZS9taXhpbiBmcmFtZXMKCQkJCSwgJGVudi0+ZnJhbWVzCQkvLyB0aGUgY3VycmVudCBlbnZpcm9ubWVudCBmcmFtZXMKCQkJKTsKCgkJcmV0dXJuIChib29sKSR0aGlzLT5jb25kaXRpb24tPmNvbXBpbGUoJGNvbXBpbGVfZW52KTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gbWF0Y2hBcmdzKCRhcmdzLCAkZW52ID0gTlVMTCl7CgkJJGFyZ3NMZW5ndGggPSBjb3VudCgkYXJncyk7CgoJCWlmKCAhJHRoaXMtPnZhcmlhZGljICl7CgkJCWlmKCAkYXJnc0xlbmd0aCA8ICR0aGlzLT5yZXF1aXJlZCApewoJCQkJcmV0dXJuIGZhbHNlOwoJCQl9CgkJCWlmKCAkYXJnc0xlbmd0aCA+IGNvdW50KCR0aGlzLT5wYXJhbXMpICl7CgkJCQlyZXR1cm4gZmFsc2U7CgkJCX0KCQl9ZWxzZXsKCQkJaWYoICRhcmdzTGVuZ3RoIDwgKCR0aGlzLT5yZXF1aXJlZCAtIDEpKXsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCgkJJGxlbiA9IG1pbigkYXJnc0xlbmd0aCwgJHRoaXMtPmFyaXR5KTsKCgkJZm9yKCAkaSA9IDA7ICRpIDwgJGxlbjsgJGkrKyApewoJCQlpZiggIWlzc2V0KCR0aGlzLT5wYXJhbXNbJGldWyduYW1lJ10pICYmICFpc3NldCgkdGhpcy0+cGFyYW1zWyRpXVsndmFyaWFkaWMnXSkgKXsKCQkJCWlmKCAkYXJnc1skaV1bJ3ZhbHVlJ10tPmNvbXBpbGUoJGVudiktPnRvQ1NTKCkgIT0gJHRoaXMtPnBhcmFtc1skaV1bJ3ZhbHVlJ10tPmNvbXBpbGUoJGVudiktPnRvQ1NTKCkgKXsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiB0cnVlOwoJfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/NameValue.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBBIHNpbXBsZSBjc3MgbmFtZS12YWx1ZSBwYWlyCiAqIGV4OiB3aWR0aDoxMDBweDsKICoKICogSW4gYm9vdHN0cmFwLCB0aGVyZSBhcmUgYWJvdXQgNjAwLTEsMDAwIHNpbXBsZSBuYW1lLXZhbHVlIHBhaXJzIChkZXBlbmRpbmcgb24gaG93IGZvcmdpdmluZyB0aGUgbWF0Y2ggaXMpIC12cy0gNiwwMjAgZHluYW1pYyBydWxlcyAoTGVzc19UcmVlX1J1bGUpCiAqIFVzaW5nIHRoZSBuYW1lLXZhbHVlIG9iamVjdCBjYW4gc3BlZWQgdXAgYm9vdHN0cmFwIGNvbXBpbGF0aW9uIHNsaWdodGx5LCBidXQgaXQgYnJlYWtzIGNvbG9yIGtleXdvcmQgaW50ZXJwcmV0YXRpb246IGNvbG9yOnJlZCAtPiBjb2xvcjojRkYwMDAwOwogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9OYW1lVmFsdWUgZXh0ZW5kcyBMZXNzX1RyZWV7CgoJcHVibGljICRuYW1lOwoJcHVibGljICR2YWx1ZTsKCXB1YmxpYyAkaW5kZXg7CglwdWJsaWMgJGN1cnJlbnRGaWxlSW5mbzsKCXB1YmxpYyAkdHlwZSA9ICdOYW1lVmFsdWUnOwoKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbmFtZSwgJHZhbHVlID0gbnVsbCwgJGluZGV4ID0gbnVsbCwgJGN1cnJlbnRGaWxlSW5mbyA9IG51bGwgKXsKCQkkdGhpcy0+bmFtZSA9ICRuYW1lOwoJCSR0aGlzLT52YWx1ZSA9ICR2YWx1ZTsKCQkkdGhpcy0+aW5kZXggPSAkaW5kZXg7CgkJJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyA9ICRjdXJyZW50RmlsZUluZm87Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGdlbkNTUyggJG91dHB1dCApewoKCQkkb3V0cHV0LT5hZGQoCgkJCSR0aGlzLT5uYW1lCgkJCS4gTGVzc19FbnZpcm9ubWVudDo6JF9vdXRwdXRNYXBbJzogJ10KCQkJLiAkdGhpcy0+dmFsdWUKCQkJLiAoKChMZXNzX0Vudmlyb25tZW50OjokbGFzdFJ1bGUgJiYgTGVzc19QYXJzZXI6OiRvcHRpb25zWydjb21wcmVzcyddKSkgPyAiIiA6ICI7IikKCQkJLCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvLCAkdGhpcy0+aW5kZXgpOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlICgkZW52KXsKCQlyZXR1cm4gJHRoaXM7Cgl9Cn0K]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Negative.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBOZWdhdGl2ZQogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9OZWdhdGl2ZSBleHRlbmRzIExlc3NfVHJlZXsKCglwdWJsaWMgJHZhbHVlOwoJcHVibGljICR0eXBlID0gJ05lZ2F0aXZlJzsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG5vZGUpewoJCSR0aGlzLT52YWx1ZSA9ICRub2RlOwoJfQoKCS8vZnVuY3Rpb24gYWNjZXB0KCR2aXNpdG9yKSB7CgkvLwkkdGhpcy0+dmFsdWUgPSAkdmlzaXRvci0+dmlzaXQoJHRoaXMtPnZhbHVlKTsKCS8vfQoKICAgIC8qKgogICAgICogQHNlZSBMZXNzX1RyZWU6OmdlbkNTUwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuQ1NTKCAkb3V0cHV0ICl7CgkJJG91dHB1dC0+YWRkKCAnLScgKTsKCQkkdGhpcy0+dmFsdWUtPmdlbkNTUyggJG91dHB1dCApOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCRlbnYpIHsKCQlpZiggTGVzc19FbnZpcm9ubWVudDo6aXNNYXRoT24oKSApewoJCQkkcmV0ID0gbmV3IExlc3NfVHJlZV9PcGVyYXRpb24oJyonLCBhcnJheSggbmV3IExlc3NfVHJlZV9EaW1lbnNpb24oLTEpLCAkdGhpcy0+dmFsdWUgKSApOwoJCQlyZXR1cm4gJHJldC0+Y29tcGlsZSgkZW52KTsKCQl9CgkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfTmVnYXRpdmUoICR0aGlzLT52YWx1ZS0+Y29tcGlsZSgkZW52KSApOwoJfQp9]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Operation.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBPcGVyYXRpb24KICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfT3BlcmF0aW9uIGV4dGVuZHMgTGVzc19UcmVlewoKCXB1YmxpYyAkb3A7CglwdWJsaWMgJG9wZXJhbmRzOwoJcHVibGljICRpc1NwYWNlZDsKCXB1YmxpYyAkdHlwZSA9ICdPcGVyYXRpb24nOwoKCS8qKgoJICogQHBhcmFtIHN0cmluZyAkb3AKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRvcCwgJG9wZXJhbmRzLCAkaXNTcGFjZWQgPSBmYWxzZSl7CgkJJHRoaXMtPm9wID0gdHJpbSgkb3ApOwoJCSR0aGlzLT5vcGVyYW5kcyA9ICRvcGVyYW5kczsKCQkkdGhpcy0+aXNTcGFjZWQgPSAkaXNTcGFjZWQ7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjY2VwdCgkdmlzaXRvcikgewoJCSR0aGlzLT5vcGVyYW5kcyA9ICR2aXNpdG9yLT52aXNpdEFycmF5KCR0aGlzLT5vcGVyYW5kcyk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGNvbXBpbGUoJGVudil7CgkJJGEgPSAkdGhpcy0+b3BlcmFuZHNbMF0tPmNvbXBpbGUoJGVudik7CgkJJGIgPSAkdGhpcy0+b3BlcmFuZHNbMV0tPmNvbXBpbGUoJGVudik7CgoKCQlpZiggTGVzc19FbnZpcm9ubWVudDo6aXNNYXRoT24oKSApewoKCQkJaWYoICRhIGluc3RhbmNlb2YgTGVzc19UcmVlX0RpbWVuc2lvbiAmJiAkYiBpbnN0YW5jZW9mIExlc3NfVHJlZV9Db2xvciApewoJCQkJJGEgPSAkYS0+dG9Db2xvcigpOwoKCQkJfWVsc2VpZiggJGIgaW5zdGFuY2VvZiBMZXNzX1RyZWVfRGltZW5zaW9uICYmICRhIGluc3RhbmNlb2YgTGVzc19UcmVlX0NvbG9yICl7CgkJCQkkYiA9ICRiLT50b0NvbG9yKCk7CgoJCQl9CgoJCQlpZiggIW1ldGhvZF9leGlzdHMoJGEsJ29wZXJhdGUnKSApewoJCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCJPcGVyYXRpb24gb24gYW4gaW52YWxpZCB0eXBlIik7CgkJCX0KCgkJCXJldHVybiAkYS0+b3BlcmF0ZSggJHRoaXMtPm9wLCAkYik7CgkJfQoKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9PcGVyYXRpb24oJHRoaXMtPm9wLCBhcnJheSgkYSwgJGIpLCAkdGhpcy0+aXNTcGFjZWQgKTsKCX0KCgogICAgLyoqCiAgICAgKiBAc2VlIExlc3NfVHJlZTo6Z2VuQ1NTCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5DU1MoICRvdXRwdXQgKXsKCQkkdGhpcy0+b3BlcmFuZHNbMF0tPmdlbkNTUyggJG91dHB1dCApOwoJCWlmKCAkdGhpcy0+aXNTcGFjZWQgKXsKCQkJJG91dHB1dC0+YWRkKCAiICIgKTsKCQl9CgkJJG91dHB1dC0+YWRkKCAkdGhpcy0+b3AgKTsKCQlpZiggJHRoaXMtPmlzU3BhY2VkICl7CgkJCSRvdXRwdXQtPmFkZCggJyAnICk7CgkJfQoJCSR0aGlzLT5vcGVyYW5kc1sxXS0+Z2VuQ1NTKCAkb3V0cHV0ICk7Cgl9Cgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Paren.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBQYXJlbgogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9QYXJlbiBleHRlbmRzIExlc3NfVHJlZXsKCglwdWJsaWMgJHZhbHVlOwoJcHVibGljICR0eXBlID0gJ1BhcmVuJzsKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHZhbHVlKSB7CgkJJHRoaXMtPnZhbHVlID0gJHZhbHVlOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBhY2NlcHQoJHZpc2l0b3IpewoJCSR0aGlzLT52YWx1ZSA9ICR2aXNpdG9yLT52aXNpdE9iaigkdGhpcy0+dmFsdWUpOwoJfQoKICAgIC8qKgogICAgICogQHNlZSBMZXNzX1RyZWU6OmdlbkNTUwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuQ1NTKCAkb3V0cHV0ICl7CgkJJG91dHB1dC0+YWRkKCAnKCcgKTsKCQkkdGhpcy0+dmFsdWUtPmdlbkNTUyggJG91dHB1dCApOwoJCSRvdXRwdXQtPmFkZCggJyknICk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGNvbXBpbGUoJGVudikgewoJCXJldHVybiBuZXcgTGVzc19UcmVlX1BhcmVuKCR0aGlzLT52YWx1ZS0+Y29tcGlsZSgkZW52KSk7Cgl9Cgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Quoted.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBRdW90ZWQKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfUXVvdGVkIGV4dGVuZHMgTGVzc19UcmVlewoJcHVibGljICRlc2NhcGVkOwoJcHVibGljICR2YWx1ZTsKCXB1YmxpYyAkcXVvdGU7CglwdWJsaWMgJGluZGV4OwoJcHVibGljICRjdXJyZW50RmlsZUluZm87CglwdWJsaWMgJHR5cGUgPSAnUXVvdGVkJzsKCgkvKioKCSAqIEBwYXJhbSBzdHJpbmcgJHN0cgoJICovCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHN0ciwgJGNvbnRlbnQgPSAnJywgJGVzY2FwZWQgPSBmYWxzZSwgJGluZGV4ID0gZmFsc2UsICRjdXJyZW50RmlsZUluZm8gPSBudWxsICl7CgkJJHRoaXMtPmVzY2FwZWQgPSAkZXNjYXBlZDsKCQkkdGhpcy0+dmFsdWUgPSAkY29udGVudDsKCQlpZiggJHN0ciApewoJCQkkdGhpcy0+cXVvdGUgPSAkc3RyWzBdOwoJCX0KCQkkdGhpcy0+aW5kZXggPSAkaW5kZXg7CgkJJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyA9ICRjdXJyZW50RmlsZUluZm87Cgl9CgogICAgLyoqCiAgICAgKiBAc2VlIExlc3NfVHJlZTo6Z2VuQ1NTCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5DU1MoICRvdXRwdXQgKXsKCQlpZiggISR0aGlzLT5lc2NhcGVkICl7CgkJCSRvdXRwdXQtPmFkZCggJHRoaXMtPnF1b3RlLCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvLCAkdGhpcy0+aW5kZXggKTsKICAgICAgICB9CiAgICAgICAgJG91dHB1dC0+YWRkKCAkdGhpcy0+dmFsdWUgKTsKICAgICAgICBpZiggISR0aGlzLT5lc2NhcGVkICl7CgkJCSRvdXRwdXQtPmFkZCggJHRoaXMtPnF1b3RlICk7CiAgICAgICAgfQogICAgfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCRlbnYpewoKCQkkdmFsdWUgPSAkdGhpcy0+dmFsdWU7CgkJaWYoIHByZWdfbWF0Y2hfYWxsKCcvYChbXmBdKylgLycsICR0aGlzLT52YWx1ZSwgJG1hdGNoZXMpICl7CgkJCWZvcmVhY2goJG1hdGNoZXMgYXMgJGkgPT4gJG1hdGNoKXsKCQkJCSRqcyA9IG5ldyBMZXNzX1RyZWVfSmF2YVNjcmlwdCgkbWF0Y2hlc1sxXSwgJHRoaXMtPmluZGV4LCB0cnVlKTsKCQkJCSRqcyA9ICRqcy0+Y29tcGlsZSgpLT52YWx1ZTsKCQkJCSR2YWx1ZSA9IHN0cl9yZXBsYWNlKCRtYXRjaGVzWzBdWyRpXSwgJGpzLCAkdmFsdWUpOwoJCQl9CgkJfQoKCQlpZiggcHJlZ19tYXRjaF9hbGwoJy9AXHsoW1x3LV0rKVx9LycsJHZhbHVlLCRtYXRjaGVzKSApewoJCQlmb3JlYWNoKCRtYXRjaGVzWzFdIGFzICRpID0+ICRtYXRjaCl7CgkJCQkkdiA9IG5ldyBMZXNzX1RyZWVfVmFyaWFibGUoJ0AnIC4gJG1hdGNoLCAkdGhpcy0+aW5kZXgsICR0aGlzLT5jdXJyZW50RmlsZUluZm8gKTsKCQkJCSR2ID0gJHYtPmNvbXBpbGUoJGVudik7CgkJCQkkdiA9ICgkdiBpbnN0YW5jZW9mIExlc3NfVHJlZV9RdW90ZWQpID8gJHYtPnZhbHVlIDogJHYtPnRvQ1NTKCk7CgkJCQkkdmFsdWUgPSBzdHJfcmVwbGFjZSgkbWF0Y2hlc1swXVskaV0sICR2LCAkdmFsdWUpOwoJCQl9CgkJfQoKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9RdW90ZWQoJHRoaXMtPnF1b3RlIC4gJHZhbHVlIC4gJHRoaXMtPnF1b3RlLCAkdmFsdWUsICR0aGlzLT5lc2NhcGVkLCAkdGhpcy0+aW5kZXgsICR0aGlzLT5jdXJyZW50RmlsZUluZm8pOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBjb21wYXJlKCR4KSB7CgoJCWlmKCAhTGVzc19QYXJzZXI6OmlzX21ldGhvZCgkeCwgJ3RvQ1NTJykgKXsKCQkJcmV0dXJuIC0xOwoJCX0KCgkJJGxlZnQgPSAkdGhpcy0+dG9DU1MoKTsKCQkkcmlnaHQgPSAkeC0+dG9DU1MoKTsKCgkJaWYgKCRsZWZ0ID09PSAkcmlnaHQpIHsKCQkJcmV0dXJuIDA7CgkJfQoKCQlyZXR1cm4gJGxlZnQgPCAkcmlnaHQgPyAtMSA6IDE7Cgl9Cn0K]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Rule.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBSdWxlCiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdHJlZQogKi8KY2xhc3MgTGVzc19UcmVlX1J1bGUgZXh0ZW5kcyBMZXNzX1RyZWV7CgoJcHVibGljICRuYW1lOwoJcHVibGljICR2YWx1ZTsKCXB1YmxpYyAkaW1wb3J0YW50OwoJcHVibGljICRtZXJnZTsKCXB1YmxpYyAkaW5kZXg7CglwdWJsaWMgJGlubGluZTsKCXB1YmxpYyAkdmFyaWFibGU7CglwdWJsaWMgJGN1cnJlbnRGaWxlSW5mbzsKCXB1YmxpYyAkdHlwZSA9ICdSdWxlJzsKCgkvKioKCSAqIEBwYXJhbSBzdHJpbmcgJGltcG9ydGFudAoJICovCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJG5hbWUsICR2YWx1ZSA9IG51bGwsICRpbXBvcnRhbnQgPSBudWxsLCAkbWVyZ2UgPSBudWxsLCAkaW5kZXggPSBudWxsLCAkY3VycmVudEZpbGVJbmZvID0gbnVsbCwgICRpbmxpbmUgPSBmYWxzZSl7CgkJJHRoaXMtPm5hbWUgPSAkbmFtZTsKCQkkdGhpcy0+dmFsdWUgPSAoJHZhbHVlIGluc3RhbmNlb2YgTGVzc19UcmVlX1ZhbHVlIHx8ICR2YWx1ZSBpbnN0YW5jZW9mIExlc3NfVHJlZV9SdWxlc2V0KSA/ICR2YWx1ZSA6IG5ldyBMZXNzX1RyZWVfVmFsdWUoYXJyYXkoJHZhbHVlKSk7CgkJJHRoaXMtPmltcG9ydGFudCA9ICRpbXBvcnRhbnQgPyAnICcgLiB0cmltKCRpbXBvcnRhbnQpIDogJyc7CgkJJHRoaXMtPm1lcmdlID0gJG1lcmdlOwoJCSR0aGlzLT5pbmRleCA9ICRpbmRleDsKCQkkdGhpcy0+Y3VycmVudEZpbGVJbmZvID0gJGN1cnJlbnRGaWxlSW5mbzsKCQkkdGhpcy0+aW5saW5lID0gJGlubGluZTsKCQkkdGhpcy0+dmFyaWFibGUgPSAoIGlzX3N0cmluZygkbmFtZSkgJiYgJG5hbWVbMF0gPT09ICdAJyk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjY2VwdCgkdmlzaXRvcikgewoJCSR0aGlzLT52YWx1ZSA9ICR2aXNpdG9yLT52aXNpdE9iaiggJHRoaXMtPnZhbHVlICk7Cgl9CgogICAgLyoqCiAgICAgKiBAc2VlIExlc3NfVHJlZTo6Z2VuQ1NTCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5DU1MoICRvdXRwdXQgKXsKCgkJJG91dHB1dC0+YWRkKCAkdGhpcy0+bmFtZSAuIExlc3NfRW52aXJvbm1lbnQ6OiRfb3V0cHV0TWFwWyc6ICddLCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvLCAkdGhpcy0+aW5kZXgpOwoJCXRyeXsKCQkJJHRoaXMtPnZhbHVlLT5nZW5DU1MoICRvdXRwdXQpOwoKCQl9Y2F0Y2goIExlc3NfRXhjZXB0aW9uX1BhcnNlciAkZSApewoJCQkkZS0+aW5kZXggPSAkdGhpcy0+aW5kZXg7CgkJCSRlLT5jdXJyZW50RmlsZSA9ICR0aGlzLT5jdXJyZW50RmlsZUluZm87CgkJCXRocm93ICRlOwoJCX0KCQkkb3V0cHV0LT5hZGQoICR0aGlzLT5pbXBvcnRhbnQgLiAoKCR0aGlzLT5pbmxpbmUgfHwgKExlc3NfRW52aXJvbm1lbnQ6OiRsYXN0UnVsZSAmJiBMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ2NvbXByZXNzJ10pKSA/ICIiIDogIjsiKSwgJHRoaXMtPmN1cnJlbnRGaWxlSW5mbywgJHRoaXMtPmluZGV4KTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gY29tcGlsZSAoJGVudil7CgoJCSRuYW1lID0gJHRoaXMtPm5hbWU7CgkJaWYoIGlzX2FycmF5KCRuYW1lKSApewoJCQkvLyBleHBhbmQgJ3ByaW1pdGl2ZScgbmFtZSBkaXJlY3RseSB0byBnZXQKCQkJLy8gdGhpbmdzIGZhc3RlciAofjEwJSBmb3IgYmVuY2htYXJrLmxlc3MpOgoJCQlpZiggY291bnQoJG5hbWUpID09PSAxICYmICRuYW1lWzBdIGluc3RhbmNlb2YgTGVzc19UcmVlX0tleXdvcmQgKXsKCQkJCSRuYW1lID0gJG5hbWVbMF0tPnZhbHVlOwoJCQl9ZWxzZXsKCQkJCSRuYW1lID0gJHRoaXMtPkNvbXBpbGVOYW1lKCRlbnYsJG5hbWUpOwoJCQl9CgkJfQoKCQkkc3RyaWN0TWF0aEJ5cGFzcyA9IExlc3NfUGFyc2VyOjokb3B0aW9uc1snc3RyaWN0TWF0aCddOwoJCWlmKCAkbmFtZSA9PT0gImZvbnQiICYmICFMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ3N0cmljdE1hdGgnXSApewoJCQlMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ3N0cmljdE1hdGgnXSA9IHRydWU7CgkJfQoKCQl0cnkgewoJCQkkZXZhbGRWYWx1ZSA9ICR0aGlzLT52YWx1ZS0+Y29tcGlsZSgkZW52KTsKCgkJCWlmKCAhJHRoaXMtPnZhcmlhYmxlICYmICRldmFsZFZhbHVlLT50eXBlID09PSAiRGV0YWNoZWRSdWxlc2V0IikgewoJCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCJSdWxlc2V0cyBjYW5ub3QgYmUgZXZhbHVhdGVkIG9uIGEgcHJvcGVydHkuIiwgbnVsbCwgJHRoaXMtPmluZGV4LCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvKTsKCQkJfQoKCQkJaWYoIExlc3NfRW52aXJvbm1lbnQ6OiRtaXhpbl9zdGFjayApewoJCQkJJHJldHVybiA9IG5ldyBMZXNzX1RyZWVfUnVsZSgkbmFtZSwgJGV2YWxkVmFsdWUsICR0aGlzLT5pbXBvcnRhbnQsICR0aGlzLT5tZXJnZSwgJHRoaXMtPmluZGV4LCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvLCAkdGhpcy0+aW5saW5lKTsKCQkJfWVsc2V7CgkJCQkkdGhpcy0+bmFtZSA9ICRuYW1lOwoJCQkJJHRoaXMtPnZhbHVlID0gJGV2YWxkVmFsdWU7CgkJCQkkcmV0dXJuID0gJHRoaXM7CgkJCX0KCgkJfWNhdGNoKCBMZXNzX0V4Y2VwdGlvbl9QYXJzZXIgJGUgKXsKCQkJaWYoICFpc19udW1lcmljKCRlLT5pbmRleCkgKXsKCQkJCSRlLT5pbmRleCA9ICR0aGlzLT5pbmRleDsKCQkJCSRlLT5jdXJyZW50RmlsZSA9ICR0aGlzLT5jdXJyZW50RmlsZUluZm87CgkJCX0KCQkJdGhyb3cgJGU7CgkJfQoKCQlMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ3N0cmljdE1hdGgnXSA9ICRzdHJpY3RNYXRoQnlwYXNzOwoKCQlyZXR1cm4gJHJldHVybjsKCX0KCgogICAgcHVibGljIGZ1bmN0aW9uIENvbXBpbGVOYW1lKCAkZW52LCAkbmFtZSApewoJCSRvdXRwdXQgPSBuZXcgTGVzc19PdXRwdXQoKTsKCQlmb3JlYWNoKCRuYW1lIGFzICRuKXsKCQkJJG4tPmNvbXBpbGUoJGVudiktPmdlbkNTUygkb3V0cHV0KTsKCQl9CgkJcmV0dXJuICRvdXRwdXQtPnRvU3RyaW5nKCk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIG1ha2VJbXBvcnRhbnQoKXsKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9SdWxlKCR0aGlzLT5uYW1lLCAkdGhpcy0+dmFsdWUsICchaW1wb3J0YW50JywgJHRoaXMtPm1lcmdlLCAkdGhpcy0+aW5kZXgsICR0aGlzLT5jdXJyZW50RmlsZUluZm8sICR0aGlzLT5pbmxpbmUpOwoJfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Ruleset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBSdWxlc2V0CiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdHJlZQogKi8KY2xhc3MgTGVzc19UcmVlX1J1bGVzZXQgZXh0ZW5kcyBMZXNzX1RyZWV7CgoJcHJvdGVjdGVkICRsb29rdXBzOwoJcHVibGljICRfdmFyaWFibGVzOwoJcHVibGljICRfcnVsZXNldHM7CgoJcHVibGljICRzdHJpY3RJbXBvcnRzOwoKCXB1YmxpYyAkc2VsZWN0b3JzOwoJcHVibGljICRydWxlczsKCXB1YmxpYyAkcm9vdDsKCXB1YmxpYyAkYWxsb3dJbXBvcnRzOwoJcHVibGljICRwYXRoczsKCXB1YmxpYyAkZmlyc3RSb290OwoJcHVibGljICR0eXBlID0gJ1J1bGVzZXQnOwoJcHVibGljICRtdWx0aU1lZGlhOwoJcHVibGljICRhbGxFeHRlbmRzOwoKCXB1YmxpYyAkcnVsZXNldF9pZDsKCXB1YmxpYyAkb3JpZ2luYWxSdWxlc2V0OwoKCXB1YmxpYyAkZmlyc3Rfb2VsZW1lbnRzOwoKCXB1YmxpYyBmdW5jdGlvbiBTZXRSdWxlc2V0SW5kZXgoKXsKCQkkdGhpcy0+cnVsZXNldF9pZCA9IExlc3NfUGFyc2VyOjokbmV4dF9pZCsrOwoJCSR0aGlzLT5vcmlnaW5hbFJ1bGVzZXQgPSAkdGhpcy0+cnVsZXNldF9pZDsKCgkJaWYoICR0aGlzLT5zZWxlY3RvcnMgKXsKCQkJZm9yZWFjaCgkdGhpcy0+c2VsZWN0b3JzIGFzICRzZWwpewoJCQkJaWYoICRzZWwtPl9vZWxlbWVudHMgKXsKCQkJCQkkdGhpcy0+Zmlyc3Rfb2VsZW1lbnRzWyRzZWwtPl9vZWxlbWVudHNbMF1dID0gdHJ1ZTsKCQkJCX0KCQkJfQoJCX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHNlbGVjdG9ycywgJHJ1bGVzLCAkc3RyaWN0SW1wb3J0cyA9IG51bGwpewoJCSR0aGlzLT5zZWxlY3RvcnMgPSAkc2VsZWN0b3JzOwoJCSR0aGlzLT5ydWxlcyA9ICRydWxlczsKCQkkdGhpcy0+bG9va3VwcyA9IGFycmF5KCk7CgkJJHRoaXMtPnN0cmljdEltcG9ydHMgPSAkc3RyaWN0SW1wb3J0czsKCQkkdGhpcy0+U2V0UnVsZXNldEluZGV4KCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGFjY2VwdCggJHZpc2l0b3IgKXsKCQlpZiggJHRoaXMtPnBhdGhzICl7CgkJCSRwYXRoc19sZW4gPSBjb3VudCgkdGhpcy0+cGF0aHMpOwoJCQlmb3IoJGkgPSAwLCRwYXRoc19sZW47ICRpIDwgJHBhdGhzX2xlbjsgJGkrKyApewoJCQkJJHRoaXMtPnBhdGhzWyRpXSA9ICR2aXNpdG9yLT52aXNpdEFycmF5KCR0aGlzLT5wYXRoc1skaV0pOwoJCQl9CgkJfWVsc2VpZiggJHRoaXMtPnNlbGVjdG9ycyApewoJCQkkdGhpcy0+c2VsZWN0b3JzID0gJHZpc2l0b3ItPnZpc2l0QXJyYXkoJHRoaXMtPnNlbGVjdG9ycyk7CgkJfQoKCQlpZiggJHRoaXMtPnJ1bGVzICl7CgkJCSR0aGlzLT5ydWxlcyA9ICR2aXNpdG9yLT52aXNpdEFycmF5KCR0aGlzLT5ydWxlcyk7CgkJfQoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCRlbnYpewoKCQkkcnVsZXNldCA9ICR0aGlzLT5QcmVwYXJlUnVsZXNldCgkZW52KTsKCgoJCS8vIFN0b3JlIHRoZSBmcmFtZXMgYXJvdW5kIG1peGluIGRlZmluaXRpb25zLAoJCS8vIHNvIHRoZXkgY2FuIGJlIGV2YWx1YXRlZCBsaWtlIGNsb3N1cmVzIHdoZW4gdGhlIHRpbWUgY29tZXMuCgkJJHJzUnVsZUNudCA9IGNvdW50KCRydWxlc2V0LT5ydWxlcyk7CgkJZm9yKCAkaSA9IDA7ICRpIDwgJHJzUnVsZUNudDsgJGkrKyApewoJCQlpZiggJHJ1bGVzZXQtPnJ1bGVzWyRpXSBpbnN0YW5jZW9mIExlc3NfVHJlZV9NaXhpbl9EZWZpbml0aW9uIHx8ICRydWxlc2V0LT5ydWxlc1skaV0gaW5zdGFuY2VvZiBMZXNzX1RyZWVfRGV0YWNoZWRSdWxlc2V0ICl7CgkJCQkkcnVsZXNldC0+cnVsZXNbJGldID0gJHJ1bGVzZXQtPnJ1bGVzWyRpXS0+Y29tcGlsZSgkZW52KTsKCQkJfQoJCX0KCgkJJG1lZGlhQmxvY2tDb3VudCA9IDA7CgkJaWYoICRlbnYgaW5zdGFuY2VvZiBMZXNzX0Vudmlyb25tZW50ICl7CgkJCSRtZWRpYUJsb2NrQ291bnQgPSBjb3VudCgkZW52LT5tZWRpYUJsb2Nrcyk7CgkJfQoKCQkvLyBFdmFsdWF0ZSBtaXhpbiBjYWxscy4KCQkkdGhpcy0+RXZhbE1peGluQ2FsbHMoICRydWxlc2V0LCAkZW52LCAkcnNSdWxlQ250ICk7CgoKCQkvLyBFdmFsdWF0ZSBldmVyeXRoaW5nIGVsc2UKCQlmb3IoICRpPTA7ICRpPCRyc1J1bGVDbnQ7ICRpKysgKXsKCQkJaWYoISAoJHJ1bGVzZXQtPnJ1bGVzWyRpXSBpbnN0YW5jZW9mIExlc3NfVHJlZV9NaXhpbl9EZWZpbml0aW9uIHx8ICRydWxlc2V0LT5ydWxlc1skaV0gaW5zdGFuY2VvZiBMZXNzX1RyZWVfRGV0YWNoZWRSdWxlc2V0KSApewoJCQkJJHJ1bGVzZXQtPnJ1bGVzWyRpXSA9ICRydWxlc2V0LT5ydWxlc1skaV0tPmNvbXBpbGUoJGVudik7CgkJCX0KCQl9CgogICAgICAgIC8vIEV2YWx1YXRlIGV2ZXJ5dGhpbmcgZWxzZQoJCWZvciggJGk9MDsgJGk8JHJzUnVsZUNudDsgJGkrKyApewoJCQkkcnVsZSA9ICRydWxlc2V0LT5ydWxlc1skaV07CgogICAgICAgICAgICAvLyBmb3IgcnVsZXNldHMsIGNoZWNrIGlmIGl0IGlzIGEgY3NzIGd1YXJkIGFuZCBjYW4gYmUgcmVtb3ZlZAoJCQlpZiggJHJ1bGUgaW5zdGFuY2VvZiBMZXNzX1RyZWVfUnVsZXNldCAmJiAkcnVsZS0+c2VsZWN0b3JzICYmIGNvdW50KCRydWxlLT5zZWxlY3RvcnMpID09PSAxICl7CgogICAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgaXQgY2FuIGJlIGZvbGRlZCBpbiAoZS5nLiAmIHdoZXJlKQoJCQkJaWYoICRydWxlLT5zZWxlY3RvcnNbMF0tPmlzSnVzdFBhcmVudFNlbGVjdG9yKCkgKXsKCQkJCQlhcnJheV9zcGxpY2UoJHJ1bGVzZXQtPnJ1bGVzLCRpLS0sMSk7CgkJCQkJJHJzUnVsZUNudC0tOwoKCQkJCQlmb3IoJGogPSAwOyAkaiA8IGNvdW50KCRydWxlLT5ydWxlcyk7ICRqKysgKXsKCQkJCQkJJHN1YlJ1bGUgPSAkcnVsZS0+cnVsZXNbJGpdOwoJCQkJCQlpZiggISgkc3ViUnVsZSBpbnN0YW5jZW9mIExlc3NfVHJlZV9SdWxlKSB8fCAhJHN1YlJ1bGUtPnZhcmlhYmxlICl7CgkJCQkJCQlhcnJheV9zcGxpY2UoJHJ1bGVzZXQtPnJ1bGVzLCArKyRpLCAwLCBhcnJheSgkc3ViUnVsZSkpOwoJCQkJCQkJJHJzUnVsZUNudCsrOwoJCQkJCQl9CgkJCQkJfQoKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KCgoJCS8vIFBvcCB0aGUgc3RhY2sKCQkkZW52LT5zaGlmdEZyYW1lKCk7CgoJCWlmICgkbWVkaWFCbG9ja0NvdW50KSB7CgkJCSRsZW4gPSBjb3VudCgkZW52LT5tZWRpYUJsb2Nrcyk7CgkJCWZvcigkaSA9ICRtZWRpYUJsb2NrQ291bnQ7ICRpIDwgJGxlbjsgJGkrKyApewoJCQkJJGVudi0+bWVkaWFCbG9ja3NbJGldLT5idWJibGVTZWxlY3RvcnMoJHJ1bGVzZXQtPnNlbGVjdG9ycyk7CgkJCX0KCQl9CgoJCXJldHVybiAkcnVsZXNldDsKCX0KCgkvKioKCSAqIENvbXBpbGUgTGVzc19UcmVlX01peGluX0NhbGwgb2JqZWN0cwoJICoKCSAqIEBwYXJhbSBMZXNzX1RyZWVfUnVsZXNldCAkcnVsZXNldAoJICogQHBhcmFtIGludGVnZXIgJHJzUnVsZUNudAoJICovCglwcml2YXRlIGZ1bmN0aW9uIEV2YWxNaXhpbkNhbGxzKCAkcnVsZXNldCwgJGVudiwgJiRyc1J1bGVDbnQgKXsKCQlmb3IoJGk9MDsgJGkgPCAkcnNSdWxlQ250OyAkaSsrKXsKCQkJJHJ1bGUgPSAkcnVsZXNldC0+cnVsZXNbJGldOwoKCQkJaWYoICRydWxlIGluc3RhbmNlb2YgTGVzc19UcmVlX01peGluX0NhbGwgKXsKCQkJCSRydWxlID0gJHJ1bGUtPmNvbXBpbGUoJGVudik7CgoJCQkJJHRlbXAgPSBhcnJheSgpOwoJCQkJZm9yZWFjaCgkcnVsZSBhcyAkcil7CgkJCQkJaWYoICgkciBpbnN0YW5jZW9mIExlc3NfVHJlZV9SdWxlKSAmJiAkci0+dmFyaWFibGUgKXsKCQkJCQkJLy8gZG8gbm90IHBvbGx1dGUgdGhlIHNjb3BlIGlmIHRoZSB2YXJpYWJsZSBpcwoJCQkJCQkvLyBhbHJlYWR5IHRoZXJlLiBjb25zaWRlciByZXR1cm5pbmcgZmFsc2UgaGVyZQoJCQkJCQkvLyBidXQgd2UgbmVlZCBhIHdheSB0byAicmV0dXJuIiB2YXJpYWJsZSBmcm9tIG1peGlucwoJCQkJCQlpZiggISRydWxlc2V0LT52YXJpYWJsZSgkci0+bmFtZSkgKXsKCQkJCQkJCSR0ZW1wW10gPSAkcjsKCQkJCQkJfQoJCQkJCX1lbHNlewoJCQkJCQkkdGVtcFtdID0gJHI7CgkJCQkJfQoJCQkJfQoJCQkJJHRlbXBfY291bnQgPSBjb3VudCgkdGVtcCktMTsKCQkJCWFycmF5X3NwbGljZSgkcnVsZXNldC0+cnVsZXMsICRpLCAxLCAkdGVtcCk7CgkJCQkkcnNSdWxlQ250ICs9ICR0ZW1wX2NvdW50OwoJCQkJJGkgKz0gJHRlbXBfY291bnQ7CgkJCQkkcnVsZXNldC0+cmVzZXRDYWNoZSgpOwoKCQkJfWVsc2VpZiggJHJ1bGUgaW5zdGFuY2VvZiBMZXNzX1RyZWVfUnVsZXNldENhbGwgKXsKCgkJCQkkcnVsZSA9ICRydWxlLT5jb21waWxlKCRlbnYpOwoJCQkJJHJ1bGVzID0gYXJyYXkoKTsKCQkJCWZvcmVhY2goJHJ1bGUtPnJ1bGVzIGFzICRyKXsKCQkJCQlpZiggKCRyIGluc3RhbmNlb2YgTGVzc19UcmVlX1J1bGUpICYmICRyLT52YXJpYWJsZSApewoJCQkJCQljb250aW51ZTsKCQkJCQl9CgkJCQkJJHJ1bGVzW10gPSAkcjsKCQkJCX0KCgkJCQlhcnJheV9zcGxpY2UoJHJ1bGVzZXQtPnJ1bGVzLCAkaSwgMSwgJHJ1bGVzKTsKCQkJCSR0ZW1wX2NvdW50ID0gY291bnQoJHJ1bGVzKTsKCQkJCSRyc1J1bGVDbnQgKz0gJHRlbXBfY291bnQgLSAxOwoJCQkJJGkgKz0gJHRlbXBfY291bnQtMTsKCQkJCSRydWxlc2V0LT5yZXNldENhY2hlKCk7CgkJCX0KCgkJfQoJfQoKCgkvKioKCSAqIENvbXBpbGUgdGhlIHNlbGVjdG9ycyBhbmQgY3JlYXRlIGEgbmV3IHJ1bGVzZXQgb2JqZWN0IGZvciB0aGUgY29tcGlsZSgpIG1ldGhvZAoJICoKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBQcmVwYXJlUnVsZXNldCgkZW52KXsKCgkJJGhhc09uZVBhc3NpbmdTZWxlY3RvciA9IGZhbHNlOwoJCSRzZWxlY3RvcnMgPSBhcnJheSgpOwoJCWlmKCAkdGhpcy0+c2VsZWN0b3JzICl7CgkJCUxlc3NfVHJlZV9EZWZhdWx0RnVuYzo6ZXJyb3IoIml0IGlzIGN1cnJlbnRseSBvbmx5IGFsbG93ZWQgaW4gcGFyYW1ldHJpYyBtaXhpbiBndWFyZHMsIik7CgoJCQlmb3JlYWNoKCR0aGlzLT5zZWxlY3RvcnMgYXMgJHMpewoJCQkJJHNlbGVjdG9yID0gJHMtPmNvbXBpbGUoJGVudik7CgkJCQkkc2VsZWN0b3JzW10gPSAkc2VsZWN0b3I7CgkJCQlpZiggJHNlbGVjdG9yLT5ldmFsZENvbmRpdGlvbiApewoJCQkJCSRoYXNPbmVQYXNzaW5nU2VsZWN0b3IgPSB0cnVlOwoJCQkJfQoJCQl9CgoJCQlMZXNzX1RyZWVfRGVmYXVsdEZ1bmM6OnJlc2V0KCk7CgkJfSBlbHNlIHsKCQkJJGhhc09uZVBhc3NpbmdTZWxlY3RvciA9IHRydWU7CgkJfQoKCQlpZiggJHRoaXMtPnJ1bGVzICYmICRoYXNPbmVQYXNzaW5nU2VsZWN0b3IgKXsKCQkJJHJ1bGVzID0gJHRoaXMtPnJ1bGVzOwoJCX1lbHNlewoJCQkkcnVsZXMgPSBhcnJheSgpOwoJCX0KCgkJJHJ1bGVzZXQgPSBuZXcgTGVzc19UcmVlX1J1bGVzZXQoJHNlbGVjdG9ycywgJHJ1bGVzLCAkdGhpcy0+c3RyaWN0SW1wb3J0cyk7CgoJCSRydWxlc2V0LT5vcmlnaW5hbFJ1bGVzZXQgPSAkdGhpcy0+cnVsZXNldF9pZDsKCgkJJHJ1bGVzZXQtPnJvb3QgPSAkdGhpcy0+cm9vdDsKCQkkcnVsZXNldC0+Zmlyc3RSb290ID0gJHRoaXMtPmZpcnN0Um9vdDsKCQkkcnVsZXNldC0+YWxsb3dJbXBvcnRzID0gJHRoaXMtPmFsbG93SW1wb3J0czsKCgoJCS8vIHB1c2ggdGhlIGN1cnJlbnQgcnVsZXNldCB0byB0aGUgZnJhbWVzIHN0YWNrCgkJJGVudi0+dW5zaGlmdEZyYW1lKCRydWxlc2V0KTsKCgoJCS8vIEV2YWx1YXRlIGltcG9ydHMKCQlpZiggJHJ1bGVzZXQtPnJvb3QgfHwgJHJ1bGVzZXQtPmFsbG93SW1wb3J0cyB8fCAhJHJ1bGVzZXQtPnN0cmljdEltcG9ydHMgKXsKCQkJJHJ1bGVzZXQtPmV2YWxJbXBvcnRzKCRlbnYpOwoJCX0KCgkJcmV0dXJuICRydWxlc2V0OwoJfQoKCWZ1bmN0aW9uIGV2YWxJbXBvcnRzKCRlbnYpIHsKCgkJJHJ1bGVzX2xlbiA9IGNvdW50KCR0aGlzLT5ydWxlcyk7CgkJZm9yKCRpPTA7ICRpIDwgJHJ1bGVzX2xlbjsgJGkrKyl7CgkJCSRydWxlID0gJHRoaXMtPnJ1bGVzWyRpXTsKCgkJCWlmKCAkcnVsZSBpbnN0YW5jZW9mIExlc3NfVHJlZV9JbXBvcnQgKXsKCQkJCSRydWxlcyA9ICRydWxlLT5jb21waWxlKCRlbnYpOwoJCQkJaWYoIGlzX2FycmF5KCRydWxlcykgKXsKCQkJCQlhcnJheV9zcGxpY2UoJHRoaXMtPnJ1bGVzLCAkaSwgMSwgJHJ1bGVzKTsKCQkJCQkkdGVtcF9jb3VudCA9IGNvdW50KCRydWxlcyktMTsKCQkJCQkkaSArPSAkdGVtcF9jb3VudDsKCQkJCQkkcnVsZXNfbGVuICs9ICR0ZW1wX2NvdW50OwoJCQkJfWVsc2V7CgkJCQkJYXJyYXlfc3BsaWNlKCR0aGlzLT5ydWxlcywgJGksIDEsIGFycmF5KCRydWxlcykpOwoJCQkJfQoKCQkJCSR0aGlzLT5yZXNldENhY2hlKCk7CgkJCX0KCQl9Cgl9CgoJZnVuY3Rpb24gbWFrZUltcG9ydGFudCgpewoKCQkkaW1wb3J0YW50X3J1bGVzID0gYXJyYXkoKTsKCQlmb3JlYWNoKCR0aGlzLT5ydWxlcyBhcyAkcnVsZSl7CgkJCWlmKCAkcnVsZSBpbnN0YW5jZW9mIExlc3NfVHJlZV9SdWxlIHx8ICRydWxlIGluc3RhbmNlb2YgTGVzc19UcmVlX1J1bGVzZXQgKXsKCQkJCSRpbXBvcnRhbnRfcnVsZXNbXSA9ICRydWxlLT5tYWtlSW1wb3J0YW50KCk7CgkJCX1lbHNlewoJCQkJJGltcG9ydGFudF9ydWxlc1tdID0gJHJ1bGU7CgkJCX0KCQl9CgoJCXJldHVybiBuZXcgTGVzc19UcmVlX1J1bGVzZXQoJHRoaXMtPnNlbGVjdG9ycywgJGltcG9ydGFudF9ydWxlcywgJHRoaXMtPnN0cmljdEltcG9ydHMgKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gbWF0Y2hBcmdzKCRhcmdzKXsKCQlyZXR1cm4gISRhcmdzOwoJfQoKCS8vIGxldHMgeW91IGNhbGwgYSBjc3Mgc2VsZWN0b3Igd2l0aCBhIGd1YXJkCglwdWJsaWMgZnVuY3Rpb24gbWF0Y2hDb25kaXRpb24oICRhcmdzLCAkZW52ICl7CgkJJGxhc3RTZWxlY3RvciA9IGVuZCgkdGhpcy0+c2VsZWN0b3JzKTsKCgkJaWYoICEkbGFzdFNlbGVjdG9yLT5ldmFsZENvbmRpdGlvbiApewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoJCWlmKCAkbGFzdFNlbGVjdG9yLT5jb25kaXRpb24gJiYgISRsYXN0U2VsZWN0b3ItPmNvbmRpdGlvbi0+Y29tcGlsZSggJGVudi0+Y29weUV2YWxFbnYoICRlbnYtPmZyYW1lcyApICkgKXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCQlyZXR1cm4gdHJ1ZTsKCX0KCglmdW5jdGlvbiByZXNldENhY2hlKCl7CgkJJHRoaXMtPl9ydWxlc2V0cyA9IG51bGw7CgkJJHRoaXMtPl92YXJpYWJsZXMgPSBudWxsOwoJCSR0aGlzLT5sb29rdXBzID0gYXJyYXkoKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdmFyaWFibGVzKCl7CgkJJHRoaXMtPl92YXJpYWJsZXMgPSBhcnJheSgpOwoJCWZvcmVhY2goICR0aGlzLT5ydWxlcyBhcyAkcil7CgkJCWlmICgkciBpbnN0YW5jZW9mIExlc3NfVHJlZV9SdWxlICYmICRyLT52YXJpYWJsZSA9PT0gdHJ1ZSkgewoJCQkJJHRoaXMtPl92YXJpYWJsZXNbJHItPm5hbWVdID0gJHI7CgkJCX0KCQl9Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHZhcmlhYmxlKCRuYW1lKXsKCgkJaWYoIGlzX251bGwoJHRoaXMtPl92YXJpYWJsZXMpICl7CgkJCSR0aGlzLT52YXJpYWJsZXMoKTsKCQl9CgkJcmV0dXJuIGlzc2V0KCR0aGlzLT5fdmFyaWFibGVzWyRuYW1lXSkgPyAkdGhpcy0+X3ZhcmlhYmxlc1skbmFtZV0gOiBudWxsOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBmaW5kKCAkc2VsZWN0b3IsICRzZWxmID0gbnVsbCApewoKCQkka2V5ID0gaW1wbG9kZSgnICcsJHNlbGVjdG9yLT5fb2VsZW1lbnRzKTsKCgkJaWYoICFpc3NldCgkdGhpcy0+bG9va3Vwc1ska2V5XSkgKXsKCgkJCWlmKCAhJHNlbGYgKXsKCQkJCSRzZWxmID0gJHRoaXMtPnJ1bGVzZXRfaWQ7CgkJCX0KCgkJCSR0aGlzLT5sb29rdXBzWyRrZXldID0gYXJyYXkoKTsKCgkJCSRmaXJzdF9vZWxlbWVudCA9ICRzZWxlY3Rvci0+X29lbGVtZW50c1swXTsKCgkJCWZvcmVhY2goJHRoaXMtPnJ1bGVzIGFzICRydWxlKXsKCQkJCWlmKCAkcnVsZSBpbnN0YW5jZW9mIExlc3NfVHJlZV9SdWxlc2V0ICYmICRydWxlLT5ydWxlc2V0X2lkICE9ICRzZWxmICl7CgoJCQkJCWlmKCBpc3NldCgkcnVsZS0+Zmlyc3Rfb2VsZW1lbnRzWyRmaXJzdF9vZWxlbWVudF0pICl7CgoJCQkJCQlmb3JlYWNoKCAkcnVsZS0+c2VsZWN0b3JzIGFzICRydWxlU2VsZWN0b3IgKXsKCQkJCQkJCSRtYXRjaCA9ICRzZWxlY3Rvci0+bWF0Y2goJHJ1bGVTZWxlY3Rvcik7CgkJCQkJCQlpZiggJG1hdGNoICl7CgkJCQkJCQkJaWYoICRzZWxlY3Rvci0+ZWxlbWVudHNfbGVuID4gJG1hdGNoICl7CgkJCQkJCQkJCSR0aGlzLT5sb29rdXBzWyRrZXldID0gYXJyYXlfbWVyZ2UoJHRoaXMtPmxvb2t1cHNbJGtleV0sICRydWxlLT5maW5kKCBuZXcgTGVzc19UcmVlX1NlbGVjdG9yKGFycmF5X3NsaWNlKCRzZWxlY3Rvci0+ZWxlbWVudHMsICRtYXRjaCkpLCAkc2VsZikpOwoJCQkJCQkJCX0gZWxzZSB7CgkJCQkJCQkJCSR0aGlzLT5sb29rdXBzWyRrZXldW10gPSAkcnVsZTsKCQkJCQkJCQl9CgkJCQkJCQkJYnJlYWs7CgkJCQkJCQl9CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiAkdGhpcy0+bG9va3Vwc1ska2V5XTsKCX0KCgoJLyoqCgkgKiBAc2VlIExlc3NfVHJlZTo6Z2VuQ1NTCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBnZW5DU1MoICRvdXRwdXQgKXsKCgkJaWYoICEkdGhpcy0+cm9vdCApewoJCQlMZXNzX0Vudmlyb25tZW50OjokdGFiTGV2ZWwrKzsKCQl9CgoJCSR0YWJSdWxlU3RyID0gJHRhYlNldFN0ciA9ICcnOwoJCWlmKCAhTGVzc19QYXJzZXI6OiRvcHRpb25zWydjb21wcmVzcyddICl7CgkJCWlmKCBMZXNzX0Vudmlyb25tZW50OjokdGFiTGV2ZWwgKXsKCQkJCSR0YWJSdWxlU3RyID0gIlxuIi5zdHJfcmVwZWF0KCAnICAnICwgTGVzc19FbnZpcm9ubWVudDo6JHRhYkxldmVsICk7CgkJCQkkdGFiU2V0U3RyID0gIlxuIi5zdHJfcmVwZWF0KCAnICAnICwgTGVzc19FbnZpcm9ubWVudDo6JHRhYkxldmVsLTEgKTsKCQkJfWVsc2V7CgkJCQkkdGFiU2V0U3RyID0gJHRhYlJ1bGVTdHIgPSAiXG4iOwoJCQl9CgkJfQoKCgkJJHJ1bGVOb2RlcyA9IGFycmF5KCk7CgkJJHJ1bGVzZXROb2RlcyA9IGFycmF5KCk7CgkJZm9yZWFjaCgkdGhpcy0+cnVsZXMgYXMgJHJ1bGUpewoKCQkJJGNsYXNzID0gZ2V0X2NsYXNzKCRydWxlKTsKCQkJaWYoICgkY2xhc3MgPT09ICdMZXNzX1RyZWVfTWVkaWEnKSB8fCAoJGNsYXNzID09PSAnTGVzc19UcmVlX0RpcmVjdGl2ZScpIHx8ICgkdGhpcy0+cm9vdCAmJiAkY2xhc3MgPT09ICdMZXNzX1RyZWVfQ29tbWVudCcpIHx8ICgkY2xhc3MgPT09ICdMZXNzX1RyZWVfUnVsZXNldCcgJiYgJHJ1bGUtPnJ1bGVzKSApewoJCQkJJHJ1bGVzZXROb2Rlc1tdID0gJHJ1bGU7CgkJCX1lbHNlewoJCQkJJHJ1bGVOb2Rlc1tdID0gJHJ1bGU7CgkJCX0KCQl9CgoJCS8vIElmIHRoaXMgaXMgdGhlIHJvb3Qgbm9kZSwgd2UgZG9uJ3QgcmVuZGVyCgkJLy8gYSBzZWxlY3Rvciwgb3Ige30uCgkJaWYoICEkdGhpcy0+cm9vdCApewoKCQkJLyoKCQkJZGVidWdJbmZvID0gdHJlZS5kZWJ1Z0luZm8oZW52LCB0aGlzLCB0YWJTZXRTdHIpOwoKCQkJaWYgKGRlYnVnSW5mbykgewoJCQkJb3V0cHV0LmFkZChkZWJ1Z0luZm8pOwoJCQkJb3V0cHV0LmFkZCh0YWJTZXRTdHIpOwoJCQl9CgkJCSovCgoJCQkkcGF0aHNfbGVuID0gY291bnQoJHRoaXMtPnBhdGhzKTsKCQkJZm9yKCAkaSA9IDA7ICRpIDwgJHBhdGhzX2xlbjsgJGkrKyApewoJCQkJJHBhdGggPSAkdGhpcy0+cGF0aHNbJGldOwoJCQkJJGZpcnN0U2VsZWN0b3IgPSB0cnVlOwoKCQkJCWZvcmVhY2goJHBhdGggYXMgJHApewoJCQkJCSRwLT5nZW5DU1MoICRvdXRwdXQsICRmaXJzdFNlbGVjdG9yICk7CgkJCQkJJGZpcnN0U2VsZWN0b3IgPSBmYWxzZTsKCQkJCX0KCgkJCQlpZiggJGkgKyAxIDwgJHBhdGhzX2xlbiApewoJCQkJCSRvdXRwdXQtPmFkZCggJywnIC4gJHRhYlNldFN0ciApOwoJCQkJfQoJCQl9CgoJCQkkb3V0cHV0LT5hZGQoIChMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ2NvbXByZXNzJ10gPyAneycgOiAiIHsiKSAuICR0YWJSdWxlU3RyICk7CgkJfQoKCQkvLyBDb21waWxlIHJ1bGVzIGFuZCBydWxlc2V0cwoJCSRydWxlTm9kZXNfbGVuID0gY291bnQoJHJ1bGVOb2Rlcyk7CgkJJHJ1bGVzZXROb2Rlc19sZW4gPSBjb3VudCgkcnVsZXNldE5vZGVzKTsKCQlmb3IoICRpID0gMDsgJGkgPCAkcnVsZU5vZGVzX2xlbjsgJGkrKyApewoJCQkkcnVsZSA9ICRydWxlTm9kZXNbJGldOwoKCQkJLy8gQHBhZ2V7IGRpcmVjdGl2ZSBlbmRzIHVwIHdpdGggcm9vdCBlbGVtZW50cyBpbnNpZGUgaXQsIGEgbWl4IG9mIHJ1bGVzIGFuZCBydWxlc2V0cwoJCQkvLyBJbiB0aGlzIGluc3RhbmNlIHdlIGRvIG5vdCBrbm93IHdoZXRoZXIgaXQgaXMgdGhlIGxhc3QgcHJvcGVydHkKCQkJaWYoICRpICsgMSA9PT0gJHJ1bGVOb2Rlc19sZW4gJiYgKCEkdGhpcy0+cm9vdCB8fCAkcnVsZXNldE5vZGVzX2xlbiA9PT0gMCB8fCAkdGhpcy0+Zmlyc3RSb290ICkgKXsKCQkJCUxlc3NfRW52aXJvbm1lbnQ6OiRsYXN0UnVsZSA9IHRydWU7CgkJCX0KCgkJCSRydWxlLT5nZW5DU1MoICRvdXRwdXQgKTsKCgkJCWlmKCAhTGVzc19FbnZpcm9ubWVudDo6JGxhc3RSdWxlICl7CgkJCQkkb3V0cHV0LT5hZGQoICR0YWJSdWxlU3RyICk7CgkJCX1lbHNlewoJCQkJTGVzc19FbnZpcm9ubWVudDo6JGxhc3RSdWxlID0gZmFsc2U7CgkJCX0KCQl9CgoJCWlmKCAhJHRoaXMtPnJvb3QgKXsKCQkJJG91dHB1dC0+YWRkKCAkdGFiU2V0U3RyIC4gJ30nICk7CgkJCUxlc3NfRW52aXJvbm1lbnQ6OiR0YWJMZXZlbC0tOwoJCX0KCgkJJGZpcnN0UnVsZXNldCA9IHRydWU7CgkJJHNwYWNlID0gKCR0aGlzLT5yb290ID8gJHRhYlJ1bGVTdHIgOiAkdGFiU2V0U3RyKTsKCQlmb3IoICRpID0gMDsgJGkgPCAkcnVsZXNldE5vZGVzX2xlbjsgJGkrKyApewoKCQkJaWYoICRydWxlTm9kZXNfbGVuICYmICRmaXJzdFJ1bGVzZXQgKXsKCQkJCSRvdXRwdXQtPmFkZCggJHNwYWNlICk7CgkJCX1lbHNlaWYoICEkZmlyc3RSdWxlc2V0ICl7CgkJCQkkb3V0cHV0LT5hZGQoICRzcGFjZSApOwoJCQl9CgkJCSRmaXJzdFJ1bGVzZXQgPSBmYWxzZTsKCQkJJHJ1bGVzZXROb2Rlc1skaV0tPmdlbkNTUyggJG91dHB1dCk7CgkJfQoKCQlpZiggIUxlc3NfUGFyc2VyOjokb3B0aW9uc1snY29tcHJlc3MnXSAmJiAkdGhpcy0+Zmlyc3RSb290ICl7CgkJCSRvdXRwdXQtPmFkZCggIlxuIiApOwoJCX0KCgl9CgoKCWZ1bmN0aW9uIG1hcmtSZWZlcmVuY2VkKCl7CgkJaWYoICEkdGhpcy0+c2VsZWN0b3JzICl7CgkJCXJldHVybjsKCQl9CgkJZm9yZWFjaCgkdGhpcy0+c2VsZWN0b3JzIGFzICRzZWxlY3Rvcil7CgkJCSRzZWxlY3Rvci0+bWFya1JlZmVyZW5jZWQoKTsKCQl9Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGpvaW5TZWxlY3RvcnMoICRjb250ZXh0LCAkc2VsZWN0b3JzICl7CgkJJHBhdGhzID0gYXJyYXkoKTsKCQlpZiggaXNfYXJyYXkoJHNlbGVjdG9ycykgKXsKCQkJZm9yZWFjaCgkc2VsZWN0b3JzIGFzICRzZWxlY3RvcikgewoJCQkJJHRoaXMtPmpvaW5TZWxlY3RvciggJHBhdGhzLCAkY29udGV4dCwgJHNlbGVjdG9yKTsKCQkJfQoJCX0KCQlyZXR1cm4gJHBhdGhzOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBqb2luU2VsZWN0b3IoICYkcGF0aHMsICRjb250ZXh0LCAkc2VsZWN0b3IpewoKCQkkaGFzUGFyZW50U2VsZWN0b3IgPSBmYWxzZTsKCgkJZm9yZWFjaCgkc2VsZWN0b3ItPmVsZW1lbnRzIGFzICRlbCkgewoJCQlpZiggJGVsLT52YWx1ZSA9PT0gJyYnKSB7CgkJCQkkaGFzUGFyZW50U2VsZWN0b3IgPSB0cnVlOwoJCQl9CgkJfQoKCQlpZiggISRoYXNQYXJlbnRTZWxlY3RvciApewoJCQlpZiggJGNvbnRleHQgKXsKCQkJCWZvcmVhY2goJGNvbnRleHQgYXMgJGNvbnRleHRfZWwpewoJCQkJCSRwYXRoc1tdID0gYXJyYXlfbWVyZ2UoJGNvbnRleHRfZWwsIGFycmF5KCRzZWxlY3RvcikgKTsKCQkJCX0KCQkJfWVsc2UgewoJCQkJJHBhdGhzW10gPSBhcnJheSgkc2VsZWN0b3IpOwoJCQl9CgkJCXJldHVybjsKCQl9CgoKCQkvLyBUaGUgcGF0aHMgYXJlIFtbU2VsZWN0b3JdXQoJCS8vIFRoZSBmaXJzdCBsaXN0IGlzIGEgbGlzdCBvZiBjb21tYSBzZXBlcmF0ZWQgc2VsZWN0b3JzCgkJLy8gVGhlIGlubmVyIGxpc3QgaXMgYSBsaXN0IG9mIGluaGVyaXRhbmNlIHNlcGVyYXRlZCBzZWxlY3RvcnMKCQkvLyBlLmcuCgkJLy8gLmEsIC5iIHsKCQkvLyAgIC5jIHsKCQkvLyAgIH0KCQkvLyB9CgkJLy8gPT0gW1suYV0gWy5jXV0gW1suYl0gWy5jXV0KCQkvLwoKCQkvLyB0aGUgZWxlbWVudHMgZnJvbSB0aGUgY3VycmVudCBzZWxlY3RvciBzbyBmYXIKCQkkY3VycmVudEVsZW1lbnRzID0gYXJyYXkoKTsKCQkvLyB0aGUgY3VycmVudCBsaXN0IG9mIG5ldyBzZWxlY3RvcnMgdG8gYWRkIHRvIHRoZSBwYXRoLgoJCS8vIFdlIHdpbGwgYnVpbGQgaXQgdXAuIFdlIGluaXRpYXRlIGl0IHdpdGggb25lIGVtcHR5IHNlbGVjdG9yIGFzIHdlICJtdWx0aXBseSIgdGhlIG5ldyBzZWxlY3RvcnMKCQkvLyBieSB0aGUgcGFyZW50cwoJCSRuZXdTZWxlY3RvcnMgPSBhcnJheShhcnJheSgpKTsKCgoJCWZvcmVhY2goICRzZWxlY3Rvci0+ZWxlbWVudHMgYXMgJGVsKXsKCgkJCS8vIG5vbiBwYXJlbnQgcmVmZXJlbmNlIGVsZW1lbnRzIGp1c3QgZ2V0IGFkZGVkCgkJCWlmKCAkZWwtPnZhbHVlICE9PSAnJicgKXsKCQkJCSRjdXJyZW50RWxlbWVudHNbXSA9ICRlbDsKCQkJfSBlbHNlIHsKCQkJCS8vIHRoZSBuZXcgbGlzdCBvZiBzZWxlY3RvcnMgdG8gYWRkCgkJCQkkc2VsZWN0b3JzTXVsdGlwbGllZCA9IGFycmF5KCk7CgoJCQkJLy8gbWVyZ2UgdGhlIGN1cnJlbnQgbGlzdCBvZiBub24gcGFyZW50IHNlbGVjdG9yIGVsZW1lbnRzCgkJCQkvLyBvbiB0byB0aGUgY3VycmVudCBsaXN0IG9mIHNlbGVjdG9ycyB0byBhZGQKCQkJCWlmKCAkY3VycmVudEVsZW1lbnRzICl7CgkJCQkJJHRoaXMtPm1lcmdlRWxlbWVudHNPblRvU2VsZWN0b3JzKCAkY3VycmVudEVsZW1lbnRzLCAkbmV3U2VsZWN0b3JzKTsKCQkJCX0KCgkJCQkvLyBsb29wIHRocm91Z2ggb3VyIGN1cnJlbnQgc2VsZWN0b3JzCgkJCQlmb3JlYWNoKCRuZXdTZWxlY3RvcnMgYXMgJHNlbCl7CgoJCQkJCS8vIGlmIHdlIGRvbid0IGhhdmUgYW55IHBhcmVudCBwYXRocywgdGhlICYgbWlnaHQgYmUgaW4gYSBtaXhpbiBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkCgkJCQkJLy8gd2hldGhlciB0aGVyZSBhcmUgcGFyZW50cyBvciBub3QKCQkJCQlpZiggISRjb250ZXh0ICl7CgkJCQkJCS8vIHRoZSBjb21iaW5hdG9yIHVzZWQgb24gZWwgc2hvdWxkIG5vdyBiZSBhcHBsaWVkIHRvIHRoZSBuZXh0IGVsZW1lbnQgaW5zdGVhZCBzbyB0aGF0CgkJCQkJCS8vIGl0IGlzIG5vdCBsb3N0CgkJCQkJCWlmKCAkc2VsICl7CgkJCQkJCQkkc2VsWzBdLT5lbGVtZW50cyA9IGFycmF5X3NsaWNlKCRzZWxbMF0tPmVsZW1lbnRzLDApOwoJCQkJCQkJJHNlbFswXS0+ZWxlbWVudHNbXSA9IG5ldyBMZXNzX1RyZWVfRWxlbWVudCgkZWwtPmNvbWJpbmF0b3IsICcnLCAkZWwtPmluZGV4LCAkZWwtPmN1cnJlbnRGaWxlSW5mbyApOwoJCQkJCQl9CgkJCQkJCSRzZWxlY3RvcnNNdWx0aXBsaWVkW10gPSAkc2VsOwoJCQkJCX1lbHNlIHsKCgkJCQkJCS8vIGFuZCB0aGUgcGFyZW50IHNlbGVjdG9ycwoJCQkJCQlmb3JlYWNoKCRjb250ZXh0IGFzICRwYXJlbnRTZWwpewoJCQkJCQkJLy8gV2UgbmVlZCB0byBwdXQgdGhlIGN1cnJlbnQgc2VsZWN0b3JzCgkJCQkJCQkvLyB0aGVuIGpvaW4gdGhlIGxhc3Qgc2VsZWN0b3IncyBlbGVtZW50cyBvbiB0byB0aGUgcGFyZW50cyBzZWxlY3RvcnMKCgkJCQkJCQkvLyBvdXIgbmV3IHNlbGVjdG9yIHBhdGgKCQkJCQkJCSRuZXdTZWxlY3RvclBhdGggPSBhcnJheSgpOwoJCQkJCQkJLy8gc2VsZWN0b3JzIGZyb20gdGhlIHBhcmVudCBhZnRlciB0aGUgam9pbgoJCQkJCQkJJGFmdGVyUGFyZW50Sm9pbiA9IGFycmF5KCk7CgkJCQkJCQkkbmV3Sm9pbmVkU2VsZWN0b3JFbXB0eSA9IHRydWU7CgoJCQkJCQkJLy9jb25zdHJ1Y3QgdGhlIGpvaW5lZCBzZWxlY3RvciAtIGlmICYgaXMgdGhlIGZpcnN0IHRoaW5nIHRoaXMgd2lsbCBiZSBlbXB0eSwKCQkJCQkJCS8vIGlmIG5vdCBuZXdKb2luZWRTZWxlY3RvciB3aWxsIGJlIHRoZSBsYXN0IHNldCBvZiBlbGVtZW50cyBpbiB0aGUgc2VsZWN0b3IKCQkJCQkJCWlmKCAkc2VsICl7CgkJCQkJCQkJJG5ld1NlbGVjdG9yUGF0aCA9ICRzZWw7CgkJCQkJCQkJJGxhc3RTZWxlY3RvciA9IGFycmF5X3BvcCgkbmV3U2VsZWN0b3JQYXRoKTsKCQkJCQkJCQkkbmV3Sm9pbmVkU2VsZWN0b3IgPSAkc2VsZWN0b3ItPmNyZWF0ZURlcml2ZWQoIGFycmF5X3NsaWNlKCRsYXN0U2VsZWN0b3ItPmVsZW1lbnRzLDApICk7CgkJCQkJCQkJJG5ld0pvaW5lZFNlbGVjdG9yRW1wdHkgPSBmYWxzZTsKCQkJCQkJCX0KCQkJCQkJCWVsc2UgewoJCQkJCQkJCSRuZXdKb2luZWRTZWxlY3RvciA9ICRzZWxlY3Rvci0+Y3JlYXRlRGVyaXZlZChhcnJheSgpKTsKCQkJCQkJCX0KCgkJCQkJCQkvL3B1dCB0b2dldGhlciB0aGUgcGFyZW50IHNlbGVjdG9ycyBhZnRlciB0aGUgam9pbgoJCQkJCQkJaWYgKCBjb3VudCgkcGFyZW50U2VsKSA+IDEpIHsKCQkJCQkJCQkkYWZ0ZXJQYXJlbnRKb2luID0gYXJyYXlfbWVyZ2UoJGFmdGVyUGFyZW50Sm9pbiwgYXJyYXlfc2xpY2UoJHBhcmVudFNlbCwxKSApOwoJCQkJCQkJfQoKCQkJCQkJCWlmICggJHBhcmVudFNlbCApewoJCQkJCQkJCSRuZXdKb2luZWRTZWxlY3RvckVtcHR5ID0gZmFsc2U7CgoJCQkJCQkJCS8vIGpvaW4gdGhlIGVsZW1lbnRzIHNvIGZhciB3aXRoIHRoZSBmaXJzdCBwYXJ0IG9mIHRoZSBwYXJlbnQKCQkJCQkJCQkkbmV3Sm9pbmVkU2VsZWN0b3ItPmVsZW1lbnRzW10gPSBuZXcgTGVzc19UcmVlX0VsZW1lbnQoICRlbC0+Y29tYmluYXRvciwgJHBhcmVudFNlbFswXS0+ZWxlbWVudHNbMF0tPnZhbHVlLCAkZWwtPmluZGV4LCAkZWwtPmN1cnJlbnRGaWxlSW5mbyk7CgoJCQkJCQkJCSRuZXdKb2luZWRTZWxlY3Rvci0+ZWxlbWVudHMgPSBhcnJheV9tZXJnZSggJG5ld0pvaW5lZFNlbGVjdG9yLT5lbGVtZW50cywgYXJyYXlfc2xpY2UoJHBhcmVudFNlbFswXS0+ZWxlbWVudHMsIDEpICk7CgkJCQkJCQl9CgoJCQkJCQkJaWYgKCEkbmV3Sm9pbmVkU2VsZWN0b3JFbXB0eSkgewoJCQkJCQkJCS8vIG5vdyBhZGQgdGhlIGpvaW5lZCBzZWxlY3RvcgoJCQkJCQkJCSRuZXdTZWxlY3RvclBhdGhbXSA9ICRuZXdKb2luZWRTZWxlY3RvcjsKCQkJCQkJCX0KCgkJCQkJCQkvLyBhbmQgdGhlIHJlc3Qgb2YgdGhlIHBhcmVudAoJCQkJCQkJJG5ld1NlbGVjdG9yUGF0aCA9IGFycmF5X21lcmdlKCRuZXdTZWxlY3RvclBhdGgsICRhZnRlclBhcmVudEpvaW4pOwoKCQkJCQkJCS8vIGFkZCB0aGF0IHRvIG91ciBuZXcgc2V0IG9mIHNlbGVjdG9ycwoJCQkJCQkJJHNlbGVjdG9yc011bHRpcGxpZWRbXSA9ICRuZXdTZWxlY3RvclBhdGg7CgkJCQkJCX0KCQkJCQl9CgkJCQl9CgoJCQkJLy8gb3VyIG5ldyBzZWxlY3RvcnMgaGFzIGJlZW4gbXVsdGlwbGllZCwgc28gcmVzZXQgdGhlIHN0YXRlCgkJCQkkbmV3U2VsZWN0b3JzID0gJHNlbGVjdG9yc011bHRpcGxpZWQ7CgkJCQkkY3VycmVudEVsZW1lbnRzID0gYXJyYXkoKTsKCQkJfQoJCX0KCgkJLy8gaWYgd2UgaGF2ZSBhbnkgZWxlbWVudHMgbGVmdCBvdmVyIChlLmcuIC5hJiAuYiA9PSAuYikKCQkvLyBhZGQgdGhlbSBvbiB0byBhbGwgdGhlIGN1cnJlbnQgc2VsZWN0b3JzCgkJaWYoICRjdXJyZW50RWxlbWVudHMgKXsKCQkJJHRoaXMtPm1lcmdlRWxlbWVudHNPblRvU2VsZWN0b3JzKCRjdXJyZW50RWxlbWVudHMsICRuZXdTZWxlY3RvcnMpOwoJCX0KCQlmb3JlYWNoKCAkbmV3U2VsZWN0b3JzIGFzICRuZXdfc2VsKXsKCQkJaWYoICRuZXdfc2VsICl7CgkJCQkkcGF0aHNbXSA9ICRuZXdfc2VsOwoJCQl9CgkJfQoJfQoKCWZ1bmN0aW9uIG1lcmdlRWxlbWVudHNPblRvU2VsZWN0b3JzKCAkZWxlbWVudHMsICYkc2VsZWN0b3JzKXsKCgkJaWYoICEkc2VsZWN0b3JzICl7CgkJCSRzZWxlY3RvcnNbXSA9IGFycmF5KCBuZXcgTGVzc19UcmVlX1NlbGVjdG9yKCRlbGVtZW50cykgKTsKCQkJcmV0dXJuOwoJCX0KCgoJCWZvcmVhY2goICRzZWxlY3RvcnMgYXMgJiRzZWwpewoKCQkJLy8gaWYgdGhlIHByZXZpb3VzIHRoaW5nIGluIHNlbCBpcyBhIHBhcmVudCB0aGlzIG5lZWRzIHRvIGpvaW4gb24gdG8gaXQKCQkJaWYoICRzZWwgKXsKCQkJCSRsYXN0ID0gY291bnQoJHNlbCktMTsKCQkJCSRzZWxbJGxhc3RdID0gJHNlbFskbGFzdF0tPmNyZWF0ZURlcml2ZWQoIGFycmF5X21lcmdlKCRzZWxbJGxhc3RdLT5lbGVtZW50cywgJGVsZW1lbnRzKSApOwoJCQl9ZWxzZXsKCQkJCSRzZWxbXSA9IG5ldyBMZXNzX1RyZWVfU2VsZWN0b3IoICRlbGVtZW50cyApOwoJCQl9CgkJfQoJfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/RulesetCall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBSdWxlc2V0Q2FsbAogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9SdWxlc2V0Q2FsbCBleHRlbmRzIExlc3NfVHJlZXsKCglwdWJsaWMgJHZhcmlhYmxlOwoJcHVibGljICR0eXBlID0gIlJ1bGVzZXRDYWxsIjsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHZhcmlhYmxlKXsKCQkkdGhpcy0+dmFyaWFibGUgPSAkdmFyaWFibGU7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjY2VwdCgkdmlzaXRvcikge30KCiAgICBwdWJsaWMgZnVuY3Rpb24gY29tcGlsZSggJGVudiApewoJCSR2YXJpYWJsZSA9IG5ldyBMZXNzX1RyZWVfVmFyaWFibGUoJHRoaXMtPnZhcmlhYmxlKTsKCQkkZGV0YWNoZWRSdWxlc2V0ID0gJHZhcmlhYmxlLT5jb21waWxlKCRlbnYpOwoJCXJldHVybiAkZGV0YWNoZWRSdWxlc2V0LT5jYWxsRXZhbCgkZW52KTsKCX0KfQoK]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Selector.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBTZWxlY3RvcgogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9TZWxlY3RvciBleHRlbmRzIExlc3NfVHJlZXsKCglwdWJsaWMgJGVsZW1lbnRzOwoJcHVibGljICRjb25kaXRpb247CglwdWJsaWMgJGV4dGVuZExpc3QgPSBhcnJheSgpOwoJcHVibGljICRfY3NzOwoJcHVibGljICRpbmRleDsKCXB1YmxpYyAkZXZhbGRDb25kaXRpb24gPSBmYWxzZTsKCXB1YmxpYyAkdHlwZSA9ICdTZWxlY3Rvcic7CglwdWJsaWMgJGN1cnJlbnRGaWxlSW5mbyA9IGFycmF5KCk7CglwdWJsaWMgJGlzUmVmZXJlbmNlZDsKCXB1YmxpYyAkbWVkaWFFbXB0eTsKCglwdWJsaWMgJGVsZW1lbnRzX2xlbiA9IDA7CgoJcHVibGljICRfb2VsZW1lbnRzOwoJcHVibGljICRfb2VsZW1lbnRzX2xlbjsKCXB1YmxpYyAkY2FjaGVhYmxlID0gdHJ1ZTsKCgkvKioKCSAqIEBwYXJhbSBib29sZWFuICRpc1JlZmVyZW5jZWQKCSAqLwoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCAkZWxlbWVudHMsICRleHRlbmRMaXN0ID0gYXJyYXkoKSAsICRjb25kaXRpb24gPSBudWxsLCAkaW5kZXg9bnVsbCwgJGN1cnJlbnRGaWxlSW5mbz1udWxsLCAkaXNSZWZlcmVuY2VkPW51bGwgKXsKCgkJJHRoaXMtPmVsZW1lbnRzID0gJGVsZW1lbnRzOwoJCSR0aGlzLT5lbGVtZW50c19sZW4gPSBjb3VudCgkZWxlbWVudHMpOwoJCSR0aGlzLT5leHRlbmRMaXN0ID0gJGV4dGVuZExpc3Q7CgkJJHRoaXMtPmNvbmRpdGlvbiA9ICRjb25kaXRpb247CgkJaWYoICRjdXJyZW50RmlsZUluZm8gKXsKCQkJJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyA9ICRjdXJyZW50RmlsZUluZm87CgkJfQoJCSR0aGlzLT5pc1JlZmVyZW5jZWQgPSAkaXNSZWZlcmVuY2VkOwoJCWlmKCAhJGNvbmRpdGlvbiApewoJCQkkdGhpcy0+ZXZhbGRDb25kaXRpb24gPSB0cnVlOwoJCX0KCgkJJHRoaXMtPkNhY2hlRWxlbWVudHMoKTsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWNjZXB0KCR2aXNpdG9yKSB7CgkJJHRoaXMtPmVsZW1lbnRzID0gJHZpc2l0b3ItPnZpc2l0QXJyYXkoJHRoaXMtPmVsZW1lbnRzKTsKCQkkdGhpcy0+ZXh0ZW5kTGlzdCA9ICR2aXNpdG9yLT52aXNpdEFycmF5KCR0aGlzLT5leHRlbmRMaXN0KTsKCQlpZiggJHRoaXMtPmNvbmRpdGlvbiApewoJCQkkdGhpcy0+Y29uZGl0aW9uID0gJHZpc2l0b3ItPnZpc2l0T2JqKCR0aGlzLT5jb25kaXRpb24pOwoJCX0KCgkJaWYoICR2aXNpdG9yIGluc3RhbmNlb2YgTGVzc19WaXNpdG9yX2V4dGVuZEZpbmRlciApewoJCQkkdGhpcy0+Q2FjaGVFbGVtZW50cygpOwoJCX0KCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY3JlYXRlRGVyaXZlZCggJGVsZW1lbnRzLCAkZXh0ZW5kTGlzdCA9IG51bGwsICRldmFsZENvbmRpdGlvbiA9IG51bGwgKXsKCQkkbmV3U2VsZWN0b3IgPSBuZXcgTGVzc19UcmVlX1NlbGVjdG9yKCAkZWxlbWVudHMsICgkZXh0ZW5kTGlzdCA/ICRleHRlbmRMaXN0IDogJHRoaXMtPmV4dGVuZExpc3QpLCBudWxsLCAkdGhpcy0+aW5kZXgsICR0aGlzLT5jdXJyZW50RmlsZUluZm8sICR0aGlzLT5pc1JlZmVyZW5jZWQpOwoJCSRuZXdTZWxlY3Rvci0+ZXZhbGRDb25kaXRpb24gPSAkZXZhbGRDb25kaXRpb24gPyAkZXZhbGRDb25kaXRpb24gOiAkdGhpcy0+ZXZhbGRDb25kaXRpb247CgkJcmV0dXJuICRuZXdTZWxlY3RvcjsKCX0KCgoJcHVibGljIGZ1bmN0aW9uIG1hdGNoKCAkb3RoZXIgKXsKCgkJaWYoICEkb3RoZXItPl9vZWxlbWVudHMgfHwgKCR0aGlzLT5lbGVtZW50c19sZW4gPCAkb3RoZXItPl9vZWxlbWVudHNfbGVuKSApewoJCQlyZXR1cm4gMDsKCQl9CgoJCWZvciggJGkgPSAwOyAkaSA8ICRvdGhlci0+X29lbGVtZW50c19sZW47ICRpKysgKXsKCQkJaWYoICR0aGlzLT5lbGVtZW50c1skaV0tPnZhbHVlICE9PSAkb3RoZXItPl9vZWxlbWVudHNbJGldKSB7CgkJCQlyZXR1cm4gMDsKCQkJfQoJCX0KCgkJcmV0dXJuICRvdGhlci0+X29lbGVtZW50c19sZW47IC8vIHJldHVybiBudW1iZXIgb2YgbWF0Y2hlZCBlbGVtZW50cwoJfQoKCglwdWJsaWMgZnVuY3Rpb24gQ2FjaGVFbGVtZW50cygpewoKCQkkdGhpcy0+X29lbGVtZW50cyA9IGFycmF5KCk7CgkJJGNzcyA9ICcnOwoKCQlmb3JlYWNoKCR0aGlzLT5lbGVtZW50cyBhcyAkdil7CgoJCQkkY3NzIC49ICR2LT5jb21iaW5hdG9yOwoJCQlpZiggISR2LT52YWx1ZV9pc19vYmplY3QgKXsKCQkJCSRjc3MgLj0gJHYtPnZhbHVlOwoJCQkJY29udGludWU7CgkJCX0KCgkJCWlmKCAhcHJvcGVydHlfZXhpc3RzKCR2LT52YWx1ZSwndmFsdWUnKSB8fCAhaXNfc3RyaW5nKCR2LT52YWx1ZS0+dmFsdWUpICl7CgkJCQkkdGhpcy0+Y2FjaGVhYmxlID0gZmFsc2U7CgkJCQlyZXR1cm47CgkJCX0KCQkJJGNzcyAuPSAkdi0+dmFsdWUtPnZhbHVlOwoJCX0KCgkJJHRoaXMtPl9vZWxlbWVudHNfbGVuID0gcHJlZ19tYXRjaF9hbGwoJy9bLCYjXC5cdy1dKD86W1x3LV18KD86XFxcXC4pKSovJywgJGNzcywgJG1hdGNoZXMpOwoJCWlmKCAkdGhpcy0+X29lbGVtZW50c19sZW4gKXsKCQkJJHRoaXMtPl9vZWxlbWVudHMgPSAkbWF0Y2hlc1swXTsKCgkJCWlmKCAkdGhpcy0+X29lbGVtZW50c1swXSA9PT0gJyYnICl7CgkJCQlhcnJheV9zaGlmdCgkdGhpcy0+X29lbGVtZW50cyk7CgkJCQkkdGhpcy0+X29lbGVtZW50c19sZW4tLTsKCQkJfQoJCX0KCX0KCglwdWJsaWMgZnVuY3Rpb24gaXNKdXN0UGFyZW50U2VsZWN0b3IoKXsKCQlyZXR1cm4gISR0aGlzLT5tZWRpYUVtcHR5ICYmCgkJCWNvdW50KCR0aGlzLT5lbGVtZW50cykgPT09IDEgJiYKCQkJJHRoaXMtPmVsZW1lbnRzWzBdLT52YWx1ZSA9PT0gJyYnICYmCgkJCSgkdGhpcy0+ZWxlbWVudHNbMF0tPmNvbWJpbmF0b3IgPT09ICcgJyB8fCAkdGhpcy0+ZWxlbWVudHNbMF0tPmNvbWJpbmF0b3IgPT09ICcnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gY29tcGlsZSgkZW52KSB7CgoJCSRlbGVtZW50cyA9IGFycmF5KCk7CgkJZm9yZWFjaCgkdGhpcy0+ZWxlbWVudHMgYXMgJGVsKXsKCQkJJGVsZW1lbnRzW10gPSAkZWwtPmNvbXBpbGUoJGVudik7CgkJfQoKCQkkZXh0ZW5kTGlzdCA9IGFycmF5KCk7CgkJZm9yZWFjaCgkdGhpcy0+ZXh0ZW5kTGlzdCBhcyAkZWwpewoJCQkkZXh0ZW5kTGlzdFtdID0gJGVsLT5jb21waWxlKCRlbCk7CgkJfQoKCQkkZXZhbGRDb25kaXRpb24gPSBmYWxzZTsKCQlpZiggJHRoaXMtPmNvbmRpdGlvbiApewoJCQkkZXZhbGRDb25kaXRpb24gPSAkdGhpcy0+Y29uZGl0aW9uLT5jb21waWxlKCRlbnYpOwoJCX0KCgkJcmV0dXJuICR0aGlzLT5jcmVhdGVEZXJpdmVkKCAkZWxlbWVudHMsICRleHRlbmRMaXN0LCAkZXZhbGRDb25kaXRpb24gKTsKCX0KCgoJLyoqCgkgKiBAc2VlIExlc3NfVHJlZTo6Z2VuQ1NTCgkgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBnZW5DU1MoICRvdXRwdXQsICRmaXJzdFNlbGVjdG9yID0gdHJ1ZSApewoKCQlpZiggISRmaXJzdFNlbGVjdG9yICYmICR0aGlzLT5lbGVtZW50c1swXS0+Y29tYmluYXRvciA9PT0gIiIgKXsKCQkJJG91dHB1dC0+YWRkKCcgJywgJHRoaXMtPmN1cnJlbnRGaWxlSW5mbywgJHRoaXMtPmluZGV4KTsKCQl9CgoJCWZvcmVhY2goJHRoaXMtPmVsZW1lbnRzIGFzICRlbGVtZW50KXsKCQkJJGVsZW1lbnQtPmdlbkNTUyggJG91dHB1dCApOwoJCX0KCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gbWFya1JlZmVyZW5jZWQoKXsKCQkkdGhpcy0+aXNSZWZlcmVuY2VkID0gdHJ1ZTsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0SXNSZWZlcmVuY2VkKCl7CgkJcmV0dXJuICFpc3NldCgkdGhpcy0+Y3VycmVudEZpbGVJbmZvWydyZWZlcmVuY2UnXSkgfHwgISR0aGlzLT5jdXJyZW50RmlsZUluZm9bJ3JlZmVyZW5jZSddIHx8ICR0aGlzLT5pc1JlZmVyZW5jZWQ7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldElzT3V0cHV0KCl7CgkJcmV0dXJuICR0aGlzLT5ldmFsZENvbmRpdGlvbjsKCX0KCn0K]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/UnicodeDescriptor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBVbmljb2RlRGVzY3JpcHRvcgogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9Vbmljb2RlRGVzY3JpcHRvciBleHRlbmRzIExlc3NfVHJlZXsKCglwdWJsaWMgJHZhbHVlOwoJcHVibGljICR0eXBlID0gJ1VuaWNvZGVEZXNjcmlwdG9yJzsKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHZhbHVlKXsKCQkkdGhpcy0+dmFsdWUgPSAkdmFsdWU7Cgl9CgogICAgLyoqCiAgICAgKiBAc2VlIExlc3NfVHJlZTo6Z2VuQ1NTCiAgICAgKi8KCXB1YmxpYyBmdW5jdGlvbiBnZW5DU1MoICRvdXRwdXQgKXsKCQkkb3V0cHV0LT5hZGQoICR0aGlzLT52YWx1ZSApOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjb21waWxlKCl7CgkJcmV0dXJuICR0aGlzOwoJfQp9Cgo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Unit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBVbml0CiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdHJlZQogKi8KY2xhc3MgTGVzc19UcmVlX1VuaXQgZXh0ZW5kcyBMZXNzX1RyZWV7CgoJdmFyICRudW1lcmF0b3IgPSBhcnJheSgpOwoJdmFyICRkZW5vbWluYXRvciA9IGFycmF5KCk7CglwdWJsaWMgJGJhY2t1cFVuaXQ7CglwdWJsaWMgJHR5cGUgPSAnVW5pdCc7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRudW1lcmF0b3IgPSBhcnJheSgpLCAkZGVub21pbmF0b3IgPSBhcnJheSgpLCAkYmFja3VwVW5pdCA9IG51bGwgKXsKCQkkdGhpcy0+bnVtZXJhdG9yID0gJG51bWVyYXRvcjsKCQkkdGhpcy0+ZGVub21pbmF0b3IgPSAkZGVub21pbmF0b3I7CgkJJHRoaXMtPmJhY2t1cFVuaXQgPSAkYmFja3VwVW5pdDsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jbG9uZSgpewoJfQoKICAgIC8qKgogICAgICogQHNlZSBMZXNzX1RyZWU6OmdlbkNTUwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuQ1NTKCAkb3V0cHV0ICl7CgoJCWlmKCAkdGhpcy0+bnVtZXJhdG9yICl7CgkJCSRvdXRwdXQtPmFkZCggJHRoaXMtPm51bWVyYXRvclswXSApOwoJCX1lbHNlaWYoICR0aGlzLT5kZW5vbWluYXRvciApewoJCQkkb3V0cHV0LT5hZGQoICR0aGlzLT5kZW5vbWluYXRvclswXSApOwoJCX1lbHNlaWYoICFMZXNzX1BhcnNlcjo6JG9wdGlvbnNbJ3N0cmljdFVuaXRzJ10gJiYgJHRoaXMtPmJhY2t1cFVuaXQgKXsKCQkJJG91dHB1dC0+YWRkKCAkdGhpcy0+YmFja3VwVW5pdCApOwoJCQlyZXR1cm4gOwoJCX0KCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdG9TdHJpbmcoKXsKCQkkcmV0dXJuU3RyID0gaW1wbG9kZSgnKicsJHRoaXMtPm51bWVyYXRvcik7CgkJZm9yZWFjaCgkdGhpcy0+ZGVub21pbmF0b3IgYXMgJGQpewoJCQkkcmV0dXJuU3RyIC49ICcvJy4kZDsKCQl9CgkJcmV0dXJuICRyZXR1cm5TdHI7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fdG9TdHJpbmcoKXsKCQlyZXR1cm4gJHRoaXMtPnRvU3RyaW5nKCk7Cgl9CgoKCS8qKgoJICogQHBhcmFtIExlc3NfVHJlZV9Vbml0ICRvdGhlcgoJICovCiAgICBwdWJsaWMgZnVuY3Rpb24gY29tcGFyZSgkb3RoZXIpIHsKCQlyZXR1cm4gJHRoaXMtPmlzKCAkb3RoZXItPnRvU3RyaW5nKCkgKSA/IDAgOiAtMTsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaXMoJHVuaXRTdHJpbmcpewoJCXJldHVybiAkdGhpcy0+dG9TdHJpbmcoKSA9PT0gJHVuaXRTdHJpbmc7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzTGVuZ3RoKCl7CgkJJGNzcyA9ICR0aGlzLT50b0NTUygpOwoJCXJldHVybiAhIXByZWdfbWF0Y2goJy9weHxlbXwlfGlufGNtfG1tfHBjfHB0fGV4LycsJGNzcyk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzQW5nbGUoKSB7CgkJcmV0dXJuIGlzc2V0KCBMZXNzX1RyZWVfVW5pdENvbnZlcnNpb25zOjokYW5nbGVbJHRoaXMtPnRvQ1NTKCldICk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGlzRW1wdHkoKXsKCQlyZXR1cm4gISR0aGlzLT5udW1lcmF0b3IgJiYgISR0aGlzLT5kZW5vbWluYXRvcjsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaXNTaW5ndWxhcigpIHsKCQlyZXR1cm4gY291bnQoJHRoaXMtPm51bWVyYXRvcikgPD0gMSAmJiAhJHRoaXMtPmRlbm9taW5hdG9yOwoJfQoKCiAgICBwdWJsaWMgZnVuY3Rpb24gdXNlZFVuaXRzKCl7CgkJJHJlc3VsdCA9IGFycmF5KCk7CgoJCWZvcmVhY2goTGVzc19UcmVlX1VuaXRDb252ZXJzaW9uczo6JGdyb3VwcyBhcyAkZ3JvdXBOYW1lKXsKCQkJJGdyb3VwID0gTGVzc19UcmVlX1VuaXRDb252ZXJzaW9uczo6JHskZ3JvdXBOYW1lfTsKCgkJCWZvcmVhY2goJHRoaXMtPm51bWVyYXRvciBhcyAkYXRvbWljVW5pdCl7CgkJCQlpZiggaXNzZXQoJGdyb3VwWyRhdG9taWNVbml0XSkgJiYgIWlzc2V0KCRyZXN1bHRbJGdyb3VwTmFtZV0pICl7CgkJCQkJJHJlc3VsdFskZ3JvdXBOYW1lXSA9ICRhdG9taWNVbml0OwoJCQkJfQoJCQl9CgoJCQlmb3JlYWNoKCR0aGlzLT5kZW5vbWluYXRvciBhcyAkYXRvbWljVW5pdCl7CgkJCQlpZiggaXNzZXQoJGdyb3VwWyRhdG9taWNVbml0XSkgJiYgIWlzc2V0KCRyZXN1bHRbJGdyb3VwTmFtZV0pICl7CgkJCQkJJHJlc3VsdFskZ3JvdXBOYW1lXSA9ICRhdG9taWNVbml0OwoJCQkJfQoJCQl9CgkJfQoKCQlyZXR1cm4gJHJlc3VsdDsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY2FuY2VsKCl7CgkJJGNvdW50ZXIgPSBhcnJheSgpOwoJCSRiYWNrdXAgPSBudWxsOwoKCQlmb3JlYWNoKCR0aGlzLT5udW1lcmF0b3IgYXMgJGF0b21pY1VuaXQpewoJCQlpZiggISRiYWNrdXAgKXsKCQkJCSRiYWNrdXAgPSAkYXRvbWljVW5pdDsKCQkJfQoJCQkkY291bnRlclskYXRvbWljVW5pdF0gPSAoIGlzc2V0KCRjb3VudGVyWyRhdG9taWNVbml0XSkgPyAkY291bnRlclskYXRvbWljVW5pdF0gOiAwKSArIDE7CgkJfQoKCQlmb3JlYWNoKCR0aGlzLT5kZW5vbWluYXRvciBhcyAkYXRvbWljVW5pdCl7CgkJCWlmKCAhJGJhY2t1cCApewoJCQkJJGJhY2t1cCA9ICRhdG9taWNVbml0OwoJCQl9CgkJCSRjb3VudGVyWyRhdG9taWNVbml0XSA9ICggaXNzZXQoJGNvdW50ZXJbJGF0b21pY1VuaXRdKSA/ICRjb3VudGVyWyRhdG9taWNVbml0XSA6IDApIC0gMTsKCQl9CgoJCSR0aGlzLT5udW1lcmF0b3IgPSBhcnJheSgpOwoJCSR0aGlzLT5kZW5vbWluYXRvciA9IGFycmF5KCk7CgoJCWZvcmVhY2goJGNvdW50ZXIgYXMgJGF0b21pY1VuaXQgPT4gJGNvdW50KXsKCQkJaWYoICRjb3VudCA+IDAgKXsKCQkJCWZvciggJGkgPSAwOyAkaSA8ICRjb3VudDsgJGkrKyApewoJCQkJCSR0aGlzLT5udW1lcmF0b3JbXSA9ICRhdG9taWNVbml0OwoJCQkJfQoJCQl9ZWxzZWlmKCAkY291bnQgPCAwICl7CgkJCQlmb3IoICRpID0gMDsgJGkgPCAtJGNvdW50OyAkaSsrICl7CgkJCQkJJHRoaXMtPmRlbm9taW5hdG9yW10gPSAkYXRvbWljVW5pdDsKCQkJCX0KCQkJfQoJCX0KCgkJaWYoICEkdGhpcy0+bnVtZXJhdG9yICYmICEkdGhpcy0+ZGVub21pbmF0b3IgJiYgJGJhY2t1cCApewoJCQkkdGhpcy0+YmFja3VwVW5pdCA9ICRiYWNrdXA7CgkJfQoKCQlzb3J0KCR0aGlzLT5udW1lcmF0b3IpOwoJCXNvcnQoJHRoaXMtPmRlbm9taW5hdG9yKTsKCX0KCgp9Cgo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/UnitConversions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBVbml0Q29udmVyc2lvbnMKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfVW5pdENvbnZlcnNpb25zewoKCXB1YmxpYyBzdGF0aWMgJGdyb3VwcyA9IGFycmF5KCdsZW5ndGgnLCdkdXJhdGlvbicsJ2FuZ2xlJyk7CgoJcHVibGljIHN0YXRpYyAkbGVuZ3RoID0gYXJyYXkoCgkJJ20nPT4gMSwKCQknY20nPT4gMC4wMSwKCQknbW0nPT4gMC4wMDEsCgkJJ2luJz0+IDAuMDI1NCwKCQkncHgnPT4gMC4wMDAyNjQ1ODMsIC8vIDAuMDI1NCAvIDk2LAoJCSdwdCc9PiAwLjAwMDM1Mjc3OCwgLy8gMC4wMjU0IC8gNzIsCgkJJ3BjJz0+IDAuMDA0MjMzMzMzLCAvLyAwLjAyNTQgLyA3MiAqIDEyCgkJKTsKCglwdWJsaWMgc3RhdGljICRkdXJhdGlvbiA9IGFycmF5KAoJCSdzJz0+IDEsCgkJJ21zJz0+IDAuMDAxCgkJKTsKCglwdWJsaWMgc3RhdGljICRhbmdsZSA9IGFycmF5KAoJCSdyYWQnID0+IDAuMTU5MTU0OTQzMDkxOSwJLy8gMS8oMipNX1BJKSwKCQknZGVnJyA9PiAwLjAwMjc3Nzc3OCwgCQkvLyAxLzM2MCwKCQknZ3JhZCc9PiAwLjAwMjUsCQkJLy8gMS80MDAsCgkJJ3R1cm4nPT4gMQoJCSk7Cgp9]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Url.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBVcmwKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB0cmVlCiAqLwpjbGFzcyBMZXNzX1RyZWVfVXJsIGV4dGVuZHMgTGVzc19UcmVlewoKCXB1YmxpYyAkYXR0cnM7CglwdWJsaWMgJHZhbHVlOwoJcHVibGljICRjdXJyZW50RmlsZUluZm87CglwdWJsaWMgJGlzRXZhbGQ7CglwdWJsaWMgJHR5cGUgPSAnVXJsJzsKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHZhbHVlLCAkY3VycmVudEZpbGVJbmZvID0gbnVsbCwgJGlzRXZhbGQgPSBudWxsKXsKCQkkdGhpcy0+dmFsdWUgPSAkdmFsdWU7CgkJJHRoaXMtPmN1cnJlbnRGaWxlSW5mbyA9ICRjdXJyZW50RmlsZUluZm87CgkJJHRoaXMtPmlzRXZhbGQgPSAkaXNFdmFsZDsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWNjZXB0KCAkdmlzaXRvciApewoJCSR0aGlzLT52YWx1ZSA9ICR2aXNpdG9yLT52aXNpdE9iaigkdGhpcy0+dmFsdWUpOwoJfQoKICAgIC8qKgogICAgICogQHNlZSBMZXNzX1RyZWU6OmdlbkNTUwogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuQ1NTKCAkb3V0cHV0ICl7CgkJJG91dHB1dC0+YWRkKCAndXJsKCcgKTsKCQkkdGhpcy0+dmFsdWUtPmdlbkNTUyggJG91dHB1dCApOwoJCSRvdXRwdXQtPmFkZCggJyknICk7Cgl9CgoJLyoqCgkgKiBAcGFyYW0gTGVzc19GdW5jdGlvbnMgJGN0eAoJICovCglwdWJsaWMgZnVuY3Rpb24gY29tcGlsZSgkY3R4KXsKCQkkdmFsID0gJHRoaXMtPnZhbHVlLT5jb21waWxlKCRjdHgpOwoKCQlpZiggISR0aGlzLT5pc0V2YWxkICl7CgkJCS8vIEFkZCB0aGUgYmFzZSBwYXRoIGlmIHRoZSBVUkwgaXMgcmVsYXRpdmUKCQkJaWYoIExlc3NfUGFyc2VyOjokb3B0aW9uc1sncmVsYXRpdmVVcmxzJ10KCQkJCSYmICR0aGlzLT5jdXJyZW50RmlsZUluZm8KCQkJCSYmIGlzX3N0cmluZygkdmFsLT52YWx1ZSkKCQkJCSYmIExlc3NfRW52aXJvbm1lbnQ6OmlzUGF0aFJlbGF0aXZlKCR2YWwtPnZhbHVlKQoJCQkpewoJCQkJJHJvb3RwYXRoID0gJHRoaXMtPmN1cnJlbnRGaWxlSW5mb1sndXJpX3Jvb3QnXTsKCQkJCWlmICggISR2YWwtPnF1b3RlICl7CgkJCQkJJHJvb3RwYXRoID0gcHJlZ19yZXBsYWNlKCcvW1woXClcJyJcc10vJywgJ1xcJDEnLCAkcm9vdHBhdGggKTsKCQkJCX0KCQkJCSR2YWwtPnZhbHVlID0gJHJvb3RwYXRoIC4gJHZhbC0+dmFsdWU7CgkJCX0KCgkJCSR2YWwtPnZhbHVlID0gTGVzc19FbnZpcm9ubWVudDo6bm9ybWFsaXplUGF0aCggJHZhbC0+dmFsdWUpOwoJCX0KCgkJLy8gQWRkIGNhY2hlIGJ1c3RlciBpZiBlbmFibGVkCgkJaWYoIExlc3NfUGFyc2VyOjokb3B0aW9uc1sndXJsQXJncyddICl7CgkJCWlmKCAhcHJlZ19tYXRjaCgnL15ccypkYXRhOi8nLCR2YWwtPnZhbHVlKSApewoJCQkJJGRlbGltaXRlciA9IHN0cnBvcygkdmFsLT52YWx1ZSwnPycpID09PSBmYWxzZSA/ICc/JyA6ICcmJzsKCQkJCSR1cmxBcmdzID0gJGRlbGltaXRlciAuIExlc3NfUGFyc2VyOjokb3B0aW9uc1sndXJsQXJncyddOwoJCQkJJGhhc2hfcG9zID0gc3RycG9zKCR2YWwtPnZhbHVlLCcjJyk7CgkJCQlpZiggJGhhc2hfcG9zICE9PSBmYWxzZSApewoJCQkJCSR2YWwtPnZhbHVlID0gc3Vic3RyX3JlcGxhY2UoJHZhbC0+dmFsdWUsJHVybEFyZ3MsICRoYXNoX3BvcywgMCk7CgkJCQl9IGVsc2UgewoJCQkJCSR2YWwtPnZhbHVlIC49ICR1cmxBcmdzOwoJCQkJfQoJCQl9CgkJfQoKCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9VUkwoJHZhbCwgJHRoaXMtPmN1cnJlbnRGaWxlSW5mbywgdHJ1ZSk7Cgl9Cgp9Cg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Value.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBWYWx1ZQogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9WYWx1ZSBleHRlbmRzIExlc3NfVHJlZXsKCglwdWJsaWMgJHR5cGUgPSAnVmFsdWUnOwoJcHVibGljICR2YWx1ZTsKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHZhbHVlKXsKCQkkdGhpcy0+dmFsdWUgPSAkdmFsdWU7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIGFjY2VwdCgkdmlzaXRvcikgewoJCSR0aGlzLT52YWx1ZSA9ICR2aXNpdG9yLT52aXNpdEFycmF5KCR0aGlzLT52YWx1ZSk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIGNvbXBpbGUoJGVudil7CgoJCSRyZXQgPSBhcnJheSgpOwoJCSRpID0gMDsKCQlmb3JlYWNoKCR0aGlzLT52YWx1ZSBhcyAkaSA9PiAkdil7CgkJCSRyZXRbXSA9ICR2LT5jb21waWxlKCRlbnYpOwoJCX0KCQlpZiggJGkgPiAwICl7CgkJCXJldHVybiBuZXcgTGVzc19UcmVlX1ZhbHVlKCRyZXQpOwoJCX0KCQlyZXR1cm4gJHJldFswXTsKCX0KCiAgICAvKioKICAgICAqIEBzZWUgTGVzc19UcmVlOjpnZW5DU1MKICAgICAqLwoJZnVuY3Rpb24gZ2VuQ1NTKCAkb3V0cHV0ICl7CgkJJGxlbiA9IGNvdW50KCR0aGlzLT52YWx1ZSk7CgkJZm9yKCRpID0gMDsgJGkgPCAkbGVuOyAkaSsrICl7CgkJCSR0aGlzLT52YWx1ZVskaV0tPmdlbkNTUyggJG91dHB1dCApOwoJCQlpZiggJGkrMSA8ICRsZW4gKXsKCQkJCSRvdXRwdXQtPmFkZCggTGVzc19FbnZpcm9ubWVudDo6JF9vdXRwdXRNYXBbJywnXSApOwoJCQl9CgkJfQoJfQoKfQo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Tree/Variable.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBWYXJpYWJsZQogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHRyZWUKICovCmNsYXNzIExlc3NfVHJlZV9WYXJpYWJsZSBleHRlbmRzIExlc3NfVHJlZXsKCglwdWJsaWMgJG5hbWU7CglwdWJsaWMgJGluZGV4OwoJcHVibGljICRjdXJyZW50RmlsZUluZm87CglwdWJsaWMgJGV2YWx1YXRpbmcgPSBmYWxzZTsKCXB1YmxpYyAkdHlwZSA9ICdWYXJpYWJsZSc7CgogICAgLyoqCiAgICAgKiBAcGFyYW0gc3RyaW5nICRuYW1lCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkbmFtZSwgJGluZGV4ID0gbnVsbCwgJGN1cnJlbnRGaWxlSW5mbyA9IG51bGwpIHsKICAgICAgICAkdGhpcy0+bmFtZSA9ICRuYW1lOwogICAgICAgICR0aGlzLT5pbmRleCA9ICRpbmRleDsKCQkkdGhpcy0+Y3VycmVudEZpbGVJbmZvID0gJGN1cnJlbnRGaWxlSW5mbzsKICAgIH0KCglwdWJsaWMgZnVuY3Rpb24gY29tcGlsZSgkZW52KSB7CgoJCWlmKCAkdGhpcy0+bmFtZVsxXSA9PT0gJ0AnICl7CgkJCSR2ID0gbmV3IExlc3NfVHJlZV9WYXJpYWJsZShzdWJzdHIoJHRoaXMtPm5hbWUsIDEpLCAkdGhpcy0+aW5kZXggKyAxLCAkdGhpcy0+Y3VycmVudEZpbGVJbmZvKTsKCQkJJG5hbWUgPSAnQCcgLiAkdi0+Y29tcGlsZSgkZW52KS0+dmFsdWU7CgkJfWVsc2V7CgkJCSRuYW1lID0gJHRoaXMtPm5hbWU7CgkJfQoKCQlpZiAoJHRoaXMtPmV2YWx1YXRpbmcpIHsKCQkJdGhyb3cgbmV3IExlc3NfRXhjZXB0aW9uX0NvbXBpbGVyKCJSZWN1cnNpdmUgdmFyaWFibGUgZGVmaW5pdGlvbiBmb3IgIiAuICRuYW1lLCBudWxsLCAkdGhpcy0+aW5kZXgsICR0aGlzLT5jdXJyZW50RmlsZUluZm8pOwoJCX0KCgkJJHRoaXMtPmV2YWx1YXRpbmcgPSB0cnVlOwoKCQlmb3JlYWNoKCRlbnYtPmZyYW1lcyBhcyAkZnJhbWUpewoJCQlpZiggJHYgPSAkZnJhbWUtPnZhcmlhYmxlKCRuYW1lKSApewoJCQkJJHIgPSAkdi0+dmFsdWUtPmNvbXBpbGUoJGVudik7CgkJCQkkdGhpcy0+ZXZhbHVhdGluZyA9IGZhbHNlOwoJCQkJcmV0dXJuICRyOwoJCQl9CgkJfQoKCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIoInZhcmlhYmxlICIgLiAkbmFtZSAuICIgaXMgdW5kZWZpbmVkIGluIGZpbGUgIi4kdGhpcy0+Y3VycmVudEZpbGVJbmZvWyJmaWxlbmFtZSJdLCBudWxsLCAkdGhpcy0+aW5kZXggKTsKCX0KCn0K]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Version.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBSZWxlYXNlIG51bWJlcnMKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB2ZXJzaW9uCiAqLwpjbGFzcyBMZXNzX1ZlcnNpb257CgoJY29uc3QgdmVyc2lvbiA9ICcxLjcuMC4yJzsJCQkvLyBUaGUgY3VycmVudCBidWlsZCBudW1iZXIgb2YgbGVzcy5waHAKCWNvbnN0IGxlc3NfdmVyc2lvbiA9ICcxLjcnOwkJCS8vIFRoZSBsZXNzLmpzIHZlcnNpb24gdGhhdCB0aGlzIGJ1aWxkIHNob3VsZCBiZSBjb21wYXRpYmxlIHdpdGgKICAgIGNvbnN0IGNhY2hlX3ZlcnNpb24gPSAnMTcwJzsJCS8vIFRoZSBwYXJzZXIgY2FjaGUgdmVyc2lvbgoKfQ==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Visitor.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBWaXNpdG9yCiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdmlzaXRvcgogKi8KY2xhc3MgTGVzc19WaXNpdG9yewoKCXByb3RlY3RlZCAkbWV0aG9kcyA9IGFycmF5KCk7Cglwcm90ZWN0ZWQgJF92aXNpdEZuQ2FjaGUgPSBhcnJheSgpOwoKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpewoJCSR0aGlzLT5fdmlzaXRGbkNhY2hlID0gZ2V0X2NsYXNzX21ldGhvZHMoZ2V0X2NsYXNzKCR0aGlzKSk7CgkJJHRoaXMtPl92aXNpdEZuQ2FjaGUgPSBhcnJheV9mbGlwKCR0aGlzLT5fdmlzaXRGbkNhY2hlKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdmlzaXRPYmooICRub2RlICl7CgoJCSRmdW5jTmFtZSA9ICd2aXNpdCcuJG5vZGUtPnR5cGU7CgkJaWYoIGlzc2V0KCR0aGlzLT5fdmlzaXRGbkNhY2hlWyRmdW5jTmFtZV0pICl7CgoJCQkkdmlzaXREZWVwZXIgPSB0cnVlOwoJCQkkdGhpcy0+JGZ1bmNOYW1lKCAkbm9kZSwgJHZpc2l0RGVlcGVyICk7CgoJCQlpZiggJHZpc2l0RGVlcGVyICl7CgkJCQkkbm9kZS0+YWNjZXB0KCR0aGlzKTsKCQkJfQoKCQkJJGZ1bmNOYW1lID0gJGZ1bmNOYW1lIC4gIk91dCI7CgkJCWlmKCBpc3NldCgkdGhpcy0+X3Zpc2l0Rm5DYWNoZVskZnVuY05hbWVdKSApewoJCQkJJHRoaXMtPiRmdW5jTmFtZSggJG5vZGUgKTsKCQkJfQoKCQl9ZWxzZXsKCQkJJG5vZGUtPmFjY2VwdCgkdGhpcyk7CgkJfQoKCQlyZXR1cm4gJG5vZGU7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHZpc2l0QXJyYXkoICRub2RlcyApewoKCQlhcnJheV9tYXAoIGFycmF5KCR0aGlzLCd2aXNpdE9iaicpLCAkbm9kZXMpOwoJCXJldHVybiAkbm9kZXM7Cgl9Cn0KCg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Visitor/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Visitor/extendFinder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBFeHRlbmQgRmluZGVyIFZpc2l0b3IKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB2aXNpdG9yCiAqLwpjbGFzcyBMZXNzX1Zpc2l0b3JfZXh0ZW5kRmluZGVyIGV4dGVuZHMgTGVzc19WaXNpdG9yewoKCXB1YmxpYyAkY29udGV4dHMgPSBhcnJheSgpOwoJcHVibGljICRhbGxFeHRlbmRzU3RhY2s7CglwdWJsaWMgJGZvdW5kRXh0ZW5kczsKCglwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKXsKCQkkdGhpcy0+Y29udGV4dHMgPSBhcnJheSgpOwoJCSR0aGlzLT5hbGxFeHRlbmRzU3RhY2sgPSBhcnJheShhcnJheSgpKTsKCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCk7Cgl9CgoJLyoqCgkgKiBAcGFyYW0gTGVzc19UcmVlX1J1bGVzZXQgJHJvb3QKCSAqLwogICAgcHVibGljIGZ1bmN0aW9uIHJ1bigkcm9vdCl7CgkJJHJvb3QgPSAkdGhpcy0+dmlzaXRPYmooJHJvb3QpOwoJCSRyb290LT5hbGxFeHRlbmRzID0mICR0aGlzLT5hbGxFeHRlbmRzU3RhY2tbMF07CgkJcmV0dXJuICRyb290OwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdFJ1bGUoJHJ1bGVOb2RlLCAmJHZpc2l0RGVlcGVyICl7CgkJJHZpc2l0RGVlcGVyID0gZmFsc2U7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIHZpc2l0TWl4aW5EZWZpbml0aW9uKCAkbWl4aW5EZWZpbml0aW9uTm9kZSwgJiR2aXNpdERlZXBlciApewoJCSR2aXNpdERlZXBlciA9IGZhbHNlOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdFJ1bGVzZXQoJHJ1bGVzZXROb2RlKXsKCgkJaWYoICRydWxlc2V0Tm9kZS0+cm9vdCApewoJCQlyZXR1cm47CgkJfQoKCQkkYWxsU2VsZWN0b3JzRXh0ZW5kTGlzdCA9IGFycmF5KCk7CgoJCS8vIGdldCAmOmV4dGVuZCguYSk7IHJ1bGVzIHdoaWNoIGFwcGx5IHRvIGFsbCBzZWxlY3RvcnMgaW4gdGhpcyBydWxlc2V0CgkJaWYoICRydWxlc2V0Tm9kZS0+cnVsZXMgKXsKCQkJZm9yZWFjaCgkcnVsZXNldE5vZGUtPnJ1bGVzIGFzICRydWxlKXsKCQkJCWlmKCAkcnVsZSBpbnN0YW5jZW9mIExlc3NfVHJlZV9FeHRlbmQgKXsKCQkJCQkkYWxsU2VsZWN0b3JzRXh0ZW5kTGlzdFtdID0gJHJ1bGU7CgkJCQkJJHJ1bGVzZXROb2RlLT5leHRlbmRPbkV2ZXJ5UGF0aCA9IHRydWU7CgkJCQl9CgkJCX0KCQl9CgoKCQkvLyBub3cgZmluZCBldmVyeSBzZWxlY3RvciBhbmQgYXBwbHkgdGhlIGV4dGVuZHMgdGhhdCBhcHBseSB0byBhbGwgZXh0ZW5kcwoJCS8vIGFuZCB0aGUgb25lcyB3aGljaCBhcHBseSB0byBhbiBpbmRpdmlkdWFsIGV4dGVuZAoJCWZvcmVhY2goJHJ1bGVzZXROb2RlLT5wYXRocyBhcyAkc2VsZWN0b3JQYXRoKXsKCQkJJHNlbGVjdG9yID0gZW5kKCRzZWxlY3RvclBhdGgpOyAvLyRzZWxlY3RvclBhdGhbIGNvdW50KCRzZWxlY3RvclBhdGgpLTFdOwoKCQkJJGogPSAwOwoJCQlmb3JlYWNoKCRzZWxlY3Rvci0+ZXh0ZW5kTGlzdCBhcyAkZXh0ZW5kKXsKCQkJCSR0aGlzLT5hbGxFeHRlbmRzU3RhY2tQdXNoKCRydWxlc2V0Tm9kZSwgJHNlbGVjdG9yUGF0aCwgJGV4dGVuZCwgJGopOwoJCQl9CgkJCWZvcmVhY2goJGFsbFNlbGVjdG9yc0V4dGVuZExpc3QgYXMgJGV4dGVuZCl7CgkJCQkkdGhpcy0+YWxsRXh0ZW5kc1N0YWNrUHVzaCgkcnVsZXNldE5vZGUsICRzZWxlY3RvclBhdGgsICRleHRlbmQsICRqKTsKCQkJfQoJCX0KCgkJJHRoaXMtPmNvbnRleHRzW10gPSAkcnVsZXNldE5vZGUtPnNlbGVjdG9yczsKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gYWxsRXh0ZW5kc1N0YWNrUHVzaCgkcnVsZXNldE5vZGUsICRzZWxlY3RvclBhdGgsICRleHRlbmQsICYkail7CgkJJHRoaXMtPmZvdW5kRXh0ZW5kcyA9IHRydWU7CgkJJGV4dGVuZCA9IGNsb25lICRleHRlbmQ7CgkJJGV4dGVuZC0+ZmluZFNlbGZTZWxlY3RvcnMoICRzZWxlY3RvclBhdGggKTsKCQkkZXh0ZW5kLT5ydWxlc2V0ID0gJHJ1bGVzZXROb2RlOwoJCWlmKCAkaiA9PT0gMCApewoJCQkkZXh0ZW5kLT5maXJzdEV4dGVuZE9uVGhpc1NlbGVjdG9yUGF0aCA9IHRydWU7CgkJfQoKCQkkZW5kX2tleSA9IGNvdW50KCR0aGlzLT5hbGxFeHRlbmRzU3RhY2spLTE7CgkJJHRoaXMtPmFsbEV4dGVuZHNTdGFja1skZW5kX2tleV1bXSA9ICRleHRlbmQ7CgkJJGorKzsKCX0KCgogICAgcHVibGljIGZ1bmN0aW9uIHZpc2l0UnVsZXNldE91dCggJHJ1bGVzZXROb2RlICl7CgkJaWYoICFpc19vYmplY3QoJHJ1bGVzZXROb2RlKSB8fCAhJHJ1bGVzZXROb2RlLT5yb290ICl7CgkJCWFycmF5X3BvcCgkdGhpcy0+Y29udGV4dHMpOwoJCX0KCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmlzaXRNZWRpYSggJG1lZGlhTm9kZSApewoJCSRtZWRpYU5vZGUtPmFsbEV4dGVuZHMgPSBhcnJheSgpOwoJCSR0aGlzLT5hbGxFeHRlbmRzU3RhY2tbXSA9JiAkbWVkaWFOb2RlLT5hbGxFeHRlbmRzOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdE1lZGlhT3V0KCl7CgkJYXJyYXlfcG9wKCR0aGlzLT5hbGxFeHRlbmRzU3RhY2spOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdERpcmVjdGl2ZSggJGRpcmVjdGl2ZU5vZGUgKXsKCQkkZGlyZWN0aXZlTm9kZS0+YWxsRXh0ZW5kcyA9IGFycmF5KCk7CgkJJHRoaXMtPmFsbEV4dGVuZHNTdGFja1tdID0mICRkaXJlY3RpdmVOb2RlLT5hbGxFeHRlbmRzOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdERpcmVjdGl2ZU91dCgpewoJCWFycmF5X3BvcCgkdGhpcy0+YWxsRXh0ZW5kc1N0YWNrKTsKCX0KfQoKCg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Visitor/import.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCmNsYXNzIExlc3NfVmlzaXRvcl9pbXBvcnQgZXh0ZW5kcyBMZXNzX1Zpc2l0b3JSZXBsYWNpbmd7CgoJcHVibGljICRfdmlzaXRvcjsKCXB1YmxpYyAkX2ltcG9ydGVyOwoJcHVibGljICRpbXBvcnRDb3VudDsKCglmdW5jdGlvbiBfX2NvbnN0cnVjdCggJGV2YWxFbnYgKXsKCQkkdGhpcy0+ZW52ID0gJGV2YWxFbnY7CgkJJHRoaXMtPmltcG9ydENvdW50ID0gMDsKCQlwYXJlbnQ6Ol9fY29uc3RydWN0KCk7Cgl9CgoKCWZ1bmN0aW9uIHJ1biggJHJvb3QgKXsKCQkkcm9vdCA9ICR0aGlzLT52aXNpdE9iaigkcm9vdCk7CgkJJHRoaXMtPmlzRmluaXNoZWQgPSB0cnVlOwoKCQkvL2lmKCAkdGhpcy0+aW1wb3J0Q291bnQgPT09IDApIHsKCQkvLwkkdGhpcy0+X2ZpbmlzaCgpOwoJCS8vfQoJfQoKCWZ1bmN0aW9uIHZpc2l0SW1wb3J0KCRpbXBvcnROb2RlLCAmJHZpc2l0RGVlcGVyICl7CgkJJGltcG9ydFZpc2l0b3IgPSAkdGhpczsKCQkkaW5saW5lQ1NTID0gJGltcG9ydE5vZGUtPm9wdGlvbnNbJ2lubGluZSddOwoKCQlpZiggISRpbXBvcnROb2RlLT5jc3MgfHwgJGlubGluZUNTUyApewoJCQkkZXZhbGRJbXBvcnROb2RlID0gJGltcG9ydE5vZGUtPmNvbXBpbGVGb3JJbXBvcnQoJHRoaXMtPmVudik7CgoJCQlpZiggJGV2YWxkSW1wb3J0Tm9kZSAmJiAoISRldmFsZEltcG9ydE5vZGUtPmNzcyB8fCAkaW5saW5lQ1NTKSApewoJCQkJJGltcG9ydE5vZGUgPSAkZXZhbGRJbXBvcnROb2RlOwoJCQkJJHRoaXMtPmltcG9ydENvdW50Kys7CgkJCQkkZW52ID0gY2xvbmUgJHRoaXMtPmVudjsKCgkJCQlpZiggKGlzc2V0KCRpbXBvcnROb2RlLT5vcHRpb25zWydtdWx0aXBsZSddKSAmJiAkaW1wb3J0Tm9kZS0+b3B0aW9uc1snbXVsdGlwbGUnXSkgKXsKCQkJCQkkZW52LT5pbXBvcnRNdWx0aXBsZSA9IHRydWU7CgkJCQl9CgoJCQkJLy9nZXQgcGF0aCAmIHVyaQoJCQkJJHBhdGhfYW5kX3VyaSA9IG51bGw7CgkJCQlpZiggaXNfY2FsbGFibGUoTGVzc19QYXJzZXI6OiRvcHRpb25zWydpbXBvcnRfY2FsbGJhY2snXSkgKXsKCQkJCQkkcGF0aF9hbmRfdXJpID0gY2FsbF91c2VyX2Z1bmMoTGVzc19QYXJzZXI6OiRvcHRpb25zWydpbXBvcnRfY2FsbGJhY2snXSwkaW1wb3J0Tm9kZSk7CgkJCQl9CgoJCQkJaWYoICEkcGF0aF9hbmRfdXJpICl7CgkJCQkJJHBhdGhfYW5kX3VyaSA9ICRpbXBvcnROb2RlLT5QYXRoQW5kVXJpKCk7CgkJCQl9CgoJCQkJaWYoICRwYXRoX2FuZF91cmkgKXsKCQkJCQlsaXN0KCRmdWxsX3BhdGgsICR1cmkpID0gJHBhdGhfYW5kX3VyaTsKCQkJCX1lbHNlewoJCQkJCSRmdWxsX3BhdGggPSAkdXJpID0gJGltcG9ydE5vZGUtPmdldFBhdGgoKTsKCQkJCX0KCgoJCQkJLy9pbXBvcnQgb25jZQoJCQkJaWYoICRpbXBvcnROb2RlLT5za2lwKCAkZnVsbF9wYXRoLCAkZW52KSApewoJCQkJCXJldHVybiBhcnJheSgpOwoJCQkJfQoKCQkJCWlmKCAkaW1wb3J0Tm9kZS0+b3B0aW9uc1snaW5saW5lJ10gKXsKCQkJCQkvL3RvZG8gbmVlZHMgdG8gcmVmZXJlbmNlIGNzcyBmaWxlIG5vdCBpbXBvcnQKCQkJCQkvLyRjb250ZW50cyA9IG5ldyBMZXNzX1RyZWVfQW5vbnltb3VzKCRpbXBvcnROb2RlLT5yb290LCAwLCBhcnJheSgnZmlsZW5hbWUnPT4kaW1wb3J0Tm9kZS0+aW1wb3J0ZWRGaWxlbmFtZSksIHRydWUgKTsKCgkJCQkJTGVzc19QYXJzZXI6OkFkZFBhcnNlZEZpbGUoJGZ1bGxfcGF0aCk7CgkJCQkJJGNvbnRlbnRzID0gbmV3IExlc3NfVHJlZV9Bbm9ueW1vdXMoIGZpbGVfZ2V0X2NvbnRlbnRzKCRmdWxsX3BhdGgpLCAwLCBhcnJheSgpLCB0cnVlICk7CgoJCQkJCWlmKCAkaW1wb3J0Tm9kZS0+ZmVhdHVyZXMgKXsKCQkJCQkJcmV0dXJuIG5ldyBMZXNzX1RyZWVfTWVkaWEoIGFycmF5KCRjb250ZW50cyksICRpbXBvcnROb2RlLT5mZWF0dXJlcy0+dmFsdWUgKTsKCQkJCQl9CgoJCQkJCXJldHVybiBhcnJheSggJGNvbnRlbnRzICk7CgkJCQl9CgoKCQkJCS8vIGNzcyA/CgkJCQlpZiggJGltcG9ydE5vZGUtPmNzcyApewoJCQkJCSRmZWF0dXJlcyA9ICggJGltcG9ydE5vZGUtPmZlYXR1cmVzID8gJGltcG9ydE5vZGUtPmZlYXR1cmVzLT5jb21waWxlKCRlbnYpIDogbnVsbCApOwoJCQkJCXJldHVybiBuZXcgTGVzc19UcmVlX0ltcG9ydCggJGltcG9ydE5vZGUtPmNvbXBpbGVQYXRoKCAkZW52KSwgJGZlYXR1cmVzLCAkaW1wb3J0Tm9kZS0+b3B0aW9ucywgJHRoaXMtPmluZGV4KTsKCQkJCX0KCgkJCQlyZXR1cm4gJGltcG9ydE5vZGUtPlBhcnNlSW1wb3J0KCAkZnVsbF9wYXRoLCAkdXJpLCAkZW52ICk7CgkJCX0KCgkJfQoKCQkkdmlzaXREZWVwZXIgPSBmYWxzZTsKCQlyZXR1cm4gJGltcG9ydE5vZGU7Cgl9CgoKCWZ1bmN0aW9uIHZpc2l0UnVsZSggJHJ1bGVOb2RlLCAmJHZpc2l0RGVlcGVyICl7CgkJJHZpc2l0RGVlcGVyID0gZmFsc2U7CgkJcmV0dXJuICRydWxlTm9kZTsKCX0KCglmdW5jdGlvbiB2aXNpdERpcmVjdGl2ZSgkZGlyZWN0aXZlTm9kZSwgJHZpc2l0QXJncyl7CgkJYXJyYXlfdW5zaGlmdCgkdGhpcy0+ZW52LT5mcmFtZXMsJGRpcmVjdGl2ZU5vZGUpOwoJCXJldHVybiAkZGlyZWN0aXZlTm9kZTsKCX0KCglmdW5jdGlvbiB2aXNpdERpcmVjdGl2ZU91dCgkZGlyZWN0aXZlTm9kZSkgewoJCWFycmF5X3NoaWZ0KCR0aGlzLT5lbnYtPmZyYW1lcyk7Cgl9CgoJZnVuY3Rpb24gdmlzaXRNaXhpbkRlZmluaXRpb24oJG1peGluRGVmaW5pdGlvbk5vZGUsICR2aXNpdEFyZ3MpIHsKCQlhcnJheV91bnNoaWZ0KCR0aGlzLT5lbnYtPmZyYW1lcywkbWl4aW5EZWZpbml0aW9uTm9kZSk7CgkJcmV0dXJuICRtaXhpbkRlZmluaXRpb25Ob2RlOwoJfQoKCWZ1bmN0aW9uIHZpc2l0TWl4aW5EZWZpbml0aW9uT3V0KCRtaXhpbkRlZmluaXRpb25Ob2RlKSB7CgkJYXJyYXlfc2hpZnQoJHRoaXMtPmVudi0+ZnJhbWVzKTsKCX0KCglmdW5jdGlvbiB2aXNpdFJ1bGVzZXQoJHJ1bGVzZXROb2RlLCAkdmlzaXRBcmdzKSB7CgkJYXJyYXlfdW5zaGlmdCgkdGhpcy0+ZW52LT5mcmFtZXMsJHJ1bGVzZXROb2RlKTsKCQlyZXR1cm4gJHJ1bGVzZXROb2RlOwoJfQoKCWZ1bmN0aW9uIHZpc2l0UnVsZXNldE91dCgkcnVsZXNldE5vZGUpIHsKCQlhcnJheV9zaGlmdCgkdGhpcy0+ZW52LT5mcmFtZXMpOwoJfQoKCWZ1bmN0aW9uIHZpc2l0TWVkaWEoJG1lZGlhTm9kZSwgJHZpc2l0QXJncykgewoJCWFycmF5X3Vuc2hpZnQoJHRoaXMtPmVudi0+ZnJhbWVzLCAkbWVkaWFOb2RlLT5ydWxlc2V0KTsKCQlyZXR1cm4gJG1lZGlhTm9kZTsKCX0KCglmdW5jdGlvbiB2aXNpdE1lZGlhT3V0KCRtZWRpYU5vZGUpIHsKCQlhcnJheV9zaGlmdCgkdGhpcy0+ZW52LT5mcmFtZXMpOwoJfQoKfQoqLwoKCg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Visitor/joinSelector.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBKb2luIFNlbGVjdG9yIFZpc2l0b3IKICoKICogQHBhY2thZ2UgTGVzcwogKiBAc3VicGFja2FnZSB2aXNpdG9yCiAqLwpjbGFzcyBMZXNzX1Zpc2l0b3Jfam9pblNlbGVjdG9yIGV4dGVuZHMgTGVzc19WaXNpdG9yewoKCXB1YmxpYyAkY29udGV4dHMgPSBhcnJheSggYXJyYXkoKSApOwoKCS8qKgoJICogQHBhcmFtIExlc3NfVHJlZV9SdWxlc2V0ICRyb290CgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBydW4oICRyb290ICl7CgkJcmV0dXJuICR0aGlzLT52aXNpdE9iaigkcm9vdCk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIHZpc2l0UnVsZSggJHJ1bGVOb2RlLCAmJHZpc2l0RGVlcGVyICl7CgkJJHZpc2l0RGVlcGVyID0gZmFsc2U7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIHZpc2l0TWl4aW5EZWZpbml0aW9uKCAkbWl4aW5EZWZpbml0aW9uTm9kZSwgJiR2aXNpdERlZXBlciApewoJCSR2aXNpdERlZXBlciA9IGZhbHNlOwoJfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB2aXNpdFJ1bGVzZXQoICRydWxlc2V0Tm9kZSApewoKCQkkcGF0aHMgPSBhcnJheSgpOwoKCQlpZiggISRydWxlc2V0Tm9kZS0+cm9vdCApewoJCQkkc2VsZWN0b3JzID0gYXJyYXkoKTsKCgkJCWlmKCAkcnVsZXNldE5vZGUtPnNlbGVjdG9ycyAmJiAkcnVsZXNldE5vZGUtPnNlbGVjdG9ycyApewoJCQkJZm9yZWFjaCgkcnVsZXNldE5vZGUtPnNlbGVjdG9ycyBhcyAkc2VsZWN0b3IpewoJCQkJCWlmKCAkc2VsZWN0b3ItPmdldElzT3V0cHV0KCkgKXsKCQkJCQkJJHNlbGVjdG9yc1tdID0gJHNlbGVjdG9yOwoJCQkJCX0KCQkJCX0KCQkJfQoKCQkJaWYoICEkc2VsZWN0b3JzICl7CgkJCQkkcnVsZXNldE5vZGUtPnNlbGVjdG9ycyA9IG51bGw7CgkJCQkkcnVsZXNldE5vZGUtPnJ1bGVzID0gbnVsbDsKCQkJfWVsc2V7CgkJCQkkY29udGV4dCA9IGVuZCgkdGhpcy0+Y29udGV4dHMpOyAvLyRjb250ZXh0ID0gJHRoaXMtPmNvbnRleHRzWyBjb3VudCgkdGhpcy0+Y29udGV4dHMpIC0gMV07CgkJCQkkcGF0aHMgPSAkcnVsZXNldE5vZGUtPmpvaW5TZWxlY3RvcnMoICRjb250ZXh0LCAkc2VsZWN0b3JzKTsKCQkJfQoKCQkJJHJ1bGVzZXROb2RlLT5wYXRocyA9ICRwYXRoczsKCQl9CgoJCSR0aGlzLT5jb250ZXh0c1tdID0gJHBhdGhzOyAvL2RpZmZlcmVudCBmcm9tIGxlc3MuanMuIFBsYWNlZCBhZnRlciBqb2luU2VsZWN0b3JzKCkgc28gdGhhdCAkdGhpcy0+Y29udGV4dHMgd2lsbCBnZXQgY29ycmVjdCAkcGF0aHMKCX0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmlzaXRSdWxlc2V0T3V0KCl7CgkJYXJyYXlfcG9wKCR0aGlzLT5jb250ZXh0cyk7Cgl9CgogICAgcHVibGljIGZ1bmN0aW9uIHZpc2l0TWVkaWEoJG1lZGlhTm9kZSkgewoJCSRjb250ZXh0ID0gZW5kKCR0aGlzLT5jb250ZXh0cyk7IC8vJGNvbnRleHQgPSAkdGhpcy0+Y29udGV4dHNbIGNvdW50KCR0aGlzLT5jb250ZXh0cykgLSAxXTsKCgkJaWYoICFjb3VudCgkY29udGV4dCkgfHwgKGlzX29iamVjdCgkY29udGV4dFswXSkgJiYgJGNvbnRleHRbMF0tPm11bHRpTWVkaWEpICl7CgkJCSRtZWRpYU5vZGUtPnJ1bGVzWzBdLT5yb290ID0gdHJ1ZTsKCQl9Cgl9Cgp9Cgo=]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Visitor/processExtends.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBQcm9jZXNzIEV4dGVuZHMgVmlzaXRvcgogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHZpc2l0b3IKICovCmNsYXNzIExlc3NfVmlzaXRvcl9wcm9jZXNzRXh0ZW5kcyBleHRlbmRzIExlc3NfVmlzaXRvcnsKCglwdWJsaWMgJGFsbEV4dGVuZHNTdGFjazsKCgkvKioKCSAqIEBwYXJhbSBMZXNzX1RyZWVfUnVsZXNldCAkcm9vdAoJICovCglwdWJsaWMgZnVuY3Rpb24gcnVuKCAkcm9vdCApewoJCSRleHRlbmRGaW5kZXIgPSBuZXcgTGVzc19WaXNpdG9yX2V4dGVuZEZpbmRlcigpOwoJCSRleHRlbmRGaW5kZXItPnJ1biggJHJvb3QgKTsKCQlpZiggISRleHRlbmRGaW5kZXItPmZvdW5kRXh0ZW5kcyl7CgkJCXJldHVybiAkcm9vdDsKCQl9CgoJCSRyb290LT5hbGxFeHRlbmRzID0gJHRoaXMtPmRvRXh0ZW5kQ2hhaW5pbmcoICRyb290LT5hbGxFeHRlbmRzLCAkcm9vdC0+YWxsRXh0ZW5kcyk7CgoJCSR0aGlzLT5hbGxFeHRlbmRzU3RhY2sgPSBhcnJheSgpOwoJCSR0aGlzLT5hbGxFeHRlbmRzU3RhY2tbXSA9ICYkcm9vdC0+YWxsRXh0ZW5kczsKCgkJcmV0dXJuICR0aGlzLT52aXNpdE9iaiggJHJvb3QgKTsKCX0KCglwcml2YXRlIGZ1bmN0aW9uIGRvRXh0ZW5kQ2hhaW5pbmcoICRleHRlbmRzTGlzdCwgJGV4dGVuZHNMaXN0VGFyZ2V0LCAkaXRlcmF0aW9uQ291bnQgPSAwKXsKCQkvLwoJCS8vIGNoYWluaW5nIGlzIGRpZmZlcmVudCBmcm9tIG5vcm1hbCBleHRlbnNpb24uLiBpZiB3ZSBleHRlbmQgYW4gZXh0ZW5kIHRoZW4gd2UgYXJlIG5vdCBqdXN0IGNvcHlpbmcsIGFsdGVyaW5nIGFuZCBwYXN0aW5nCgkJLy8gdGhlIHNlbGVjdG9yIHdlIHdvdWxkIGRvIG5vcm1hbGx5LCBidXQgd2UgYXJlIGFsc28gYWRkaW5nIGFuIGV4dGVuZCB3aXRoIHRoZSBzYW1lIHRhcmdldCBzZWxlY3RvcgoJCS8vIHRoaXMgbWVhbnMgdGhpcyBuZXcgZXh0ZW5kIGNhbiB0aGVuIGdvIGFuZCBhbHRlciBvdGhlciBleHRlbmRzCgkJLy8KCQkvLyB0aGlzIG1ldGhvZCBkZWFscyB3aXRoIGFsbCB0aGUgY2hhaW5pbmcgd29yayAtIHdpdGhvdXQgaXQsIGV4dGVuZCBpcyBmbGF0IGFuZCBkb2Vzbid0IHdvcmsgb24gb3RoZXIgZXh0ZW5kIHNlbGVjdG9ycwoJCS8vIHRoaXMgaXMgYWxzbyB0aGUgbW9zdCBleHBlbnNpdmUuLiBhbmQgYSBtYXRjaCBvbiBvbmUgc2VsZWN0b3IgY2FuIGNhdXNlIGFuIGV4dGVuc2lvbiBvZiBhIHNlbGVjdG9yIHdlIGhhZCBhbHJlYWR5IHByb2Nlc3NlZCBpZgoJCS8vIHdlIGxvb2sgYXQgZWFjaCBzZWxlY3RvciBhdCBhIHRpbWUsIGFzIGlzIGRvbmUgaW4gdmlzaXRSdWxlc2V0CgoJCSRleHRlbmRzVG9BZGQgPSBhcnJheSgpOwoKCgkJLy9sb29wIHRocm91Z2ggY29tcGFyaW5nIGV2ZXJ5IGV4dGVuZCB3aXRoIGV2ZXJ5IHRhcmdldCBleHRlbmQuCgkJLy8gYSB0YXJnZXQgZXh0ZW5kIGlzIHRoZSBvbmUgb24gdGhlIHJ1bGVzZXQgd2UgYXJlIGxvb2tpbmcgYXQgY29weS9lZGl0L3Bhc3RpbmcgaW4gcGxhY2UKCQkvLyBlLmcuIC5hOmV4dGVuZCguYikge30gYW5kIC5iOmV4dGVuZCguYykge30gdGhlbiB0aGUgZmlyc3QgZXh0ZW5kIGV4dGVuZHMgdGhlIHNlY29uZCBvbmUKCQkvLyBhbmQgdGhlIHNlY29uZCBpcyB0aGUgdGFyZ2V0LgoJCS8vIHRoZSBzZXBlcmF0aW9uIGludG8gdHdvIGxpc3RzIGFsbG93cyB1cyB0byBwcm9jZXNzIGEgc3Vic2V0IG9mIGNoYWlucyB3aXRoIGEgYmlnZ2VyIHNldCwgYXMgaXMgdGhlCgkJLy8gY2FzZSB3aGVuIHByb2Nlc3NpbmcgbWVkaWEgcXVlcmllcwoJCWZvciggJGV4dGVuZEluZGV4ID0gMCwgJGV4dGVuZHNMaXN0X2xlbiA9IGNvdW50KCRleHRlbmRzTGlzdCk7ICRleHRlbmRJbmRleCA8ICRleHRlbmRzTGlzdF9sZW47ICRleHRlbmRJbmRleCsrICl7CgkJCWZvciggJHRhcmdldEV4dGVuZEluZGV4ID0gMDsgJHRhcmdldEV4dGVuZEluZGV4IDwgY291bnQoJGV4dGVuZHNMaXN0VGFyZ2V0KTsgJHRhcmdldEV4dGVuZEluZGV4KysgKXsKCgkJCQkkZXh0ZW5kID0gJGV4dGVuZHNMaXN0WyRleHRlbmRJbmRleF07CgkJCQkkdGFyZ2V0RXh0ZW5kID0gJGV4dGVuZHNMaXN0VGFyZ2V0WyR0YXJnZXRFeHRlbmRJbmRleF07CgoJCQkJLy8gbG9vayBmb3IgY2lyY3VsYXIgcmVmZXJlbmNlcwoJCQkJaWYoIGluX2FycmF5KCR0YXJnZXRFeHRlbmQtPm9iamVjdF9pZCwgJGV4dGVuZC0+cGFyZW50X2lkcyx0cnVlKSApewoJCQkJCWNvbnRpbnVlOwoJCQkJfQoKCQkJCS8vIGZpbmQgYSBtYXRjaCBpbiB0aGUgdGFyZ2V0IGV4dGVuZHMgc2VsZiBzZWxlY3RvciAodGhlIGJpdCBiZWZvcmUgOmV4dGVuZCkKCQkJCSRzZWxlY3RvclBhdGggPSBhcnJheSggJHRhcmdldEV4dGVuZC0+c2VsZlNlbGVjdG9yc1swXSApOwoJCQkJJG1hdGNoZXMgPSAkdGhpcy0+ZmluZE1hdGNoKCAkZXh0ZW5kLCAkc2VsZWN0b3JQYXRoKTsKCgoJCQkJaWYoICRtYXRjaGVzICl7CgoJCQkJCS8vIHdlIGZvdW5kIGEgbWF0Y2gsIHNvIGZvciBlYWNoIHNlbGYgc2VsZWN0b3IuLgoJCQkJCWZvcmVhY2goJGV4dGVuZC0+c2VsZlNlbGVjdG9ycyBhcyAkc2VsZlNlbGVjdG9yICl7CgoKCQkJCQkJLy8gcHJvY2VzcyB0aGUgZXh0ZW5kIGFzIHVzdWFsCgkJCQkJCSRuZXdTZWxlY3RvciA9ICR0aGlzLT5leHRlbmRTZWxlY3RvciggJG1hdGNoZXMsICRzZWxlY3RvclBhdGgsICRzZWxmU2VsZWN0b3IpOwoKCQkJCQkJLy8gYnV0IG5vdyB3ZSBjcmVhdGUgYSBuZXcgZXh0ZW5kIGZyb20gaXQKCQkJCQkJJG5ld0V4dGVuZCA9IG5ldyBMZXNzX1RyZWVfRXh0ZW5kKCAkdGFyZ2V0RXh0ZW5kLT5zZWxlY3RvciwgJHRhcmdldEV4dGVuZC0+b3B0aW9uLCAwKTsKCQkJCQkJJG5ld0V4dGVuZC0+c2VsZlNlbGVjdG9ycyA9ICRuZXdTZWxlY3RvcjsKCgkJCQkJCS8vIGFkZCB0aGUgZXh0ZW5kIG9udG8gdGhlIGxpc3Qgb2YgZXh0ZW5kcyBmb3IgdGhhdCBzZWxlY3RvcgoJCQkJCQllbmQoJG5ld1NlbGVjdG9yKS0+ZXh0ZW5kTGlzdCA9IGFycmF5KCRuZXdFeHRlbmQpOwoJCQkJCQkvLyRuZXdTZWxlY3RvclsgY291bnQoJG5ld1NlbGVjdG9yKS0xXS0+ZXh0ZW5kTGlzdCA9IGFycmF5KCRuZXdFeHRlbmQpOwoKCQkJCQkJLy8gcmVjb3JkIHRoYXQgd2UgbmVlZCB0byBhZGQgaXQuCgkJCQkJCSRleHRlbmRzVG9BZGRbXSA9ICRuZXdFeHRlbmQ7CgkJCQkJCSRuZXdFeHRlbmQtPnJ1bGVzZXQgPSAkdGFyZ2V0RXh0ZW5kLT5ydWxlc2V0OwoKCQkJCQkJLy9yZW1lbWJlciBpdHMgcGFyZW50cyBmb3IgY2lyY3VsYXIgcmVmZXJlbmNlcwoJCQkJCQkkbmV3RXh0ZW5kLT5wYXJlbnRfaWRzID0gYXJyYXlfbWVyZ2UoJG5ld0V4dGVuZC0+cGFyZW50X2lkcywkdGFyZ2V0RXh0ZW5kLT5wYXJlbnRfaWRzLCRleHRlbmQtPnBhcmVudF9pZHMpOwoKCQkJCQkJLy8gb25seSBwcm9jZXNzIHRoZSBzZWxlY3RvciBvbmNlLi4gaWYgd2UgaGF2ZSA6ZXh0ZW5kKC5hLC5iKSB0aGVuIG11bHRpcGxlCgkJCQkJCS8vIGV4dGVuZHMgd2lsbCBsb29rIGF0IHRoZSBzYW1lIHNlbGVjdG9yIHBhdGgsIHNvIHdoZW4gZXh0ZW5kaW5nCgkJCQkJCS8vIHdlIGtub3cgdGhhdCBhbnkgb3RoZXJzIHdpbGwgYmUgZHVwbGljYXRlcyBpbiB0ZXJtcyBvZiB3aGF0IGlzIGFkZGVkIHRvIHRoZSBjc3MKCQkJCQkJaWYoICR0YXJnZXRFeHRlbmQtPmZpcnN0RXh0ZW5kT25UaGlzU2VsZWN0b3JQYXRoICl7CgkJCQkJCQkkbmV3RXh0ZW5kLT5maXJzdEV4dGVuZE9uVGhpc1NlbGVjdG9yUGF0aCA9IHRydWU7CgkJCQkJCQkkdGFyZ2V0RXh0ZW5kLT5ydWxlc2V0LT5wYXRoc1tdID0gJG5ld1NlbGVjdG9yOwoJCQkJCQl9CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQoKCQlpZiggJGV4dGVuZHNUb0FkZCApewoJCQkvLyB0cnkgdG8gZGV0ZWN0IGNpcmN1bGFyIHJlZmVyZW5jZXMgdG8gc3RvcCBhIHN0YWNrIG92ZXJmbG93LgoJCQkvLyBtYXkgbm8gbG9uZ2VyIGJlIG5lZWRlZC4JCQkkdGhpcy0+ZXh0ZW5kQ2hhaW5Db3VudCsrOwoJCQlpZiggJGl0ZXJhdGlvbkNvdW50ID4gMTAwKSB7CgoJCQkJdHJ5ewoJCQkJCSRzZWxlY3Rvck9uZSA9ICRleHRlbmRzVG9BZGRbMF0tPnNlbGZTZWxlY3RvcnNbMF0tPnRvQ1NTKCk7CgkJCQkJJHNlbGVjdG9yVHdvID0gJGV4dGVuZHNUb0FkZFswXS0+c2VsZWN0b3ItPnRvQ1NTKCk7CgkJCQl9Y2F0Y2goRXhjZXB0aW9uICRlKXsKCQkJCQkkc2VsZWN0b3JPbmUgPSAie3VuYWJsZSB0byBjYWxjdWxhdGV9IjsKCQkJCQkkc2VsZWN0b3JUd28gPSAie3VuYWJsZSB0byBjYWxjdWxhdGV9IjsKCQkJCX0KCgkJCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fUGFyc2VyKCJleHRlbmQgY2lyY3VsYXIgcmVmZXJlbmNlIGRldGVjdGVkLiBPbmUgb2YgdGhlIGNpcmN1bGFyIGV4dGVuZHMgaXMgY3VycmVudGx5OiIrJHNlbGVjdG9yT25lKyI6ZXh0ZW5kKCIgKyAkc2VsZWN0b3JUd28rIikiKTsKCQkJfQoKCQkJLy8gbm93IHByb2Nlc3MgdGhlIG5ldyBleHRlbmRzIG9uIHRoZSBleGlzdGluZyBydWxlcyBzbyB0aGF0IHdlIGNhbiBoYW5kbGUgYSBleHRlbmRpbmcgYiBleHRlbmRpbmcgYyBlY3RlbmRpbmcgZCBleHRlbmRpbmcgZS4uLgoJCQkkZXh0ZW5kc1RvQWRkID0gJHRoaXMtPmRvRXh0ZW5kQ2hhaW5pbmcoICRleHRlbmRzVG9BZGQsICRleHRlbmRzTGlzdFRhcmdldCwgJGl0ZXJhdGlvbkNvdW50KzEpOwoJCX0KCgkJcmV0dXJuIGFycmF5X21lcmdlKCRleHRlbmRzTGlzdCwgJGV4dGVuZHNUb0FkZCk7Cgl9CgoKCXByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdFJ1bGUoICRydWxlTm9kZSwgJiR2aXNpdERlZXBlciApewoJCSR2aXNpdERlZXBlciA9IGZhbHNlOwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdE1peGluRGVmaW5pdGlvbiggJG1peGluRGVmaW5pdGlvbk5vZGUsICYkdmlzaXREZWVwZXIgKXsKCQkkdmlzaXREZWVwZXIgPSBmYWxzZTsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gdmlzaXRTZWxlY3RvciggJHNlbGVjdG9yTm9kZSwgJiR2aXNpdERlZXBlciApewoJCSR2aXNpdERlZXBlciA9IGZhbHNlOwoJfQoKCXByb3RlY3RlZCBmdW5jdGlvbiB2aXNpdFJ1bGVzZXQoJHJ1bGVzZXROb2RlKXsKCgoJCWlmKCAkcnVsZXNldE5vZGUtPnJvb3QgKXsKCQkJcmV0dXJuOwoJCX0KCgkJJGFsbEV4dGVuZHMJPSBlbmQoJHRoaXMtPmFsbEV4dGVuZHNTdGFjayk7CgkJJHBhdGhzX2xlbiA9IGNvdW50KCRydWxlc2V0Tm9kZS0+cGF0aHMpOwoKCQkvLyBsb29rIGF0IGVhY2ggc2VsZWN0b3IgcGF0aCBpbiB0aGUgcnVsZXNldCwgZmluZCBhbnkgZXh0ZW5kIG1hdGNoZXMgYW5kIHRoZW4gY29weSwgZmluZCBhbmQgcmVwbGFjZQoJCWZvcmVhY2goJGFsbEV4dGVuZHMgYXMgJGFsbEV4dGVuZCl7CgkJCWZvcigkcGF0aEluZGV4ID0gMDsgJHBhdGhJbmRleCA8ICRwYXRoc19sZW47ICRwYXRoSW5kZXgrKyApewoKCQkJCS8vIGV4dGVuZGluZyBleHRlbmRzIGhhcHBlbnMgaW5pdGlhbGx5LCBiZWZvcmUgdGhlIG1haW4gcGFzcwoJCQkJaWYoIGlzc2V0KCRydWxlc2V0Tm9kZS0+ZXh0ZW5kT25FdmVyeVBhdGgpICYmICRydWxlc2V0Tm9kZS0+ZXh0ZW5kT25FdmVyeVBhdGggKXsKCQkJCQljb250aW51ZTsKCQkJCX0KCgkJCQkkc2VsZWN0b3JQYXRoID0gJHJ1bGVzZXROb2RlLT5wYXRoc1skcGF0aEluZGV4XTsKCgkJCQlpZiggZW5kKCRzZWxlY3RvclBhdGgpLT5leHRlbmRMaXN0ICl7CgkJCQkJY29udGludWU7CgkJCQl9CgoJCQkJJHRoaXMtPkV4dGVuZE1hdGNoKCAkcnVsZXNldE5vZGUsICRhbGxFeHRlbmQsICRzZWxlY3RvclBhdGgpOwoKCQkJfQoJCX0KCX0KCgoJcHJpdmF0ZSBmdW5jdGlvbiBFeHRlbmRNYXRjaCggJHJ1bGVzZXROb2RlLCAkZXh0ZW5kLCAkc2VsZWN0b3JQYXRoICl7CgkJJG1hdGNoZXMgPSAkdGhpcy0+ZmluZE1hdGNoKCRleHRlbmQsICRzZWxlY3RvclBhdGgpOwoKCQlpZiggJG1hdGNoZXMgKXsKCQkJZm9yZWFjaCgkZXh0ZW5kLT5zZWxmU2VsZWN0b3JzIGFzICRzZWxmU2VsZWN0b3IgKXsKCQkJCSRydWxlc2V0Tm9kZS0+cGF0aHNbXSA9ICR0aGlzLT5leHRlbmRTZWxlY3RvcigkbWF0Y2hlcywgJHNlbGVjdG9yUGF0aCwgJHNlbGZTZWxlY3Rvcik7CgkJCX0KCQl9Cgl9CgoKCglwcml2YXRlIGZ1bmN0aW9uIGZpbmRNYXRjaCgkZXh0ZW5kLCAkaGF5c3RhY2tTZWxlY3RvclBhdGggKXsKCgoJCWlmKCAhJHRoaXMtPkhhc01hdGNoZXMoJGV4dGVuZCwgJGhheXN0YWNrU2VsZWN0b3JQYXRoKSApewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCgkJLy8KCQkvLyBsb29rIHRocm91Z2ggdGhlIGhheXN0YWNrIHNlbGVjdG9yIHBhdGggdG8gdHJ5IGFuZCBmaW5kIHRoZSBuZWVkbGUgLSBleHRlbmQuc2VsZWN0b3IKCQkvLyByZXR1cm5zIGFuIGFycmF5IG9mIHNlbGVjdG9yIG1hdGNoZXMgdGhhdCBjYW4gdGhlbiBiZSByZXBsYWNlZAoJCS8vCgkJJG5lZWRsZUVsZW1lbnRzID0gJGV4dGVuZC0+c2VsZWN0b3ItPmVsZW1lbnRzOwoJCSRwb3RlbnRpYWxNYXRjaGVzID0gYXJyYXkoKTsKCQkkcG90ZW50aWFsTWF0Y2hlc19sZW4gPSAwOwoJCSRwb3RlbnRpYWxNYXRjaCA9IG51bGw7CgkJJG1hdGNoZXMgPSBhcnJheSgpOwoKCgoJCS8vIGxvb3AgdGhyb3VnaCB0aGUgaGF5c3RhY2sgZWxlbWVudHMKCQkkaGF5c3RhY2tfcGF0aF9sZW4gPSBjb3VudCgkaGF5c3RhY2tTZWxlY3RvclBhdGgpOwoJCWZvcigkaGF5c3RhY2tTZWxlY3RvckluZGV4ID0gMDsgJGhheXN0YWNrU2VsZWN0b3JJbmRleCA8ICRoYXlzdGFja19wYXRoX2xlbjsgJGhheXN0YWNrU2VsZWN0b3JJbmRleCsrICl7CgkJCSRoYWNrc3RhY2tTZWxlY3RvciA9ICRoYXlzdGFja1NlbGVjdG9yUGF0aFskaGF5c3RhY2tTZWxlY3RvckluZGV4XTsKCgkJCSRoYXlzdGFja19lbGVtZW50c19sZW4gPSBjb3VudCgkaGFja3N0YWNrU2VsZWN0b3ItPmVsZW1lbnRzKTsKCQkJZm9yKCRoYWNrc3RhY2tFbGVtZW50SW5kZXggPSAwOyAkaGFja3N0YWNrRWxlbWVudEluZGV4IDwgJGhheXN0YWNrX2VsZW1lbnRzX2xlbjsgJGhhY2tzdGFja0VsZW1lbnRJbmRleCsrICl7CgoJCQkJJGhheXN0YWNrRWxlbWVudCA9ICRoYWNrc3RhY2tTZWxlY3Rvci0+ZWxlbWVudHNbJGhhY2tzdGFja0VsZW1lbnRJbmRleF07CgoJCQkJLy8gaWYgd2UgYWxsb3cgZWxlbWVudHMgYmVmb3JlIG91ciBtYXRjaCB3ZSBjYW4gYWRkIGEgcG90ZW50aWFsIG1hdGNoIGV2ZXJ5IHRpbWUuIG90aGVyd2lzZSBvbmx5IGF0IHRoZSBmaXJzdCBlbGVtZW50LgoJCQkJaWYoICRleHRlbmQtPmFsbG93QmVmb3JlIHx8ICgkaGF5c3RhY2tTZWxlY3RvckluZGV4ID09PSAwICYmICRoYWNrc3RhY2tFbGVtZW50SW5kZXggPT09IDApICl7CgkJCQkJJHBvdGVudGlhbE1hdGNoZXNbXSA9IGFycmF5KCdwYXRoSW5kZXgnPT4gJGhheXN0YWNrU2VsZWN0b3JJbmRleCwgJ2luZGV4Jz0+ICRoYWNrc3RhY2tFbGVtZW50SW5kZXgsICdtYXRjaGVkJz0+IDAsICdpbml0aWFsQ29tYmluYXRvcic9PiAkaGF5c3RhY2tFbGVtZW50LT5jb21iaW5hdG9yKTsKCQkJCQkkcG90ZW50aWFsTWF0Y2hlc19sZW4rKzsKCQkJCX0KCgkJCQlmb3IoJGkgPSAwOyAkaSA8ICRwb3RlbnRpYWxNYXRjaGVzX2xlbjsgJGkrKyApewoKCQkJCQkkcG90ZW50aWFsTWF0Y2ggPSAmJHBvdGVudGlhbE1hdGNoZXNbJGldOwoJCQkJCSRwb3RlbnRpYWxNYXRjaCA9ICR0aGlzLT5Qb3RlbnRpYWxNYXRjaCggJHBvdGVudGlhbE1hdGNoLCAkbmVlZGxlRWxlbWVudHMsICRoYXlzdGFja0VsZW1lbnQsICRoYWNrc3RhY2tFbGVtZW50SW5kZXggKTsKCgoJCQkJCS8vIGlmIHdlIGFyZSBzdGlsbCB2YWxpZCBhbmQgaGF2ZSBmaW5pc2hlZCwgdGVzdCB3aGV0aGVyIHdlIGhhdmUgZWxlbWVudHMgYWZ0ZXIgYW5kIHdoZXRoZXIgdGhlc2UgYXJlIGFsbG93ZWQKCQkJCQlpZiggJHBvdGVudGlhbE1hdGNoICYmICRwb3RlbnRpYWxNYXRjaFsnbWF0Y2hlZCddID09PSAkZXh0ZW5kLT5zZWxlY3Rvci0+ZWxlbWVudHNfbGVuICl7CgkJCQkJCSRwb3RlbnRpYWxNYXRjaFsnZmluaXNoZWQnXSA9IHRydWU7CgoJCQkJCQlpZiggISRleHRlbmQtPmFsbG93QWZ0ZXIgJiYgKCRoYWNrc3RhY2tFbGVtZW50SW5kZXgrMSA8ICRoYXlzdGFja19lbGVtZW50c19sZW4gfHwgJGhheXN0YWNrU2VsZWN0b3JJbmRleCsxIDwgJGhheXN0YWNrX3BhdGhfbGVuKSApewoJCQkJCQkJJHBvdGVudGlhbE1hdGNoID0gbnVsbDsKCQkJCQkJfQoJCQkJCX0KCgkJCQkJLy8gaWYgbnVsbCB3ZSByZW1vdmUsIGlmIG5vdCwgd2UgYXJlIHN0aWxsIHZhbGlkLCBzbyBlaXRoZXIgcHVzaCBhcyBhIHZhbGlkIG1hdGNoIG9yIGNvbnRpbnVlCgkJCQkJaWYoICRwb3RlbnRpYWxNYXRjaCApewoJCQkJCQlpZiggJHBvdGVudGlhbE1hdGNoWydmaW5pc2hlZCddICl7CgkJCQkJCQkkcG90ZW50aWFsTWF0Y2hbJ2xlbmd0aCddID0gJGV4dGVuZC0+c2VsZWN0b3ItPmVsZW1lbnRzX2xlbjsKCQkJCQkJCSRwb3RlbnRpYWxNYXRjaFsnZW5kUGF0aEluZGV4J10gPSAkaGF5c3RhY2tTZWxlY3RvckluZGV4OwoJCQkJCQkJJHBvdGVudGlhbE1hdGNoWydlbmRQYXRoRWxlbWVudEluZGV4J10gPSAkaGFja3N0YWNrRWxlbWVudEluZGV4ICsgMTsgLy8gaW5kZXggYWZ0ZXIgZW5kIG9mIG1hdGNoCgkJCQkJCQkkcG90ZW50aWFsTWF0Y2hlcyA9IGFycmF5KCk7IC8vIHdlIGRvbid0IGFsbG93IG1hdGNoZXMgdG8gb3ZlcmxhcCwgc28gc3RhcnQgbWF0Y2hpbmcgYWdhaW4KCQkJCQkJCSRwb3RlbnRpYWxNYXRjaGVzX2xlbiA9IDA7CgkJCQkJCQkkbWF0Y2hlc1tdID0gJHBvdGVudGlhbE1hdGNoOwoJCQkJCQl9CgkJCQkJCWNvbnRpbnVlOwoJCQkJCX0KCgkJCQkJYXJyYXlfc3BsaWNlKCRwb3RlbnRpYWxNYXRjaGVzLCAkaSwgMSk7CgkJCQkJJHBvdGVudGlhbE1hdGNoZXNfbGVuLS07CgkJCQkJJGktLTsKCQkJCX0KCQkJfQoJCX0KCgkJcmV0dXJuICRtYXRjaGVzOwoJfQoKCgkvLyBCZWZvcmUgZ29pbmcgdGhyb3VnaCBhbGwgdGhlIG5lc3RlZCBsb29wcywgbGV0cyBjaGVjayB0byBzZWUgaWYgYSBtYXRjaCBpcyBwb3NzaWJsZQoJLy8gUmVkdWNlcyBCb290c3RyYXAgMy4xIGNvbXBpbGUgdGltZSBmcm9tIH42LjVzIHRvIH41LjZzCglwcml2YXRlIGZ1bmN0aW9uIEhhc01hdGNoZXMoJGV4dGVuZCwgJGhheXN0YWNrU2VsZWN0b3JQYXRoKXsKCgkJaWYoICEkZXh0ZW5kLT5zZWxlY3Rvci0+Y2FjaGVhYmxlICl7CgkJCXJldHVybiB0cnVlOwoJCX0KCgkJJGZpcnN0X2VsID0gJGV4dGVuZC0+c2VsZWN0b3ItPl9vZWxlbWVudHNbMF07CgoJCWZvcmVhY2goJGhheXN0YWNrU2VsZWN0b3JQYXRoIGFzICRoYWNrc3RhY2tTZWxlY3Rvcil7CgkJCWlmKCAhJGhhY2tzdGFja1NlbGVjdG9yLT5jYWNoZWFibGUgKXsKCQkJCXJldHVybiB0cnVlOwoJCQl9CgoJCQlpZiggaW5fYXJyYXkoJGZpcnN0X2VsLCAkaGFja3N0YWNrU2VsZWN0b3ItPl9vZWxlbWVudHMpICl7CgkJCQlyZXR1cm4gdHJ1ZTsKCQkJfQoJCX0KCgkJcmV0dXJuIGZhbHNlOwoJfQoKCgkvKioKCSAqIEBwYXJhbSBpbnRlZ2VyICRoYWNrc3RhY2tFbGVtZW50SW5kZXgKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBQb3RlbnRpYWxNYXRjaCggJHBvdGVudGlhbE1hdGNoLCAkbmVlZGxlRWxlbWVudHMsICRoYXlzdGFja0VsZW1lbnQsICRoYWNrc3RhY2tFbGVtZW50SW5kZXggKXsKCgoJCWlmKCAkcG90ZW50aWFsTWF0Y2hbJ21hdGNoZWQnXSA+IDAgKXsKCgkJCS8vIHNlbGVjdG9ycyBhZGQgIiAiIG9udG8gdGhlIGZpcnN0IGVsZW1lbnQuIFdoZW4gd2UgdXNlICYgaXQgam9pbnMgdGhlIHNlbGVjdG9ycyB0b2dldGhlciwgYnV0IGlmIHdlIGRvbid0CgkJCS8vIHRoZW4gZWFjaCBzZWxlY3RvciBpbiBoYXlzdGFja1NlbGVjdG9yUGF0aCBoYXMgYSBzcGFjZSBiZWZvcmUgaXQgYWRkZWQgaW4gdGhlIHRvQ1NTIHBoYXNlLiBzbyB3ZSBuZWVkIHRvIHdvcmsgb3V0CgkJCS8vIHdoYXQgdGhlIHJlc3VsdGluZyBjb21iaW5hdG9yIHdpbGwgYmUKCQkJJHRhcmdldENvbWJpbmF0b3IgPSAkaGF5c3RhY2tFbGVtZW50LT5jb21iaW5hdG9yOwoJCQlpZiggJHRhcmdldENvbWJpbmF0b3IgPT09ICcnICYmICRoYWNrc3RhY2tFbGVtZW50SW5kZXggPT09IDAgKXsKCQkJCSR0YXJnZXRDb21iaW5hdG9yID0gJyAnOwoJCQl9CgoJCQlpZiggJG5lZWRsZUVsZW1lbnRzWyAkcG90ZW50aWFsTWF0Y2hbJ21hdGNoZWQnXSBdLT5jb21iaW5hdG9yICE9PSAkdGFyZ2V0Q29tYmluYXRvciApewoJCQkJcmV0dXJuIG51bGw7CgkJCX0KCQl9CgoJCS8vIGlmIHdlIGRvbid0IG1hdGNoLCBudWxsIG91ciBtYXRjaCB0byBpbmRpY2F0ZSBmYWlsdXJlCgkJaWYoICEkdGhpcy0+aXNFbGVtZW50VmFsdWVzRXF1YWwoICRuZWVkbGVFbGVtZW50c1skcG90ZW50aWFsTWF0Y2hbJ21hdGNoZWQnXSBdLT52YWx1ZSwgJGhheXN0YWNrRWxlbWVudC0+dmFsdWUpICl7CgkJCXJldHVybiBudWxsOwoJCX0KCgkJJHBvdGVudGlhbE1hdGNoWydmaW5pc2hlZCddID0gZmFsc2U7CgkJJHBvdGVudGlhbE1hdGNoWydtYXRjaGVkJ10rKzsKCgkJcmV0dXJuICRwb3RlbnRpYWxNYXRjaDsKCX0KCgoJcHJpdmF0ZSBmdW5jdGlvbiBpc0VsZW1lbnRWYWx1ZXNFcXVhbCggJGVsZW1lbnRWYWx1ZTEsICRlbGVtZW50VmFsdWUyICl7CgoJCWlmKCAkZWxlbWVudFZhbHVlMSA9PT0gJGVsZW1lbnRWYWx1ZTIgKXsKCQkJcmV0dXJuIHRydWU7CgkJfQoKCQlpZiggaXNfc3RyaW5nKCRlbGVtZW50VmFsdWUxKSB8fCBpc19zdHJpbmcoJGVsZW1lbnRWYWx1ZTIpICkgewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlpZiggJGVsZW1lbnRWYWx1ZTEgaW5zdGFuY2VvZiBMZXNzX1RyZWVfQXR0cmlidXRlICl7CgkJCXJldHVybiAkdGhpcy0+aXNBdHRyaWJ1dGVWYWx1ZXNFcXVhbCggJGVsZW1lbnRWYWx1ZTEsICRlbGVtZW50VmFsdWUyICk7CgkJfQoKCQkkZWxlbWVudFZhbHVlMSA9ICRlbGVtZW50VmFsdWUxLT52YWx1ZTsKCQlpZiggJGVsZW1lbnRWYWx1ZTEgaW5zdGFuY2VvZiBMZXNzX1RyZWVfU2VsZWN0b3IgKXsKCQkJcmV0dXJuICR0aGlzLT5pc1NlbGVjdG9yVmFsdWVzRXF1YWwoICRlbGVtZW50VmFsdWUxLCAkZWxlbWVudFZhbHVlMiApOwoJCX0KCgkJcmV0dXJuIGZhbHNlOwoJfQoKCgkvKioKCSAqIEBwYXJhbSBMZXNzX1RyZWVfU2VsZWN0b3IgJGVsZW1lbnRWYWx1ZTEKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBpc1NlbGVjdG9yVmFsdWVzRXF1YWwoICRlbGVtZW50VmFsdWUxLCAkZWxlbWVudFZhbHVlMiApewoKCQkkZWxlbWVudFZhbHVlMiA9ICRlbGVtZW50VmFsdWUyLT52YWx1ZTsKCQlpZiggISgkZWxlbWVudFZhbHVlMiBpbnN0YW5jZW9mIExlc3NfVHJlZV9TZWxlY3RvcikgfHwgJGVsZW1lbnRWYWx1ZTEtPmVsZW1lbnRzX2xlbiAhPT0gJGVsZW1lbnRWYWx1ZTItPmVsZW1lbnRzX2xlbiApewoJCQlyZXR1cm4gZmFsc2U7CgkJfQoKCQlmb3IoICRpID0gMDsgJGkgPCAkZWxlbWVudFZhbHVlMS0+ZWxlbWVudHNfbGVuOyAkaSsrICl7CgoJCQlpZiggJGVsZW1lbnRWYWx1ZTEtPmVsZW1lbnRzWyRpXS0+Y29tYmluYXRvciAhPT0gJGVsZW1lbnRWYWx1ZTItPmVsZW1lbnRzWyRpXS0+Y29tYmluYXRvciApewoJCQkJaWYoICRpICE9PSAwIHx8ICgkZWxlbWVudFZhbHVlMS0+ZWxlbWVudHNbJGldLT5jb21iaW5hdG9yIHx8ICcgJykgIT09ICgkZWxlbWVudFZhbHVlMi0+ZWxlbWVudHNbJGldLT5jb21iaW5hdG9yIHx8ICcgJykgKXsKCQkJCQlyZXR1cm4gZmFsc2U7CgkJCQl9CgkJCX0KCgkJCWlmKCAhJHRoaXMtPmlzRWxlbWVudFZhbHVlc0VxdWFsKCRlbGVtZW50VmFsdWUxLT5lbGVtZW50c1skaV0tPnZhbHVlLCAkZWxlbWVudFZhbHVlMi0+ZWxlbWVudHNbJGldLT52YWx1ZSkgKXsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCX0KCgkJcmV0dXJuIHRydWU7Cgl9CgoKCS8qKgoJICogQHBhcmFtIExlc3NfVHJlZV9BdHRyaWJ1dGUgJGVsZW1lbnRWYWx1ZTEKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiBpc0F0dHJpYnV0ZVZhbHVlc0VxdWFsKCAkZWxlbWVudFZhbHVlMSwgJGVsZW1lbnRWYWx1ZTIgKXsKCgkJaWYoICRlbGVtZW50VmFsdWUxLT5vcCAhPT0gJGVsZW1lbnRWYWx1ZTItPm9wIHx8ICRlbGVtZW50VmFsdWUxLT5rZXkgIT09ICRlbGVtZW50VmFsdWUyLT5rZXkgKXsKCQkJcmV0dXJuIGZhbHNlOwoJCX0KCgkJaWYoICEkZWxlbWVudFZhbHVlMS0+dmFsdWUgfHwgISRlbGVtZW50VmFsdWUyLT52YWx1ZSApewoJCQlpZiggJGVsZW1lbnRWYWx1ZTEtPnZhbHVlIHx8ICRlbGVtZW50VmFsdWUyLT52YWx1ZSApIHsKCQkJCXJldHVybiBmYWxzZTsKCQkJfQoJCQlyZXR1cm4gdHJ1ZTsKCQl9CgoJCSRlbGVtZW50VmFsdWUxID0gKCRlbGVtZW50VmFsdWUxLT52YWx1ZS0+dmFsdWUgPyAkZWxlbWVudFZhbHVlMS0+dmFsdWUtPnZhbHVlIDogJGVsZW1lbnRWYWx1ZTEtPnZhbHVlICk7CgkJJGVsZW1lbnRWYWx1ZTIgPSAoJGVsZW1lbnRWYWx1ZTItPnZhbHVlLT52YWx1ZSA/ICRlbGVtZW50VmFsdWUyLT52YWx1ZS0+dmFsdWUgOiAkZWxlbWVudFZhbHVlMi0+dmFsdWUgKTsKCgkJcmV0dXJuICRlbGVtZW50VmFsdWUxID09PSAkZWxlbWVudFZhbHVlMjsKCX0KCgoJcHJpdmF0ZSBmdW5jdGlvbiBleHRlbmRTZWxlY3RvcigkbWF0Y2hlcywgJHNlbGVjdG9yUGF0aCwgJHJlcGxhY2VtZW50U2VsZWN0b3IpewoKCQkvL2ZvciBhIHNldCBvZiBtYXRjaGVzLCByZXBsYWNlIGVhY2ggbWF0Y2ggd2l0aCB0aGUgcmVwbGFjZW1lbnQgc2VsZWN0b3IKCgkJJGN1cnJlbnRTZWxlY3RvclBhdGhJbmRleCA9IDA7CgkJJGN1cnJlbnRTZWxlY3RvclBhdGhFbGVtZW50SW5kZXggPSAwOwoJCSRwYXRoID0gYXJyYXkoKTsKCQkkc2VsZWN0b3JQYXRoX2xlbiA9IGNvdW50KCRzZWxlY3RvclBhdGgpOwoKCQlmb3IoJG1hdGNoSW5kZXggPSAwLCAkbWF0Y2hlc19sZW4gPSBjb3VudCgkbWF0Y2hlcyk7ICRtYXRjaEluZGV4IDwgJG1hdGNoZXNfbGVuOyAkbWF0Y2hJbmRleCsrICl7CgoKCQkJJG1hdGNoID0gJG1hdGNoZXNbJG1hdGNoSW5kZXhdOwoJCQkkc2VsZWN0b3IgPSAkc2VsZWN0b3JQYXRoWyAkbWF0Y2hbJ3BhdGhJbmRleCddIF07CgoJCQkkZmlyc3RFbGVtZW50ID0gbmV3IExlc3NfVHJlZV9FbGVtZW50KAoJCQkJJG1hdGNoWydpbml0aWFsQ29tYmluYXRvciddLAoJCQkJJHJlcGxhY2VtZW50U2VsZWN0b3ItPmVsZW1lbnRzWzBdLT52YWx1ZSwKCQkJCSRyZXBsYWNlbWVudFNlbGVjdG9yLT5lbGVtZW50c1swXS0+aW5kZXgsCgkJCQkkcmVwbGFjZW1lbnRTZWxlY3Rvci0+ZWxlbWVudHNbMF0tPmN1cnJlbnRGaWxlSW5mbwoJCQkpOwoKCQkJaWYoICRtYXRjaFsncGF0aEluZGV4J10gPiAkY3VycmVudFNlbGVjdG9yUGF0aEluZGV4ICYmICRjdXJyZW50U2VsZWN0b3JQYXRoRWxlbWVudEluZGV4ID4gMCApewoJCQkJJGxhc3RfcGF0aCA9IGVuZCgkcGF0aCk7CgkJCQkkbGFzdF9wYXRoLT5lbGVtZW50cyA9IGFycmF5X21lcmdlKCAkbGFzdF9wYXRoLT5lbGVtZW50cywgYXJyYXlfc2xpY2UoICRzZWxlY3RvclBhdGhbJGN1cnJlbnRTZWxlY3RvclBhdGhJbmRleF0tPmVsZW1lbnRzLCAkY3VycmVudFNlbGVjdG9yUGF0aEVsZW1lbnRJbmRleCkpOwoJCQkJJGN1cnJlbnRTZWxlY3RvclBhdGhFbGVtZW50SW5kZXggPSAwOwoJCQkJJGN1cnJlbnRTZWxlY3RvclBhdGhJbmRleCsrOwoJCQl9CgoJCQkkbmV3RWxlbWVudHMgPSBhcnJheV9tZXJnZSgKCQkJCWFycmF5X3NsaWNlKCRzZWxlY3Rvci0+ZWxlbWVudHMsICRjdXJyZW50U2VsZWN0b3JQYXRoRWxlbWVudEluZGV4LCAoJG1hdGNoWydpbmRleCddIC0gJGN1cnJlbnRTZWxlY3RvclBhdGhFbGVtZW50SW5kZXgpICkgLy8gbGFzdCBwYXJhbWV0ZXIgb2YgYXJyYXlfc2xpY2UgaXMgZGlmZmVyZW50IHRoYW4gdGhlIGxhc3QgcGFyYW1ldGVyIG9mIGphdmFzY3JpcHQncyBzbGljZQoJCQkJLCBhcnJheSgkZmlyc3RFbGVtZW50KQoJCQkJLCBhcnJheV9zbGljZSgkcmVwbGFjZW1lbnRTZWxlY3Rvci0+ZWxlbWVudHMsMSkKCQkJCSk7CgoJCQlpZiggJGN1cnJlbnRTZWxlY3RvclBhdGhJbmRleCA9PT0gJG1hdGNoWydwYXRoSW5kZXgnXSAmJiAkbWF0Y2hJbmRleCA+IDAgKXsKCQkJCSRsYXN0X2tleSA9IGNvdW50KCRwYXRoKS0xOwoJCQkJJHBhdGhbJGxhc3Rfa2V5XS0+ZWxlbWVudHMgPSBhcnJheV9tZXJnZSgkcGF0aFskbGFzdF9rZXldLT5lbGVtZW50cywkbmV3RWxlbWVudHMpOwoJCQl9ZWxzZXsKCQkJCSRwYXRoID0gYXJyYXlfbWVyZ2UoICRwYXRoLCBhcnJheV9zbGljZSggJHNlbGVjdG9yUGF0aCwgJGN1cnJlbnRTZWxlY3RvclBhdGhJbmRleCwgJG1hdGNoWydwYXRoSW5kZXgnXSApKTsKCQkJCSRwYXRoW10gPSBuZXcgTGVzc19UcmVlX1NlbGVjdG9yKCAkbmV3RWxlbWVudHMgKTsKCQkJfQoKCQkJJGN1cnJlbnRTZWxlY3RvclBhdGhJbmRleCA9ICRtYXRjaFsnZW5kUGF0aEluZGV4J107CgkJCSRjdXJyZW50U2VsZWN0b3JQYXRoRWxlbWVudEluZGV4ID0gJG1hdGNoWydlbmRQYXRoRWxlbWVudEluZGV4J107CgkJCWlmKCAkY3VycmVudFNlbGVjdG9yUGF0aEVsZW1lbnRJbmRleCA+PSBjb3VudCgkc2VsZWN0b3JQYXRoWyRjdXJyZW50U2VsZWN0b3JQYXRoSW5kZXhdLT5lbGVtZW50cykgKXsKCQkJCSRjdXJyZW50U2VsZWN0b3JQYXRoRWxlbWVudEluZGV4ID0gMDsKCQkJCSRjdXJyZW50U2VsZWN0b3JQYXRoSW5kZXgrKzsKCQkJfQoJCX0KCgkJaWYoICRjdXJyZW50U2VsZWN0b3JQYXRoSW5kZXggPCAkc2VsZWN0b3JQYXRoX2xlbiAmJiAkY3VycmVudFNlbGVjdG9yUGF0aEVsZW1lbnRJbmRleCA+IDAgKXsKCQkJJGxhc3RfcGF0aCA9IGVuZCgkcGF0aCk7CgkJCSRsYXN0X3BhdGgtPmVsZW1lbnRzID0gYXJyYXlfbWVyZ2UoICRsYXN0X3BhdGgtPmVsZW1lbnRzLCBhcnJheV9zbGljZSgkc2VsZWN0b3JQYXRoWyRjdXJyZW50U2VsZWN0b3JQYXRoSW5kZXhdLT5lbGVtZW50cywgJGN1cnJlbnRTZWxlY3RvclBhdGhFbGVtZW50SW5kZXgpKTsKCQkJJGN1cnJlbnRTZWxlY3RvclBhdGhJbmRleCsrOwoJCX0KCgkJJHNsaWNlX2xlbiA9ICRzZWxlY3RvclBhdGhfbGVuIC0gJGN1cnJlbnRTZWxlY3RvclBhdGhJbmRleDsKCQkkcGF0aCA9IGFycmF5X21lcmdlKCRwYXRoLCBhcnJheV9zbGljZSgkc2VsZWN0b3JQYXRoLCAkY3VycmVudFNlbGVjdG9yUGF0aEluZGV4LCAkc2xpY2VfbGVuKSk7CgoJCXJldHVybiAkcGF0aDsKCX0KCgoJcHJvdGVjdGVkIGZ1bmN0aW9uIHZpc2l0TWVkaWEoICRtZWRpYU5vZGUgKXsKCQkkbmV3QWxsRXh0ZW5kcyA9IGFycmF5X21lcmdlKCAkbWVkaWFOb2RlLT5hbGxFeHRlbmRzLCBlbmQoJHRoaXMtPmFsbEV4dGVuZHNTdGFjaykgKTsKCQkkdGhpcy0+YWxsRXh0ZW5kc1N0YWNrW10gPSAkdGhpcy0+ZG9FeHRlbmRDaGFpbmluZygkbmV3QWxsRXh0ZW5kcywgJG1lZGlhTm9kZS0+YWxsRXh0ZW5kcyk7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIHZpc2l0TWVkaWFPdXQoKXsKCQlhcnJheV9wb3AoICR0aGlzLT5hbGxFeHRlbmRzU3RhY2sgKTsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gdmlzaXREaXJlY3RpdmUoICRkaXJlY3RpdmVOb2RlICl7CgkJJG5ld0FsbEV4dGVuZHMgPSBhcnJheV9tZXJnZSggJGRpcmVjdGl2ZU5vZGUtPmFsbEV4dGVuZHMsIGVuZCgkdGhpcy0+YWxsRXh0ZW5kc1N0YWNrKSApOwoJCSR0aGlzLT5hbGxFeHRlbmRzU3RhY2tbXSA9ICR0aGlzLT5kb0V4dGVuZENoYWluaW5nKCRuZXdBbGxFeHRlbmRzLCAkZGlyZWN0aXZlTm9kZS0+YWxsRXh0ZW5kcyk7Cgl9CgoJcHJvdGVjdGVkIGZ1bmN0aW9uIHZpc2l0RGlyZWN0aXZlT3V0KCl7CgkJYXJyYXlfcG9wKCR0aGlzLT5hbGxFeHRlbmRzU3RhY2spOwoJfQoKfQ==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/Visitor/toCSS.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiB0b0NTUyBWaXNpdG9yCiAqCiAqIEBwYWNrYWdlIExlc3MKICogQHN1YnBhY2thZ2UgdmlzaXRvcgogKi8KY2xhc3MgTGVzc19WaXNpdG9yX3RvQ1NTIGV4dGVuZHMgTGVzc19WaXNpdG9yUmVwbGFjaW5newoKCXByaXZhdGUgJGNoYXJzZXQ7CgoJcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCl7CgkJcGFyZW50OjpfX2NvbnN0cnVjdCgpOwoJfQoKCS8qKgoJICogQHBhcmFtIExlc3NfVHJlZV9SdWxlc2V0ICRyb290CgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBydW4oICRyb290ICl7CgkJcmV0dXJuICR0aGlzLT52aXNpdE9iaigkcm9vdCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHZpc2l0UnVsZSggJHJ1bGVOb2RlICl7CgkJaWYoICRydWxlTm9kZS0+dmFyaWFibGUgKXsKCQkJcmV0dXJuIGFycmF5KCk7CgkJfQoJCXJldHVybiAkcnVsZU5vZGU7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHZpc2l0TWl4aW5EZWZpbml0aW9uKCRtaXhpbk5vZGUpewoJCS8vIG1peGluIGRlZmluaXRpb25zIGRvIG5vdCBnZXQgZXZhbCdkIC0gdGhpcyBtZWFucyB0aGV5IGtlZXAgc3RhdGUKCQkvLyBzbyB3ZSBoYXZlIHRvIGNsZWFyIHRoYXQgc3RhdGUgaGVyZSBzbyBpdCBpc24ndCB1c2VkIGlmIHRvQ1NTIGlzIGNhbGxlZCB0d2ljZQoJCSRtaXhpbk5vZGUtPmZyYW1lcyA9IGFycmF5KCk7CgkJcmV0dXJuIGFycmF5KCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHZpc2l0RXh0ZW5kKCl7CgkJcmV0dXJuIGFycmF5KCk7Cgl9CgoJcHVibGljIGZ1bmN0aW9uIHZpc2l0Q29tbWVudCggJGNvbW1lbnROb2RlICl7CgkJaWYoICRjb21tZW50Tm9kZS0+aXNTaWxlbnQoKSApewoJCQlyZXR1cm4gYXJyYXkoKTsKCQl9CgkJcmV0dXJuICRjb21tZW50Tm9kZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdmlzaXRNZWRpYSggJG1lZGlhTm9kZSwgJiR2aXNpdERlZXBlciApewoJCSRtZWRpYU5vZGUtPmFjY2VwdCgkdGhpcyk7CgkJJHZpc2l0RGVlcGVyID0gZmFsc2U7CgoJCWlmKCAhJG1lZGlhTm9kZS0+cnVsZXMgKXsKCQkJcmV0dXJuIGFycmF5KCk7CgkJfQoJCXJldHVybiAkbWVkaWFOb2RlOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiB2aXNpdERpcmVjdGl2ZSggJGRpcmVjdGl2ZU5vZGUgKXsKCQlpZiggaXNzZXQoJGRpcmVjdGl2ZU5vZGUtPmN1cnJlbnRGaWxlSW5mb1sncmVmZXJlbmNlJ10pICYmICghcHJvcGVydHlfZXhpc3RzKCRkaXJlY3RpdmVOb2RlLCdpc1JlZmVyZW5jZWQnKSB8fCAhJGRpcmVjdGl2ZU5vZGUtPmlzUmVmZXJlbmNlZCkgKXsKCQkJcmV0dXJuIGFycmF5KCk7CgkJfQoJCWlmKCAkZGlyZWN0aXZlTm9kZS0+bmFtZSA9PT0gJ0BjaGFyc2V0JyApewoJCQkvLyBPbmx5IG91dHB1dCB0aGUgZGVidWcgaW5mbyB0b2dldGhlciB3aXRoIHN1YnNlcXVlbnQgQGNoYXJzZXQgZGVmaW5pdGlvbnMKCQkJLy8gYSBjb21tZW50IChvciBAbWVkaWEgc3RhdGVtZW50KSBiZWZvcmUgdGhlIGFjdHVhbCBAY2hhcnNldCBkaXJlY3RpdmUgd291bGQKCQkJLy8gYmUgY29uc2lkZXJlZCBpbGxlZ2FsIGNzcyBhcyBpdCBoYXMgdG8gYmUgb24gdGhlIGZpcnN0IGxpbmUKCQkJaWYoIGlzc2V0KCR0aGlzLT5jaGFyc2V0KSAmJiAkdGhpcy0+Y2hhcnNldCApewoKCQkJCS8vaWYoICRkaXJlY3RpdmVOb2RlLT5kZWJ1Z0luZm8gKXsKCQkJCS8vCSRjb21tZW50ID0gbmV3IExlc3NfVHJlZV9Db21tZW50KCcvKiAnIC4gc3RyX3JlcGxhY2UoIlxuIiwnJywkZGlyZWN0aXZlTm9kZS0+dG9DU1MoKSkuIiAqL1xuIik7CgkJCQkvLwkkY29tbWVudC0+ZGVidWdJbmZvID0gJGRpcmVjdGl2ZU5vZGUtPmRlYnVnSW5mbzsKCQkJCS8vCXJldHVybiAkdGhpcy0+dmlzaXQoJGNvbW1lbnQpOwoJCQkJLy99CgoKCQkJCXJldHVybiBhcnJheSgpOwoJCQl9CgkJCSR0aGlzLT5jaGFyc2V0ID0gdHJ1ZTsKCQl9CgkJcmV0dXJuICRkaXJlY3RpdmVOb2RlOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBjaGVja1Byb3BlcnRpZXNJblJvb3QoICRydWxlc2V0Tm9kZSApewoKCQlpZiggISRydWxlc2V0Tm9kZS0+Zmlyc3RSb290ICl7CgkJCXJldHVybjsKCQl9CgoJCWZvcmVhY2goJHJ1bGVzZXROb2RlLT5ydWxlcyBhcyAkcnVsZU5vZGUpewoJCQlpZiggJHJ1bGVOb2RlIGluc3RhbmNlb2YgTGVzc19UcmVlX1J1bGUgJiYgISRydWxlTm9kZS0+dmFyaWFibGUgKXsKCQkJCSRtc2cgPSAicHJvcGVydGllcyBtdXN0IGJlIGluc2lkZSBzZWxlY3RvciBibG9ja3MsIHRoZXkgY2Fubm90IGJlIGluIHRoZSByb290LiBJbmRleCAiLiRydWxlTm9kZS0+aW5kZXguKCRydWxlTm9kZS0+Y3VycmVudEZpbGVJbmZvID8gKCcgRmlsZW5hbWU6ICcuJHJ1bGVOb2RlLT5jdXJyZW50RmlsZUluZm9bJ2ZpbGVuYW1lJ10pIDogbnVsbCk7CgkJCQl0aHJvdyBuZXcgTGVzc19FeGNlcHRpb25fQ29tcGlsZXIoJG1zZyk7CgkJCX0KCQl9Cgl9CgoKCXB1YmxpYyBmdW5jdGlvbiB2aXNpdFJ1bGVzZXQoICRydWxlc2V0Tm9kZSwgJiR2aXNpdERlZXBlciApewoKCQkkdmlzaXREZWVwZXIgPSBmYWxzZTsKCgkJJHRoaXMtPmNoZWNrUHJvcGVydGllc0luUm9vdCggJHJ1bGVzZXROb2RlICk7CgoJCWlmKCAkcnVsZXNldE5vZGUtPnJvb3QgKXsKCQkJcmV0dXJuICR0aGlzLT52aXNpdFJ1bGVzZXRSb290KCAkcnVsZXNldE5vZGUgKTsKCQl9CgoJCSRydWxlc2V0cyA9IGFycmF5KCk7CgkJJHJ1bGVzZXROb2RlLT5wYXRocyA9ICR0aGlzLT52aXNpdFJ1bGVzZXRQYXRocygkcnVsZXNldE5vZGUpOwoKCgkJLy8gQ29tcGlsZSBydWxlcyBhbmQgcnVsZXNldHMKCQkkbm9kZVJ1bGVDbnQgPSBjb3VudCgkcnVsZXNldE5vZGUtPnJ1bGVzKTsKCQlmb3IoICRpID0gMDsgJGkgPCAkbm9kZVJ1bGVDbnQ7ICl7CgkJCSRydWxlID0gJHJ1bGVzZXROb2RlLT5ydWxlc1skaV07CgoJCQlpZiggcHJvcGVydHlfZXhpc3RzKCRydWxlLCdydWxlcycpICl7CgkJCQkvLyB2aXNpdCBiZWNhdXNlIHdlIGFyZSBtb3ZpbmcgdGhlbSBvdXQgZnJvbSBiZWluZyBhIGNoaWxkCgkJCQkkcnVsZXNldHNbXSA9ICR0aGlzLT52aXNpdE9iaigkcnVsZSk7CgkJCQlhcnJheV9zcGxpY2UoJHJ1bGVzZXROb2RlLT5ydWxlcywkaSwxKTsKCQkJCSRub2RlUnVsZUNudC0tOwoJCQkJY29udGludWU7CgkJCX0KCQkJJGkrKzsKCQl9CgoKCQkvLyBhY2NlcHQgdGhlIHZpc2l0b3IgdG8gcmVtb3ZlIHJ1bGVzIGFuZCByZWZhY3RvciBpdHNlbGYKCQkvLyB0aGVuIHdlIGNhbiBkZWNpZGUgbm93IHdoZXRoZXIgd2Ugd2FudCBpdCBvciBub3QKCQlpZiggJG5vZGVSdWxlQ250ID4gMCApewoJCQkkcnVsZXNldE5vZGUtPmFjY2VwdCgkdGhpcyk7CgoJCQlpZiggJHJ1bGVzZXROb2RlLT5ydWxlcyApewoKCQkJCWlmKCBjb3VudCgkcnVsZXNldE5vZGUtPnJ1bGVzKSA+ICAxICl7CgkJCQkJJHRoaXMtPl9tZXJnZVJ1bGVzKCAkcnVsZXNldE5vZGUtPnJ1bGVzICk7CgkJCQkJJHRoaXMtPl9yZW1vdmVEdXBsaWNhdGVSdWxlcyggJHJ1bGVzZXROb2RlLT5ydWxlcyApOwoJCQkJfQoKCQkJCS8vIG5vdyBkZWNpZGUgd2hldGhlciB3ZSBrZWVwIHRoZSBydWxlc2V0CgkJCQlpZiggJHJ1bGVzZXROb2RlLT5wYXRocyApewoJCQkJCS8vYXJyYXlfdW5zaGlmdCgkcnVsZXNldHMsICRydWxlc2V0Tm9kZSk7CgkJCQkJYXJyYXlfc3BsaWNlKCRydWxlc2V0cywwLDAsYXJyYXkoJHJ1bGVzZXROb2RlKSk7CgkJCQl9CgkJCX0KCgkJfQoKCgkJaWYoIGNvdW50KCRydWxlc2V0cykgPT09IDEgKXsKCQkJcmV0dXJuICRydWxlc2V0c1swXTsKCQl9CgkJcmV0dXJuICRydWxlc2V0czsKCX0KCgoJLyoqCgkgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHZpc2l0aVJ1bGVzZXQKCSAqCgkgKiByZXR1cm4gYXJyYXl8TGVzc19UcmVlX1J1bGVzZXQKCSAqLwoJcHJpdmF0ZSBmdW5jdGlvbiB2aXNpdFJ1bGVzZXRSb290KCAkcnVsZXNldE5vZGUgKXsKCQkkcnVsZXNldE5vZGUtPmFjY2VwdCggJHRoaXMgKTsKCQlpZiggJHJ1bGVzZXROb2RlLT5maXJzdFJvb3QgfHwgJHJ1bGVzZXROb2RlLT5ydWxlcyApewoJCQlyZXR1cm4gJHJ1bGVzZXROb2RlOwoJCX0KCQlyZXR1cm4gYXJyYXkoKTsKCX0KCgoJLyoqCgkgKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHZpc2l0UnVsZXNldCgpCgkgKgoJICogQHJldHVybiBhcnJheQoJICovCglwcml2YXRlIGZ1bmN0aW9uIHZpc2l0UnVsZXNldFBhdGhzKCRydWxlc2V0Tm9kZSl7CgoJCSRwYXRocyA9IGFycmF5KCk7CgkJZm9yZWFjaCgkcnVsZXNldE5vZGUtPnBhdGhzIGFzICRwKXsKCQkJaWYoICRwWzBdLT5lbGVtZW50c1swXS0+Y29tYmluYXRvciA9PT0gJyAnICl7CgkJCQkkcFswXS0+ZWxlbWVudHNbMF0tPmNvbWJpbmF0b3IgPSAnJzsKCQkJfQoKCQkJZm9yZWFjaCgkcCBhcyAkcGkpewoJCQkJaWYoICRwaS0+Z2V0SXNSZWZlcmVuY2VkKCkgJiYgJHBpLT5nZXRJc091dHB1dCgpICl7CgkJCQkJJHBhdGhzW10gPSAkcDsKCQkJCQlicmVhazsKCQkJCX0KCQkJfQoJCX0KCgkJcmV0dXJuICRwYXRoczsKCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gX3JlbW92ZUR1cGxpY2F0ZVJ1bGVzKCAmJHJ1bGVzICl7CgkJLy8gcmVtb3ZlIGR1cGxpY2F0ZXMKCQkkcnVsZUNhY2hlID0gYXJyYXkoKTsKCQlmb3IoICRpID0gY291bnQoJHJ1bGVzKS0xOyAkaSA+PSAwIDsgJGktLSApewoJCQkkcnVsZSA9ICRydWxlc1skaV07CgkJCWlmKCAkcnVsZSBpbnN0YW5jZW9mIExlc3NfVHJlZV9SdWxlIHx8ICRydWxlIGluc3RhbmNlb2YgTGVzc19UcmVlX05hbWVWYWx1ZSApewoKCQkJCWlmKCAhaXNzZXQoJHJ1bGVDYWNoZVskcnVsZS0+bmFtZV0pICl7CgkJCQkJJHJ1bGVDYWNoZVskcnVsZS0+bmFtZV0gPSAkcnVsZTsKCQkJCX1lbHNlewoJCQkJCSRydWxlTGlzdCA9JiAkcnVsZUNhY2hlWyRydWxlLT5uYW1lXTsKCgkJCQkJaWYoICRydWxlTGlzdCBpbnN0YW5jZW9mIExlc3NfVHJlZV9SdWxlIHx8ICRydWxlTGlzdCBpbnN0YW5jZW9mIExlc3NfVHJlZV9OYW1lVmFsdWUgKXsKCQkJCQkJJHJ1bGVMaXN0ID0gJHJ1bGVDYWNoZVskcnVsZS0+bmFtZV0gPSBhcnJheSggJHJ1bGVDYWNoZVskcnVsZS0+bmFtZV0tPnRvQ1NTKCkgKTsKCQkJCQl9CgoJCQkJCSRydWxlQ1NTID0gJHJ1bGUtPnRvQ1NTKCk7CgkJCQkJaWYoIGFycmF5X3NlYXJjaCgkcnVsZUNTUywkcnVsZUxpc3QpICE9PSBmYWxzZSApewoJCQkJCQlhcnJheV9zcGxpY2UoJHJ1bGVzLCRpLDEpOwoJCQkJCX1lbHNlewoJCQkJCQkkcnVsZUxpc3RbXSA9ICRydWxlQ1NTOwoJCQkJCX0KCQkJCX0KCQkJfQoJCX0KCX0KCglwcm90ZWN0ZWQgZnVuY3Rpb24gX21lcmdlUnVsZXMoICYkcnVsZXMgKXsKCQkkZ3JvdXBzID0gYXJyYXkoKTsKCgkJLy9vYmooJHJ1bGVzKTsKCgkJJHJ1bGVzX2xlbiA9IGNvdW50KCRydWxlcyk7CgkJZm9yKCAkaSA9IDA7ICRpIDwgJHJ1bGVzX2xlbjsgJGkrKyApewoJCQkkcnVsZSA9ICRydWxlc1skaV07CgoJCQlpZiggKCRydWxlIGluc3RhbmNlb2YgTGVzc19UcmVlX1J1bGUpICYmICRydWxlLT5tZXJnZSApewoKCQkJCSRrZXkgPSAkcnVsZS0+bmFtZTsKCQkJCWlmKCAkcnVsZS0+aW1wb3J0YW50ICl7CgkJCQkJJGtleSAuPSAnLCEnOwoJCQkJfQoKCQkJCWlmKCAhaXNzZXQoJGdyb3Vwc1ska2V5XSkgKXsKCQkJCQkkZ3JvdXBzWyRrZXldID0gYXJyYXkoKTsKCQkJCX1lbHNlewoJCQkJCWFycmF5X3NwbGljZSgkcnVsZXMsICRpLS0sIDEpOwoJCQkJCSRydWxlc19sZW4tLTsKCQkJCX0KCgkJCQkkZ3JvdXBzWyRrZXldW10gPSAkcnVsZTsKCQkJfQoJCX0KCgoJCWZvcmVhY2goJGdyb3VwcyBhcyAkcGFydHMpewoKCQkJaWYoIGNvdW50KCRwYXJ0cykgPiAxICl7CgkJCQkkcnVsZSA9ICRwYXJ0c1swXTsKCQkJCSRzcGFjZWRHcm91cHMgPSBhcnJheSgpOwoJCQkJJGxhc3RTcGFjZWRHcm91cCA9IGFycmF5KCk7CgkJCQkkcGFydHNfbWFwcGVkID0gYXJyYXkoKTsKCQkJCWZvcmVhY2goJHBhcnRzIGFzICRwKXsKCQkJCQlpZiggJHAtPm1lcmdlID09PSAnKycgKXsKCQkJCQkJaWYoICRsYXN0U3BhY2VkR3JvdXAgKXsKCQkJCQkJCSRzcGFjZWRHcm91cHNbXSA9IHNlbGY6OnRvRXhwcmVzc2lvbigkbGFzdFNwYWNlZEdyb3VwKTsKCQkJCQkJfQoJCQkJCQkkbGFzdFNwYWNlZEdyb3VwID0gYXJyYXkoKTsKCQkJCQl9CgkJCQkJJGxhc3RTcGFjZWRHcm91cFtdID0gJHA7CgkJCQl9CgoJCQkJJHNwYWNlZEdyb3Vwc1tdID0gc2VsZjo6dG9FeHByZXNzaW9uKCRsYXN0U3BhY2VkR3JvdXApOwoJCQkJJHJ1bGUtPnZhbHVlID0gc2VsZjo6dG9WYWx1ZSgkc3BhY2VkR3JvdXBzKTsKCQkJfQoJCX0KCgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0b0V4cHJlc3Npb24oJHZhbHVlcyl7CgkJJG1hcHBlZCA9IGFycmF5KCk7CgkJZm9yZWFjaCgkdmFsdWVzIGFzICRwKXsKCQkJJG1hcHBlZFtdID0gJHAtPnZhbHVlOwoJCX0KCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9FeHByZXNzaW9uKCAkbWFwcGVkICk7Cgl9CgoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiB0b1ZhbHVlKCR2YWx1ZXMpewoJCS8vcmV0dXJuIG5ldyBMZXNzX1RyZWVfVmFsdWUoJHZhbHVlcyk7ID8/CgoJCSRtYXBwZWQgPSBhcnJheSgpOwoJCWZvcmVhY2goJHZhbHVlcyBhcyAkcCl7CgkJCSRtYXBwZWRbXSA9ICRwOwoJCX0KCQlyZXR1cm4gbmV3IExlc3NfVHJlZV9WYWx1ZSgkbWFwcGVkKTsKCX0KfQoK]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/Less/VisitorReplacing.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qKgogKiBSZXBsYWNpbmcgVmlzaXRvcgogKgogKiBAcGFja2FnZSBMZXNzCiAqIEBzdWJwYWNrYWdlIHZpc2l0b3IKICovCmNsYXNzIExlc3NfVmlzaXRvclJlcGxhY2luZyBleHRlbmRzIExlc3NfVmlzaXRvcnsKCglwdWJsaWMgZnVuY3Rpb24gdmlzaXRPYmooICRub2RlICl7CgoJCSRmdW5jTmFtZSA9ICd2aXNpdCcuJG5vZGUtPnR5cGU7CgkJaWYoIGlzc2V0KCR0aGlzLT5fdmlzaXRGbkNhY2hlWyRmdW5jTmFtZV0pICl7CgoJCQkkdmlzaXREZWVwZXIgPSB0cnVlOwoJCQkkbm9kZSA9ICR0aGlzLT4kZnVuY05hbWUoICRub2RlLCAkdmlzaXREZWVwZXIgKTsKCgkJCWlmKCAkbm9kZSApewoJCQkJaWYoICR2aXNpdERlZXBlciAmJiBpc19vYmplY3QoJG5vZGUpICl7CgkJCQkJJG5vZGUtPmFjY2VwdCgkdGhpcyk7CgkJCQl9CgoJCQkJJGZ1bmNOYW1lID0gJGZ1bmNOYW1lIC4gIk91dCI7CgkJCQlpZiggaXNzZXQoJHRoaXMtPl92aXNpdEZuQ2FjaGVbJGZ1bmNOYW1lXSkgKXsKCQkJCQkkdGhpcy0+JGZ1bmNOYW1lKCAkbm9kZSApOwoJCQkJfQoJCQl9CgoJCX1lbHNlewoJCQkkbm9kZS0+YWNjZXB0KCR0aGlzKTsKCQl9CgoJCXJldHVybiAkbm9kZTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gdmlzaXRBcnJheSggJG5vZGVzICl7CgoJCSRuZXdOb2RlcyA9IGFycmF5KCk7CgkJZm9yZWFjaCgkbm9kZXMgYXMgJG5vZGUpewoJCQkkZXZhbGQgPSAkdGhpcy0+dmlzaXRPYmooJG5vZGUpOwoJCQlpZiggJGV2YWxkICl7CgkJCQlpZiggaXNfYXJyYXkoJGV2YWxkKSApewoJCQkJCXNlbGY6OmZsYXR0ZW4oJGV2YWxkLCRuZXdOb2Rlcyk7CgkJCQl9ZWxzZXsKCQkJCQkkbmV3Tm9kZXNbXSA9ICRldmFsZDsKCQkJCX0KCQkJfQoJCX0KCQlyZXR1cm4gJG5ld05vZGVzOwoJfQoKCXB1YmxpYyBmdW5jdGlvbiBmbGF0dGVuKCAkYXJyLCAmJG91dCApewoKCQlmb3JlYWNoKCRhcnIgYXMgJGl0ZW0pewoJCQlpZiggIWlzX2FycmF5KCRpdGVtKSApewoJCQkJJG91dFtdID0gJGl0ZW07CgkJCQljb250aW51ZTsKCQkJfQoKCQkJZm9yZWFjaCgkaXRlbSBhcyAkbmVzdGVkSXRlbSl7CgkJCQlpZiggaXNfYXJyYXkoJG5lc3RlZEl0ZW0pICl7CgkJCQkJc2VsZjo6ZmxhdHRlbiggJG5lc3RlZEl0ZW0sICRvdXQpOwoJCQkJfWVsc2V7CgkJCQkJJG91dFtdID0gJG5lc3RlZEl0ZW07CgkJCQl9CgkJCX0KCQl9CgoJCXJldHVybiAkb3V0OwoJfQoKfQoKCg==]]></data>
	</file>
	<file>
	  <filename>/preprocessors/LessPHPOyejorge/logo.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[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]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/preferences.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[CjxoMT57JG1vZC0+TGFuZygncHJlZmVyZW5jZXMnKX08L2gxPgoKeyRmb3JtX3N0YXJ0fQoKCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KCQk8L3A+Cgk8L2Rpdj4KCQoJCgk8ZmllbGRzZXQ+CgkJPGxlZ2VuZD57JG1vZC0+TGFuZygnY3NzX3ByZXByb2Nlc3NvcicpfTwvbGVnZW5kPgoJCQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+CgkJCQk8bGFiZWw+eyRtb2QtPkxhbmcoJ2Nob29zZV9wcmVwcm9jZXNzb3InKX08L2xhYmVsPgoJCQk8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJe2ZvcmVhY2ggZnJvbT0kcHJlcHJvY2Vzc29ycyBpdGVtPXByZXByb2Nlc3NvciBrZXk9ZGlyfQoJCQkJCTxkaXYgY2xhc3M9InByZXByb2Nlc3NvciI+CgkJCQkJCgkJCQkJCTxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4KCQkJCQkJCTxoMj57JHByZXByb2Nlc3Nvci0+ZnJpZW5kbHlfbmFtZX08L2gyPgoJCQkJCQkJPHA+CgkJCQkJCQkJeyRwcmVwcm9jZXNzb3ItPmRlc2NyaXB0aW9ufSAtIEJ5IDxhIGhyZWY9InskcHJlcHJvY2Vzc29yLT53ZWJzaXRlfSI+PGVtPnskcHJlcHJvY2Vzc29yLT5hdXRob3J9PC9lbT48L2E+CgkJCQkJCQkKCQkJCQkJCQl7aWYgIWVtcHR5KCRwcmVwcm9jZXNzb3ItPm5vdGUpfQoJCQkJCQkJCQk8YnI+PHN0cm9uZz57JG1vZC0+TGFuZygnbm90ZScpfTwvc3Ryb25nPiB7JHByZXByb2Nlc3Nvci0+bm90ZX0KCQkJCQkJCQl7L2lmfQoJCQkJCQkJPC9wPgoJCQkJCQk8L2Rpdj4KCQkJCQkKCQkJCQkJPGxhYmVsPgoJCQkJCQkJPGRpdiBjbGFzcz0iaW5wdXRfcmFkaW8iPgoJCQkJCQkJCTxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0ieyRhY3Rpb25pZH1wcmVwcm9jZXNzb3IiIHZhbHVlPSJ7JGRpcn0iIHtpZiAkY3VycmVudF9wcmVwcm9jZXNzb3IgZXEgJGRpcn1jaGVja2Vkey9pZn0+CgkJCQkJCQk8L2Rpdj4KCQkJCQkJCQoJCQkJCQkJe2lmIGlzc2V0KCRwcmVwcm9jZXNzb3ItPmxvZ28pIGFuZCAhZW1wdHkoJHByZXByb2Nlc3Nvci0+bG9nbyl9CgkJCQkJCQkJPGRpdiBjbGFzcz0ibG9nbyI+CgkJCQkJCQkJCTxpbWcgc3JjPSJ7JG1vZC0+R2V0TW9kdWxlVVJMUGF0aCgpfS9wcmVwcm9jZXNzb3JzL3skZGlyfS97JHByZXByb2Nlc3Nvci0+bG9nb30iPgoJCQkJCQkJCTwvZGl2PgoJCQkJCQkJey9pZn0KCQkJCQkJPC9sYWJlbD4KCQkJCQkJCQoJCQkJCQkKCQkJCQk8L2Rpdj4KCQkJCQkJCgkJCQl7L2ZvcmVhY2h9CgkJCTwvcD4KCQk8L2Rpdj4KCQkKCTwvZmllbGRzZXQ+IHsqRW5kIHByZSBwcm9jZXNzb3IqfQoJCgkKCTxmaWVsZHNldD4KCQk8bGVnZW5kPnskbW9kLT5MYW5nKCdvcHRpb25zJyl9PC9sZWdlbmQ+CgkJCgkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4KCQkJCTxsYWJlbCBmb3I9J2ltcG9ydF9kaXJzJz57JG1vZC0+TGFuZygnaW1wb3J0X2RpcnMnKX08L2xhYmVsPgoJCQk8L3A+CgkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPgoJCQkJPGlucHV0IHR5cGU9InRleHQiIG5hbWU9J3skYWN0aW9uaWR9aW1wb3J0X2RpcnMnIGlkPSdpbXBvcnRfZGlycycgdmFsdWU9J3skaW1wb3J0X2RpcnN9Jz4KCQkJPC9wPgoJCTwvZGl2PgoJCQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+CgkJCQk8bGFiZWw+eyRtb2QtPkxhbmcoJ21pbmlmeScpfTwvbGFiZWw+CgkJCTwvcD4KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCQk8bGFiZWwgZm9yPSdtaW5pZnknPgoJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9J3skYWN0aW9uaWR9bWluaWZ5JyB2YWx1ZT0nMCc+CgkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSd7JGFjdGlvbmlkfW1pbmlmeScgaWQ9J21pbmlmeScgdmFsdWU9JzEnIHtpZiAkbWluaWZ5fWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0+CgkJCQkJCgkJCQkJeyRtb2QtPkxhbmcoJ21pbmlmeV9sYWJlbCcpfQoJCQkJPC9sYWJlbD4KCQkJPC9wPgoJCTwvZGl2PgoJCQoJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJCTxwIGNsYXNzPSJwYWdldGV4dCI+CgkJCQk8bGFiZWw+eyRtb2QtPkxhbmcoJ2dlbmVyYXRlX3NvdXJjZW1hcCcpfTwvbGFiZWw+CgkJCTwvcD4KCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCQk8bGFiZWwgZm9yPSdnZW5lcmF0ZV9zb3VyY2VtYXAnPgoJCQkJCTxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9J3skYWN0aW9uaWR9Z2VuZXJhdGVfc291cmNlbWFwJyB2YWx1ZT0nMCc+CgkJCQkJPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSd7JGFjdGlvbmlkfWdlbmVyYXRlX3NvdXJjZW1hcCcgaWQ9J2dlbmVyYXRlX3NvdXJjZW1hcCcgdmFsdWU9JzEnIHtpZiAkZ2VuZXJhdGVfc291cmNlbWFwfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0+CgkJCQkJCgkJCQkJeyRtb2QtPkxhbmcoJ2dlbmVyYXRlX3NvdXJjZW1hcF9sYWJlbCcpfQoJCQkJPC9sYWJlbD4KCQkJPC9wPgoJCTwvZGl2PgoJCQoJPC9maWVsZHNldD4KCgkKCQoJCgkKCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CgkJCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgoJCQk8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KCQk8L3A+Cgk8L2Rpdj4KCQoJCgp7JGZvcm1fZW5kfQoK]]></data>
	</file>
</module>
