Spade
Mini Shell
admin/assets/css/style.css000064400000003525151171034240011603
0ustar00form.form-horizontal div.control-label
{
width: 28% !important;
}
form.form-horizontal div.control-label label
{
font-weight: bold !important;
}
table.admintable td label {
clear: none;
min-width: 40px;
margin: 3px 2px;
display: inline-block;
}
table.admintable td.key {
font-weight: bold;
}
fieldset.adminform {
background-color: white;
}
table.admintable {
background-color: white;
}
span.submitter_name, span.submitter_email {
display: block;
}
#hdp_right_panel {
margin: 8px 0 10px 0;
}
#comment_heading {
width: 15%;
float: left;
}
#add_comment_heading {
float: left;
}
.attachment_lists {
background: none repeat scroll 0 0 #ECF4FB;
border: 1px solid #CADAE7;
padding: 5px 5px 5px 10px;
margin: 0 5px 5px;
float: right;
width: 20%;
}
.hdp_ticket_message_left {
float: left;
width: 75%;
text-align: justify;
}
.hdp_ticket_message {
text-align: justify;
}
h2.hdp_heading {
font-size: 20px;
}
#hdp_add_comment_link {
font-size: 18px;
margin-left: 10px;
}
div.admintable {
background-color: white;
}
.hdp_toolbar {
margin-left: 10px;
}
#hdp_container {
margin: 0px;
padding: 0px;
}
ul#hdp_attachment_list li {
list-style: none;
}
table.admintable td label {
clear: none;
min-width: 40px;
margin: 3px 2px;
display: inline-block;
}
fieldset.adminform {
border: none;
}
.form-horizontal label.control-label {
text-align: left;
}
.form-horizontal div.controls label {
clear: none;
min-width: 40px;
display: inline-block;
}
span.label_box {
font-weight: bold;
color: #FFF;
font-size: 14px;
padding: 4px;
margin-left: 4px;
text-transform: uppercase;
}admin/assets/js/colorpicker/arrow.gif000064400000000102151171034240013676
0ustar00GIF89a�����<x�<x!�
,L�p��lo�:��*�4I;admin/assets/js/colorpicker/cross.gif000064400000000123151171034240013700
0ustar00GIF89a����������!�
,$�ǝ��RQg/�,���@��)�)�qڤp<��U;admin/assets/js/colorpicker/demo.html000064400000000307151171034240013676
0ustar00<html>
<head>
<title>jscolor demo</title>
</head>
<body>
<script type="text/javascript"
src="jscolor.js"></script>
Click here: <input class="color" value="66ff00">
</body>
</html>
admin/assets/js/colorpicker/hs.png000064400000005174151171034250013214
0ustar00�PNG
IHDR�e�5�
CIDATx���r#+E�a�?��%�yH��.����q��z<��Z�wm.!��?��_�
��?�O;j� �o���yh���#�az8hW��#D��|� �Q�h�?#zv�$܆;������A�~2�8̱8"r�����8D���)�ԑ��n��&�f�Ĺi( �v&v�����F �����_#��@��C��H�x��jMKП���t���-t"�<��Ƒ����}��Hナ����*G�φN��#��5b�H����2]E��|��kS��݈�k�\{�\
�&�%�B?������D�'A�"��.�C����NʔIL�~��Ol]�_��<��r�Ԅ�/L�q/t�����HIh�|��U=�v#�n����R�iK��#�1v
{�>j
�,����=�;<��*숽"}�Gԩu�wax�kձҏgC�����2�q�o��s�����E�K4
�8ڙ��֏�˪���u�u"��hb{�Kl�Xc�U�\c�wRǟ; z�14��Q�V�x�=��sυ�Kl���G��Y+c�$��݈����=0�<��=z;�4�E��K�7FF����C@"]�V�ݿ�����Oai��F�G"���(��!�G�48�F
�t@��$
�Ca�_�"�\_��2����v&v�&��^��2�TaO��?z�1t�J7#�f��ʠ��|�F?���$��.�#�6l��S��`��U?zt[�����:����1neh���$�N�W�Y��н���.�#��
Z�1`��=ڟ�Z����8[J`z�A��A]�|t�}�0G����j{vU=MI�sI1��Јn{�
"-͟�v�
>�p��������[�c��
#`�+N
�Sj�ʕ�Y�~�(_B~�P�-��н���[k�_RV��ܿ}.�?�=t]�*�7`1�3�]��k_��/O�v&v�f���Ρ�n�I��dz��C#.����T�X|5��V?��
}4B��W�%��(�0-�D���? ��#n
�q���8�km*�&k����hgb���
W`d*<H#���_���'������!�Ki�c�M�����
�а�����V��<�4��}K�,�op[�gm����������ce�?���a�nĎ�
����-�T�x�O�ߞ������c���v���π�aGli�ϥ�/E��O �
�"?}����ҟ;�2K6ט?�,hgbh�>,-�9o
秏��HlM������2�g6|7����$��f��z��y�������[�����,(:�D�fJ�'�ҏx4CFF ��K��4uY_?j��,�y"tR�Y�Q���"������ÜQ}=��*���z�
Oh���f�H����=a��D.����D�8���1Ҵ?��Ċ�B��xZ��Yh�D#�\�qt�wS4�&�?
�ٞ>ϻ�/�z�G��thb{hE�e�PZW͎v���C���]�{�#�c��8a�Ej��$�-��Ь��}��_Թ�8ړ����2J؆4�G��Di��4�@�� �K7��iiv�l��k1U�gD��g��l#5t�~��'Q��҄y���#������tbm�U�U��6���>ڟ��ݿR9����f�܀g�t���Bl������FVFI�_l��W?��Hl���cn������ B�;BK��6wg�T��P�w�B�G��g:U�����?���El =��G�2b6����x�?�=�T���le4ȯ��������]�Q���%�\��z
�
���@h�rjA<
�{�E���_��{�`�y]^�~���0�h���V��A�6��R�H�xE�0�-����ʠ˚�����}�y���.�j.�n�Q��
�8ڟ�����l���EY@σ�Bl����q��c�Z��9�-a6��b��wl�ѽ���O��_w#v�4��Ƕ=Ԥ/�������Џ�X$Rܭ\�{/(,�H�4ҏ���C@J¬n��22�U=����6p�?�=�} �z��V�8 �I3�A[R���яà��]������s����WoxuS����@�-��Ѕ~L
묌L�`�]�Z?N��$����#(dny��L�d����.��1W��Z���%z���0G�֏@���}�R��2:���A��+�_D�O�.�s��Ç�%҅~���P,�ٛ+|�"�u�s[�:ڟ��bDM�e�z(gٗ
�|���F��#W��1л�-�k�������B
����0�w�B����2��#�9ڍ������T4���跏c�7�A@Jr5��Ț�ĩ̹��q� �Ol}�_@���x��2�)S�z��|8ڟ������I�k2+|M��F��p&�'�t��Guj؆o�x�Fb3�Z?(����s�̗��{��t�݂�܉Nה��[F�d�������ꚜ�L�db�ӡ�n�.е~0_>����Ҽ��Ȗ���������d'Jv��}?���>Ė�!�����-H�:�
KIEND�B`�admin/assets/js/colorpicker/hv.png000064400000005461151171034250013216
0ustar00�PNG
IHDR�e�5�
�IDATx����
��M�ݪ��f���n�b@_
��$]].�w��
�������IJ�@�
����_�6W�Χ@��8��̦��G����1{��̎�;O���ݻ��:�qݫ���ϧ�v�ඟ1~|���%a���G�K6.3����OLތ��ڹ��J�YF.�Q�֮�@>:���Q0�~��Ɔ���~��r��0hob
z�~����H�y��μ�>zk�U{C�(���a����ȅ���^���[hvu�
�c�G{"��?23��:R
�z3��� v��F�A����Z��~��3n=��R�EZɱ��I"uX��y�~�@�0�DMb�w5�F�w�71=�?�ʦ��S�,����:tq�03f���b�<�n�21�Rfl��CW7hW3a�~}��ّ��Q6oRycV��&�G��σv!%��5h�@A���3��E��8z�x�݄v��O�N!Pj�GqM��<)�8:����&v*��:�Ŭ�����Phob
zȏU�T>��2����jS �@�a�D�9<Q!Ȳ
��<�����
�0`� �d�
��A�a�@4�?�Jm�������
40s/���*&`Q�-eT�W�6C�4�f��-M�_4��B$��AU`�_�osf�X��N�PW����lYڢ�|6�<:�x3���/��Rn�MU�SzuQ9ڕXY����U:��A�
�&�jƣ�c���h����>��&��e�,�1�C4����$ON��t��tB��_��lAEQ4Gi�lt��1���ڀ���Hv��hob�>g�&�_��Hen/kSz��HK����,����_�f�r�Ǜ]3$�\�υ�I���Z
��_�ڀ����tق��R~l����B[�?���AWh�h�%\�Y���ۓ'��/��+����2v% ������_�TQ3�ݘ�<ڛX�Y�VןvV^g�_���(8՟>:��ޮ_���ΪU)��~���]����ԯ�3�B8��=�y#����h↵���X+��9F~�^�'��Ia�s���!���]h"���č[��9��k���Y��@�0����L��1Q0��?ڛ����M�<*p��TB����*�f���$l�z3W��4[�����I]OZ�'o%�c���o7��m�h�v���0��)�a�@�e�B�j���]UQ���/|4���߮Co�Zv]�Ruv]��)�;�5,t�[Ю�'��_�;��'���
Ў�'_�_��O�/.fm.��%�9����b�>�M�zy��B�ꩼ�
�D�A�/k-;o��Q�ubmm,�y�C�A�/�q����<hWb
�(�v4Q��U^7�町ȗX�����*�K�J3]8M����5�j����ok�>��N��b�oZI"��(F}�ef(j�*C��P��^�'�f���\?(�����eZ�_W&{��c6��
<t����ܣ�F���{l^ߴ�ǩ�ˣ'NNT��!M�W����y�~�J}nzi�\w�k��J�J���& �{\w�ql'գ�f�@�A��À��X�|{ׄ���'B�k�{dk����A�݄2���=C�A�C��!7cۺ��}e)��)\t�H]�m2s�l�˖��D���v1O�tyU���zjm�~�S)��f�b}�EK[���<����Φ���Dho�@hb}MIu�;�$����<�gA�k֧[�&�D��b�yմ�k��^j��Nā�K�{Lago�z�����:��������:�E�<�=�@h��,�~ݿʳ��[���~�@��?{��x�����=\��
��I��8�Җ�:� �iK���=6��?��eiv}*w��G�Z�U�H.Ͼ>�ӡM�iv�B�h����_6�l���P�ebp���\V�����uwrH��bU,̹�>�s�]��%����0��m��uB/��/ς
��O���{��-��(Zg����q���=:���y��{��.�Gi�����a! �{�
�'Q�Bz�5Iq'�s�7�
Kx��V��������۠��G>
���Q}ͯ��z?��A{B��G�ͽШ΅��G�*�,>�{�J�A�K�kw0�O��%P�VtMK�z����@iy7���d�:��4�@���KjN:SwU�m�l�R_�T���#t�������1Ewb
�ҳ�tGm���i���
�Ů]��0hWb
���#G��0�<��j��0�b
���T0��S�����G��]B��5��c�w��n��!JV����
~�#c������<�isa/�V�q�>q;PR�?��g�/�����`���ͣX��à���0h�����!��
|���Q���ٯ�Rz�1��_�Tmu�m�$��s�1��1�JҾM�v��0�0b��_*���&����s�Ц;�#�Bc>>�-M�'��F���7i�)d�LW��
m%Nq�P?6�{MGr����������3����0�{�ib���=L�A��w~��Lg@�GA��'w�_>�M���h �N�v"v��C�uZw���|�Ho^���c���g�/i�9kU���"9ڕؑ�I�����·���h�����JU��@'�+Q����Q��wt���j��A����Ͼ�`�x+�q�tIEND�B`�admin/assets/js/colorpicker/jscolor.js000064400000115057151171034250014107
0ustar00/**
* jscolor, JavaScript Color Picker
*
* @version 1.4.0
* @license GNU Lesser General Public License,
http://www.gnu.org/copyleft/lesser.html
* @author Jan Odvarko, http://odvarko.cz
* @created 2008-06-15
* @updated 2012-07-06
* @link http://jscolor.com
*/
var jscolor = {
dir: '', // location of jscolor directory (leave empty to
autodetect)
bindClass: 'color', // class name
binding: true, // automatic binding via <input
class="...">
preloading: true, // use image preloading?
install: function () {
jscolor.addEvent(window, 'load', jscolor.init);
},
init: function () {
if (jscolor.binding) {
jscolor.bind();
}
if (jscolor.preloading) {
jscolor.preload();
}
},
getDir: function () {
if (!jscolor.dir) {
var detected = jscolor.detectDir();
jscolor.dir = detected !== false ? detected :
'jscolor/';
}
return jscolor.dir;
},
detectDir: function () {
var base = location.href;
var e = document.getElementsByTagName('base');
for (var i = 0; i < e.length; i += 1) {
if (e[i].href) {
base = e[i].href;
}
}
var e = document.getElementsByTagName('script');
for (var i = 0; i < e.length; i += 1) {
if (e[i].src &&
/(^|\/)jscolor\.js([?#].*)?$/i.test(e[i].src)) {
var src = new jscolor.URI(e[i].src);
var srcAbs = src.toAbsolute(base);
srcAbs.path = srcAbs.path.replace(/[^\/]+$/, '');
// remove filename
srcAbs.query = null;
srcAbs.fragment = null;
return srcAbs.toString();
}
}
return false;
},
bind: function () {
var matchClass = new RegExp('(^|\\s)(' +
jscolor.bindClass + ')\\s*(\\{[^}]*\\})?', 'i');
var e = document.getElementsByTagName('input');
for (var i = 0; i < e.length; i += 1) {
var m;
if (!e[i].color && e[i].className && (m =
e[i].className.match(matchClass))) {
var prop = {};
if (m[3]) {
try {
prop = (new Function('return (' + m[3] +
')'))();
} catch (eInvalidProp) {
}
}
e[i].color = new jscolor.color(e[i], prop);
}
}
},
preload: function () {
for (var fn in jscolor.imgRequire) {
if (jscolor.imgRequire.hasOwnProperty(fn)) {
jscolor.loadImage(fn);
}
}
},
images: {
pad: [181, 101],
sld: [16, 101],
cross: [15, 15],
arrow: [7, 11]
},
imgRequire: {},
imgLoaded: {},
requireImage: function (filename) {
jscolor.imgRequire[filename] = true;
},
loadImage: function (filename) {
if (!jscolor.imgLoaded[filename]) {
jscolor.imgLoaded[filename] = new Image();
jscolor.imgLoaded[filename].src = jscolor.getDir() + filename;
}
},
fetchElement: function (mixed) {
return typeof mixed === 'string' ?
document.getElementById(mixed) : mixed;
},
addEvent: function (el, evnt, func) {
if (el.addEventListener) {
el.addEventListener(evnt, func, false);
} else if (el.attachEvent) {
el.attachEvent('on' + evnt, func);
}
},
fireEvent: function (el, evnt) {
if (!el) {
return;
}
if (document.createEvent) {
var ev = document.createEvent('HTMLEvents');
ev.initEvent(evnt, true, true);
el.dispatchEvent(ev);
} else if (document.createEventObject) {
var ev = document.createEventObject();
el.fireEvent('on' + evnt, ev);
} else if (el['on' + evnt]) { // alternatively use the
traditional event model (IE5)
el['on' + evnt]();
}
},
getElementPos: function (e) {
var e1 = e, e2 = e;
var x = 0, y = 0;
if (e1.offsetParent) {
do {
x += e1.offsetLeft;
y += e1.offsetTop;
} while (e1 = e1.offsetParent);
}
while ((e2 = e2.parentNode) && e2.nodeName.toUpperCase()
!== 'BODY') {
x -= e2.scrollLeft;
y -= e2.scrollTop;
}
return [x, y];
},
getElementSize: function (e) {
return [e.offsetWidth, e.offsetHeight];
},
getRelMousePos: function (e) {
var x = 0, y = 0;
if (!e) {
e = window.event;
}
if (typeof e.offsetX === 'number') {
x = e.offsetX;
y = e.offsetY;
} else if (typeof e.layerX === 'number') {
x = e.layerX;
y = e.layerY;
}
return {x: x, y: y};
},
getViewPos: function () {
if (typeof window.pageYOffset === 'number') {
return [window.pageXOffset, window.pageYOffset];
} else if (document.body && (document.body.scrollLeft ||
document.body.scrollTop)) {
return [document.body.scrollLeft, document.body.scrollTop];
} else if (document.documentElement &&
(document.documentElement.scrollLeft ||
document.documentElement.scrollTop)) {
return [document.documentElement.scrollLeft,
document.documentElement.scrollTop];
} else {
return [0, 0];
}
},
getViewSize: function () {
if (typeof window.innerWidth === 'number') {
return [window.innerWidth, window.innerHeight];
} else if (document.body && (document.body.clientWidth ||
document.body.clientHeight)) {
return [document.body.clientWidth,
document.body.clientHeight];
} else if (document.documentElement &&
(document.documentElement.clientWidth ||
document.documentElement.clientHeight)) {
return [document.documentElement.clientWidth,
document.documentElement.clientHeight];
} else {
return [0, 0];
}
},
URI: function (uri) { // See RFC3986
this.scheme = null;
this.authority = null;
this.path = '';
this.query = null;
this.fragment = null;
this.parse = function (uri) {
var m =
uri.match(/^(([A-Za-z][0-9A-Za-z+.-]*)(:))?((\/\/)([^\/?#]*))?([^?#]*)((\?)([^#]*))?((#)(.*))?/);
this.scheme = m[3] ? m[2] : null;
this.authority = m[5] ? m[6] : null;
this.path = m[7];
this.query = m[9] ? m[10] : null;
this.fragment = m[12] ? m[13] : null;
return this;
};
this.toString = function () {
var result = '';
if (this.scheme !== null) {
result = result + this.scheme + ':';
}
if (this.authority !== null) {
result = result + '//' + this.authority;
}
if (this.path !== null) {
result = result + this.path;
}
if (this.query !== null) {
result = result + '?' + this.query;
}
if (this.fragment !== null) {
result = result + '#' + this.fragment;
}
return result;
};
this.toAbsolute = function (base) {
var base = new jscolor.URI(base);
var r = this;
var t = new jscolor.URI;
if (base.scheme === null) {
return false;
}
if (r.scheme !== null && r.scheme.toLowerCase() ===
base.scheme.toLowerCase()) {
r.scheme = null;
}
if (r.scheme !== null) {
t.scheme = r.scheme;
t.authority = r.authority;
t.path = removeDotSegments(r.path);
t.query = r.query;
} else {
if (r.authority !== null) {
t.authority = r.authority;
t.path = removeDotSegments(r.path);
t.query = r.query;
} else {
if (r.path === '') {
t.path = base.path;
if (r.query !== null) {
t.query = r.query;
} else {
t.query = base.query;
}
} else {
if (r.path.substr(0, 1) === '/') {
t.path = removeDotSegments(r.path);
} else {
if (base.authority !== null &&
base.path === '') {
t.path = '/' + r.path;
} else {
t.path = base.path.replace(/[^\/]+$/,
'') + r.path;
}
t.path = removeDotSegments(t.path);
}
t.query = r.query;
}
t.authority = base.authority;
}
t.scheme = base.scheme;
}
t.fragment = r.fragment;
return t;
};
function removeDotSegments(path) {
var out = '';
while (path) {
if (path.substr(0, 3) === '../' || path.substr(0,
2) === './') {
path = path.replace(/^\.+/, '').substr(1);
} else if (path.substr(0, 3) === '/./' || path
=== '/.') {
path = '/' + path.substr(3);
} else if (path.substr(0, 4) === '/../' || path
=== '/..') {
path = '/' + path.substr(4);
out = out.replace(/\/?[^\/]*$/, '');
} else if (path === '.' || path ===
'..') {
path = '';
} else {
var rm = path.match(/^\/?[^\/]*/)[0];
path = path.substr(rm.length);
out = out + rm;
}
}
return out;
}
if (uri) {
this.parse(uri);
}
},
/*
* Usage example:
* var myColor = new jscolor.color(myInputElement)
*/
color: function (target, prop) {
this.required = true; // refuse empty values?
this.adjust = true; // adjust value to uniform notation?
this.hash = false; // prefix color with # symbol?
this.caps = true; // uppercase?
this.slider = true; // show the value/saturation slider?
this.valueElement = target; // value holder
this.styleElement = target; // where to reflect current color
this.onImmediateChange = null; // onchange callback (can be either
string or function)
this.hsv = [0, 0, 1]; // read-only 0-6, 0-1, 0-1
this.rgb = [1, 1, 1]; // read-only 0-1, 0-1, 0-1
this.minH = 0; // read-only 0-6
this.maxH = 6; // read-only 0-6
this.minS = 0; // read-only 0-1
this.maxS = 1; // read-only 0-1
this.minV = 0; // read-only 0-1
this.maxV = 1; // read-only 0-1
this.pickerOnfocus = true; // display picker on focus?
this.pickerMode = 'HSV'; // HSV | HVS
this.pickerPosition = 'bottom'; // left | right | top |
bottom
this.pickerSmartPosition = true; // automatically adjust picker
position when necessary
this.pickerButtonHeight = 20; // px
this.pickerClosable = false;
this.pickerCloseText = 'Close';
this.pickerButtonColor = 'ButtonText'; // px
this.pickerFace = 10; // px
this.pickerFaceColor = 'ThreeDFace'; // CSS color
this.pickerBorder = 1; // px
this.pickerBorderColor = 'ThreeDHighlight ThreeDShadow
ThreeDShadow ThreeDHighlight'; // CSS color
this.pickerInset = 1; // px
this.pickerInsetColor = 'ThreeDShadow ThreeDHighlight
ThreeDHighlight ThreeDShadow'; // CSS color
this.pickerZIndex = 10000;
for (var p in prop) {
if (prop.hasOwnProperty(p)) {
this[p] = prop[p];
}
}
this.hidePicker = function () {
if (isPickerOwner()) {
removePicker();
}
};
this.showPicker = function () {
if (!isPickerOwner()) {
var tp = jscolor.getElementPos(target); // target pos
var ts = jscolor.getElementSize(target); // target size
var vp = jscolor.getViewPos(); // view pos
var vs = jscolor.getViewSize(); // view size
var ps = getPickerDims(this); // picker size
var a, b, c;
switch (this.pickerPosition.toLowerCase()) {
case 'left':
a = 1;
b = 0;
c = -1;
break;
case 'right':
a = 1;
b = 0;
c = 1;
break;
case 'top':
a = 0;
b = 1;
c = -1;
break;
default:
a = 0;
b = 1;
c = 1;
break;
}
var l = (ts[b] + ps[b]) / 2;
// picker pos
if (!this.pickerSmartPosition) {
var pp = [
tp[a],
tp[b] + ts[b] - l + l * c
];
} else {
var pp = [
-vp[a] + tp[a] + ps[a] > vs[a] ?
(-vp[a] + tp[a] + ts[a] / 2 > vs[a] / 2
&& tp[a] + ts[a] - ps[a] >= 0 ? tp[a] + ts[a] - ps[a] : tp[a])
:
tp[a],
-vp[b] + tp[b] + ts[b] + ps[b] - l + l * c >
vs[b] ?
(-vp[b] + tp[b] + ts[b] / 2 > vs[b] / 2
&& tp[b] + ts[b] - l - l * c >= 0 ? tp[b] + ts[b] - l - l * c :
tp[b] + ts[b] - l + l * c) :
(tp[b] + ts[b] - l + l * c >= 0 ? tp[b] +
ts[b] - l + l * c : tp[b] + ts[b] - l - l * c)
];
}
drawPicker(pp[a], pp[b]);
}
};
this.importColor = function () {
if (!valueElement) {
this.exportColor();
} else {
if (!this.adjust) {
if (!this.fromString(valueElement.value, leaveValue))
{
styleElement.style.backgroundImage =
styleElement.jscStyle.backgroundImage;
styleElement.style.backgroundColor =
styleElement.jscStyle.backgroundColor;
styleElement.style.color =
styleElement.jscStyle.color;
this.exportColor(leaveValue | leaveStyle);
}
} else if (!this.required &&
/^\s*$/.test(valueElement.value)) {
valueElement.value = '';
styleElement.style.backgroundImage =
styleElement.jscStyle.backgroundImage;
styleElement.style.backgroundColor =
styleElement.jscStyle.backgroundColor;
styleElement.style.color =
styleElement.jscStyle.color;
this.exportColor(leaveValue | leaveStyle);
} else if (this.fromString(valueElement.value)) {
// OK
} else {
this.exportColor();
}
}
};
this.exportColor = function (flags) {
if (!(flags & leaveValue) && valueElement) {
var value = this.toString();
if (this.caps) {
value = value.toUpperCase();
}
if (this.hash) {
value = '#' + value;
}
valueElement.value = value;
}
if (!(flags & leaveStyle) && styleElement) {
styleElement.style.backgroundImage = "none";
styleElement.style.backgroundColor =
'#' + this.toString();
styleElement.style.color =
0.213 * this.rgb[0] +
0.715 * this.rgb[1] +
0.072 * this.rgb[2]
< 0.5 ? '#FFF' : '#000';
}
if (!(flags & leavePad) && isPickerOwner()) {
redrawPad();
}
if (!(flags & leaveSld) && isPickerOwner()) {
redrawSld();
}
};
this.fromHSV = function (h, s, v, flags) { // null = don't
change
if (h !== null) {
h = Math.max(0.0, this.minH, Math.min(6.0, this.maxH, h));
}
if (s !== null) {
s = Math.max(0.0, this.minS, Math.min(1.0, this.maxS, s));
}
if (v !== null) {
v = Math.max(0.0, this.minV, Math.min(1.0, this.maxV, v));
}
this.rgb = HSV_RGB(
h === null ? this.hsv[0] : (this.hsv[0] = h),
s === null ? this.hsv[1] : (this.hsv[1] = s),
v === null ? this.hsv[2] : (this.hsv[2] = v)
);
this.exportColor(flags);
};
this.fromRGB = function (r, g, b, flags) { // null = don't
change
if (r !== null) {
r = Math.max(0.0, Math.min(1.0, r));
}
if (g !== null) {
g = Math.max(0.0, Math.min(1.0, g));
}
if (b !== null) {
b = Math.max(0.0, Math.min(1.0, b));
}
var hsv = RGB_HSV(
r === null ? this.rgb[0] : r,
g === null ? this.rgb[1] : g,
b === null ? this.rgb[2] : b
);
if (hsv[0] !== null) {
this.hsv[0] = Math.max(0.0, this.minH, Math.min(6.0,
this.maxH, hsv[0]));
}
if (hsv[2] !== 0) {
this.hsv[1] = hsv[1] === null ? null : Math.max(0.0,
this.minS, Math.min(1.0, this.maxS, hsv[1]));
}
this.hsv[2] = hsv[2] === null ? null : Math.max(0.0, this.minV,
Math.min(1.0, this.maxV, hsv[2]));
// update RGB according to final HSV, as some values might be
trimmed
var rgb = HSV_RGB(this.hsv[0], this.hsv[1], this.hsv[2]);
this.rgb[0] = rgb[0];
this.rgb[1] = rgb[1];
this.rgb[2] = rgb[2];
this.exportColor(flags);
};
this.fromString = function (hex, flags) {
var m = hex.match(/^\W*([0-9A-F]{3}([0-9A-F]{3})?)\W*$/i);
if (!m) {
return false;
} else {
if (m[1].length === 6) { // 6-char notation
this.fromRGB(
parseInt(m[1].substr(0, 2), 16) / 255,
parseInt(m[1].substr(2, 2), 16) / 255,
parseInt(m[1].substr(4, 2), 16) / 255,
flags
);
} else { // 3-char notation
this.fromRGB(
parseInt(m[1].charAt(0) + m[1].charAt(0), 16) /
255,
parseInt(m[1].charAt(1) + m[1].charAt(1), 16) /
255,
parseInt(m[1].charAt(2) + m[1].charAt(2), 16) /
255,
flags
);
}
return true;
}
};
this.toString = function () {
return (
(0x100 | Math.round(255 *
this.rgb[0])).toString(16).substr(1) +
(0x100 | Math.round(255 *
this.rgb[1])).toString(16).substr(1) +
(0x100 | Math.round(255 *
this.rgb[2])).toString(16).substr(1)
);
};
function RGB_HSV(r, g, b) {
var n = Math.min(Math.min(r, g), b);
var v = Math.max(Math.max(r, g), b);
var m = v - n;
if (m === 0) {
return [null, 0, v];
}
var h = r === n ? 3 + (b - g) / m : (g === n ? 5 + (r - b) / m
: 1 + (g - r) / m);
return [h === 6 ? 0 : h, m / v, v];
}
function HSV_RGB(h, s, v) {
if (h === null) {
return [v, v, v];
}
var i = Math.floor(h);
var f = i % 2 ? h - i : 1 - (h - i);
var m = v * (1 - s);
var n = v * (1 - s * f);
switch (i) {
case 6:
case 0:
return [v, n, m];
case 1:
return [n, v, m];
case 2:
return [m, v, n];
case 3:
return [m, n, v];
case 4:
return [n, m, v];
case 5:
return [v, m, n];
}
}
function removePicker() {
delete jscolor.picker.owner;
document.getElementsByTagName('body')[0].removeChild(jscolor.picker.boxB);
}
function drawPicker(x, y) {
if (!jscolor.picker) {
jscolor.picker = {
box: document.createElement('div'),
boxB: document.createElement('div'),
pad: document.createElement('div'),
padB: document.createElement('div'),
padM: document.createElement('div'),
sld: document.createElement('div'),
sldB: document.createElement('div'),
sldM: document.createElement('div'),
btn: document.createElement('div'),
btnS: document.createElement('span'),
btnT: document.createTextNode(THIS.pickerCloseText)
};
for (var i = 0, segSize = 4; i < jscolor.images.sld[1];
i += segSize) {
var seg = document.createElement('div');
seg.style.height = segSize + 'px';
seg.style.fontSize = '1px';
seg.style.lineHeight = '0';
jscolor.picker.sld.appendChild(seg);
}
jscolor.picker.sldB.appendChild(jscolor.picker.sld);
jscolor.picker.box.appendChild(jscolor.picker.sldB);
jscolor.picker.box.appendChild(jscolor.picker.sldM);
jscolor.picker.padB.appendChild(jscolor.picker.pad);
jscolor.picker.box.appendChild(jscolor.picker.padB);
jscolor.picker.box.appendChild(jscolor.picker.padM);
jscolor.picker.btnS.appendChild(jscolor.picker.btnT);
jscolor.picker.btn.appendChild(jscolor.picker.btnS);
jscolor.picker.box.appendChild(jscolor.picker.btn);
jscolor.picker.boxB.appendChild(jscolor.picker.box);
}
var p = jscolor.picker;
// controls interaction
p.box.onmouseup =
p.box.onmouseout = function () {
target.focus();
};
p.box.onmousedown = function () {
abortBlur = true;
};
p.box.onmousemove = function (e) {
if (holdPad || holdSld) {
holdPad && setPad(e);
holdSld && setSld(e);
if (document.selection) {
document.selection.empty();
} else if (window.getSelection) {
window.getSelection().removeAllRanges();
}
dispatchImmediateChange();
}
};
p.padM.onmouseup =
p.padM.onmouseout = function () {
if (holdPad) {
holdPad = false;
jscolor.fireEvent(valueElement,
'change');
}
};
p.padM.onmousedown = function (e) {
// if the slider is at the bottom, move it up
switch (modeID) {
case 0:
if (THIS.hsv[2] === 0) {
THIS.fromHSV(null, null, 1.0);
}
;
break;
case 1:
if (THIS.hsv[1] === 0) {
THIS.fromHSV(null, 1.0, null);
}
;
break;
}
holdPad = true;
setPad(e);
dispatchImmediateChange();
};
p.sldM.onmouseup =
p.sldM.onmouseout = function () {
if (holdSld) {
holdSld = false;
jscolor.fireEvent(valueElement,
'change');
}
};
p.sldM.onmousedown = function (e) {
holdSld = true;
setSld(e);
dispatchImmediateChange();
};
// picker
var dims = getPickerDims(THIS);
p.box.style.width = dims[0] + 'px';
p.box.style.height = dims[1] + 'px';
// picker border
p.boxB.style.position = 'absolute';
p.boxB.style.clear = 'both';
p.boxB.style.left = x + 'px';
p.boxB.style.top = y + 'px';
p.boxB.style.zIndex = THIS.pickerZIndex;
p.boxB.style.border = THIS.pickerBorder + 'px
solid';
p.boxB.style.borderColor = THIS.pickerBorderColor;
p.boxB.style.background = THIS.pickerFaceColor;
// pad image
p.pad.style.width = jscolor.images.pad[0] + 'px';
p.pad.style.height = jscolor.images.pad[1] + 'px';
// pad border
p.padB.style.position = 'absolute';
p.padB.style.left = THIS.pickerFace + 'px';
p.padB.style.top = THIS.pickerFace + 'px';
p.padB.style.border = THIS.pickerInset + 'px solid';
p.padB.style.borderColor = THIS.pickerInsetColor;
// pad mouse area
p.padM.style.position = 'absolute';
p.padM.style.left = '0';
p.padM.style.top = '0';
p.padM.style.width = THIS.pickerFace + 2 * THIS.pickerInset +
jscolor.images.pad[0] + jscolor.images.arrow[0] + 'px';
p.padM.style.height = p.box.style.height;
p.padM.style.cursor = 'crosshair';
// slider image
p.sld.style.overflow = 'hidden';
p.sld.style.width = jscolor.images.sld[0] + 'px';
p.sld.style.height = jscolor.images.sld[1] + 'px';
// slider border
p.sldB.style.display = THIS.slider ? 'block' :
'none';
p.sldB.style.position = 'absolute';
p.sldB.style.right = THIS.pickerFace + 'px';
p.sldB.style.top = THIS.pickerFace + 'px';
p.sldB.style.border = THIS.pickerInset + 'px solid';
p.sldB.style.borderColor = THIS.pickerInsetColor;
// slider mouse area
p.sldM.style.display = THIS.slider ? 'block' :
'none';
p.sldM.style.position = 'absolute';
p.sldM.style.right = '0';
p.sldM.style.top = '0';
p.sldM.style.width = jscolor.images.sld[0] +
jscolor.images.arrow[0] + THIS.pickerFace + 2 * THIS.pickerInset +
'px';
p.sldM.style.height = p.box.style.height;
try {
p.sldM.style.cursor = 'pointer';
} catch (eOldIE) {
p.sldM.style.cursor = 'hand';
}
// "close" button
function setBtnBorder() {
var insetColors = THIS.pickerInsetColor.split(/\s+/);
var pickerOutsetColor = insetColors.length < 2 ?
insetColors[0] : insetColors[1] + ' ' + insetColors[0] + '
' + insetColors[0] + ' ' + insetColors[1];
p.btn.style.borderColor = pickerOutsetColor;
}
p.btn.style.display = THIS.pickerClosable ? 'block' :
'none';
p.btn.style.position = 'absolute';
p.btn.style.left = THIS.pickerFace + 'px';
p.btn.style.bottom = THIS.pickerFace + 'px';
p.btn.style.padding = '0 15px';
p.btn.style.height = '18px';
p.btn.style.border = THIS.pickerInset + 'px solid';
setBtnBorder();
p.btn.style.color = THIS.pickerButtonColor;
p.btn.style.font = '12px sans-serif';
p.btn.style.textAlign = 'center';
try {
p.btn.style.cursor = 'pointer';
} catch (eOldIE) {
p.btn.style.cursor = 'hand';
}
p.btn.onmousedown = function () {
THIS.hidePicker();
};
p.btnS.style.lineHeight = p.btn.style.height;
// load images in optimal order
switch (modeID) {
case 0:
var padImg = 'hs.png';
break;
case 1:
var padImg = 'hv.png';
break;
}
p.padM.style.backgroundImage = "url('" +
jscolor.getDir() + "cross.gif')";
p.padM.style.backgroundRepeat = "no-repeat";
p.sldM.style.backgroundImage = "url('" +
jscolor.getDir() + "arrow.gif')";
p.sldM.style.backgroundRepeat = "no-repeat";
p.pad.style.backgroundImage = "url('" +
jscolor.getDir() + padImg + "')";
p.pad.style.backgroundRepeat = "no-repeat";
p.pad.style.backgroundPosition = "0 0";
// place pointers
redrawPad();
redrawSld();
jscolor.picker.owner = THIS;
document.getElementsByTagName('body')[0].appendChild(p.boxB);
}
function getPickerDims(o) {
var dims = [
2 * o.pickerInset + 2 * o.pickerFace +
jscolor.images.pad[0] +
(o.slider ? 2 * o.pickerInset + 2 * jscolor.images.arrow[0]
+ jscolor.images.sld[0] : 0),
o.pickerClosable ?
4 * o.pickerInset + 3 * o.pickerFace +
jscolor.images.pad[1] + o.pickerButtonHeight :
2 * o.pickerInset + 2 * o.pickerFace +
jscolor.images.pad[1]
];
return dims;
}
function redrawPad() {
// redraw the pad pointer
switch (modeID) {
case 0:
var yComponent = 1;
break;
case 1:
var yComponent = 2;
break;
}
var x = Math.round((THIS.hsv[0] / 6) * (jscolor.images.pad[0] -
1));
var y = Math.round((1 - THIS.hsv[yComponent]) *
(jscolor.images.pad[1] - 1));
jscolor.picker.padM.style.backgroundPosition =
(THIS.pickerFace + THIS.pickerInset + x -
Math.floor(jscolor.images.cross[0] / 2)) + 'px ' +
(THIS.pickerFace + THIS.pickerInset + y -
Math.floor(jscolor.images.cross[1] / 2)) + 'px';
// redraw the slider image
var seg = jscolor.picker.sld.childNodes;
switch (modeID) {
case 0:
var rgb = HSV_RGB(THIS.hsv[0], THIS.hsv[1], 1);
for (var i = 0; i < seg.length; i += 1) {
seg[i].style.backgroundColor = 'rgb(' +
(rgb[0] * (1 - i / seg.length) * 100) +
'%,' +
(rgb[1] * (1 - i / seg.length) * 100) +
'%,' +
(rgb[2] * (1 - i / seg.length) * 100) +
'%)';
}
break;
case 1:
var rgb, s, c = [THIS.hsv[2], 0, 0];
var i = Math.floor(THIS.hsv[0]);
var f = i % 2 ? THIS.hsv[0] - i : 1 - (THIS.hsv[0] -
i);
switch (i) {
case 6:
case 0:
rgb = [0, 1, 2];
break;
case 1:
rgb = [1, 0, 2];
break;
case 2:
rgb = [2, 0, 1];
break;
case 3:
rgb = [2, 1, 0];
break;
case 4:
rgb = [1, 2, 0];
break;
case 5:
rgb = [0, 2, 1];
break;
}
for (var i = 0; i < seg.length; i += 1) {
s = 1 - 1 / (seg.length - 1) * i;
c[1] = c[0] * (1 - s * f);
c[2] = c[0] * (1 - s);
seg[i].style.backgroundColor = 'rgb(' +
(c[rgb[0]] * 100) + '%,' +
(c[rgb[1]] * 100) + '%,' +
(c[rgb[2]] * 100) + '%)';
}
break;
}
}
function redrawSld() {
// redraw the slider pointer
switch (modeID) {
case 0:
var yComponent = 2;
break;
case 1:
var yComponent = 1;
break;
}
var y = Math.round((1 - THIS.hsv[yComponent]) *
(jscolor.images.sld[1] - 1));
jscolor.picker.sldM.style.backgroundPosition =
'0 ' + (THIS.pickerFace + THIS.pickerInset + y -
Math.floor(jscolor.images.arrow[1] / 2)) + 'px';
}
function isPickerOwner() {
return jscolor.picker && jscolor.picker.owner ===
THIS;
}
function blurTarget() {
if (valueElement === target) {
THIS.importColor();
}
if (THIS.pickerOnfocus) {
THIS.hidePicker();
}
}
function blurValue() {
if (valueElement !== target) {
THIS.importColor();
}
}
function setPad(e) {
var mpos = jscolor.getRelMousePos(e);
var x = mpos.x - THIS.pickerFace - THIS.pickerInset;
var y = mpos.y - THIS.pickerFace - THIS.pickerInset;
switch (modeID) {
case 0:
THIS.fromHSV(x * (6 / (jscolor.images.pad[0] - 1)), 1 -
y / (jscolor.images.pad[1] - 1), null, leaveSld);
break;
case 1:
THIS.fromHSV(x * (6 / (jscolor.images.pad[0] - 1)),
null, 1 - y / (jscolor.images.pad[1] - 1), leaveSld);
break;
}
}
function setSld(e) {
var mpos = jscolor.getRelMousePos(e);
var y = mpos.y - THIS.pickerFace - THIS.pickerInset;
switch (modeID) {
case 0:
THIS.fromHSV(null, null, 1 - y / (jscolor.images.sld[1]
- 1), leavePad);
break;
case 1:
THIS.fromHSV(null, 1 - y / (jscolor.images.sld[1] - 1),
null, leavePad);
break;
}
}
function dispatchImmediateChange() {
if (THIS.onImmediateChange) {
var callback;
if (typeof THIS.onImmediateChange === 'string')
{
callback = new Function(THIS.onImmediateChange);
} else {
callback = THIS.onImmediateChange;
}
callback.call(THIS);
}
}
var THIS = this;
var modeID = this.pickerMode.toLowerCase() === 'hvs' ? 1
: 0;
var abortBlur = false;
var
valueElement = jscolor.fetchElement(this.valueElement),
styleElement = jscolor.fetchElement(this.styleElement);
var
holdPad = false,
holdSld = false;
var
leaveValue = 1 << 0,
leaveStyle = 1 << 1,
leavePad = 1 << 2,
leaveSld = 1 << 3;
// target
jscolor.addEvent(target, 'focus', function () {
if (THIS.pickerOnfocus) {
THIS.showPicker();
}
});
jscolor.addEvent(target, 'blur', function () {
if (!abortBlur) {
window.setTimeout(function () {
abortBlur || blurTarget();
abortBlur = false;
}, 0);
} else {
abortBlur = false;
}
});
// valueElement
if (valueElement) {
var updateField = function () {
THIS.fromString(valueElement.value, leaveValue);
dispatchImmediateChange();
};
jscolor.addEvent(valueElement, 'keyup',
updateField);
jscolor.addEvent(valueElement, 'input',
updateField);
jscolor.addEvent(valueElement, 'blur', blurValue);
valueElement.setAttribute('autocomplete',
'off');
}
// styleElement
if (styleElement) {
styleElement.jscStyle = {
backgroundImage: styleElement.style.backgroundImage,
backgroundColor: styleElement.style.backgroundColor,
color: styleElement.style.color
};
}
// require images
switch (modeID) {
case 0:
jscolor.requireImage('hs.png');
break;
case 1:
jscolor.requireImage('hv.png');
break;
}
jscolor.requireImage('cross.gif');
jscolor.requireImage('arrow.gif');
this.importColor();
}
};
jscolor.install();
assets/bootstrap/css/bootstrap.css000064400000165620151171034250013413
0ustar00/*!
* Bootstrap v2.1.1
*
* Copyright 2012 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world @twitter by @mdo and
@fat.
*/
.clearfix {
*zoom: 1;
}
.clearfix:before,
.clearfix:after {
display: table;
content: "";
line-height: 0;
}
.clearfix:after {
clear: both;
}
.hide-text {
font: 0/0 a;
color: transparent;
text-shadow: none;
background-color: transparent;
border: 0;
}
.input-block-level {
display: block;
width: 100%;
min-height: 30px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.row-fluid {
width: 100%;
*zoom: 1;
}
.row-fluid:before,
.row-fluid:after {
display: table;
content: "";
line-height: 0;
}
.row-fluid:after {
clear: both;
}
.row-fluid [class*="span"] {
display: block;
width: 100%;
min-height: 30px;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
float: left;
margin-left: 2.127659574468085%;
*margin-left: 2.074468085106383%;
}
.row-fluid [class*="span"]:first-child {
margin-left: 0;
}
.row-fluid .span12 {
width: 100%;
*width: 99.94680851063829%;
}
.row-fluid .span11 {
width: 91.48936170212765%;
*width: 91.43617021276594%;
}
.row-fluid .span10 {
width: 82.97872340425532%;
*width: 82.92553191489361%;
}
.row-fluid .span9 {
width: 74.46808510638297%;
*width: 74.41489361702126%;
}
.row-fluid .span8 {
width: 65.95744680851064%;
*width: 65.90425531914893%;
}
.row-fluid .span7 {
width: 57.44680851063829%;
*width: 57.39361702127659%;
}
.row-fluid .span6 {
width: 48.93617021276595%;
*width: 48.88297872340425%;
}
.row-fluid .span5 {
width: 40.42553191489362%;
*width: 40.37234042553192%;
}
.row-fluid .span4 {
width: 31.914893617021278%;
*width: 31.861702127659576%;
}
.row-fluid .span3 {
width: 23.404255319148934%;
*width: 23.351063829787233%;
}
.row-fluid .span2 {
width: 14.893617021276595%;
*width: 14.840425531914894%;
}
.row-fluid .span1 {
width: 6.382978723404255%;
*width: 6.329787234042553%;
}
.row-fluid .offset12 {
margin-left: 104.25531914893617%;
*margin-left: 104.14893617021275%;
}
.row-fluid .offset12:first-child {
margin-left: 102.12765957446808%;
*margin-left: 102.02127659574467%;
}
.row-fluid .offset11 {
margin-left: 95.74468085106382%;
*margin-left: 95.6382978723404%;
}
.row-fluid .offset11:first-child {
margin-left: 93.61702127659574%;
*margin-left: 93.51063829787232%;
}
.row-fluid .offset10 {
margin-left: 87.23404255319149%;
*margin-left: 87.12765957446807%;
}
.row-fluid .offset10:first-child {
margin-left: 85.1063829787234%;
*margin-left: 84.99999999999999%;
}
.row-fluid .offset9 {
margin-left: 78.72340425531914%;
*margin-left: 78.61702127659572%;
}
.row-fluid .offset9:first-child {
margin-left: 76.59574468085106%;
*margin-left: 76.48936170212764%;
}
.row-fluid .offset8 {
margin-left: 70.2127659574468%;
*margin-left: 70.10638297872339%;
}
.row-fluid .offset8:first-child {
margin-left: 68.08510638297872%;
*margin-left: 67.9787234042553%;
}
.row-fluid .offset7 {
margin-left: 61.70212765957446%;
*margin-left: 61.59574468085106%;
}
.row-fluid .offset7:first-child {
margin-left: 59.574468085106375%;
*margin-left: 59.46808510638297%;
}
.row-fluid .offset6 {
margin-left: 53.191489361702125%;
*margin-left: 53.085106382978715%;
}
.row-fluid .offset6:first-child {
margin-left: 51.063829787234035%;
*margin-left: 50.95744680851063%;
}
.row-fluid .offset5 {
margin-left: 44.68085106382979%;
*margin-left: 44.57446808510638%;
}
.row-fluid .offset5:first-child {
margin-left: 42.5531914893617%;
*margin-left: 42.4468085106383%;
}
.row-fluid .offset4 {
margin-left: 36.170212765957444%;
*margin-left: 36.06382978723405%;
}
.row-fluid .offset4:first-child {
margin-left: 34.04255319148936%;
*margin-left: 33.93617021276596%;
}
.row-fluid .offset3 {
margin-left: 27.659574468085104%;
*margin-left: 27.5531914893617%;
}
.row-fluid .offset3:first-child {
margin-left: 25.53191489361702%;
*margin-left: 25.425531914893618%;
}
.row-fluid .offset2 {
margin-left: 19.148936170212764%;
*margin-left: 19.04255319148936%;
}
.row-fluid .offset2:first-child {
margin-left: 17.02127659574468%;
*margin-left: 16.914893617021278%;
}
.row-fluid .offset1 {
margin-left: 10.638297872340425%;
*margin-left: 10.53191489361702%;
}
.row-fluid .offset1:first-child {
margin-left: 8.51063829787234%;
*margin-left: 8.404255319148938%;
}
[class*="span"].hide,
.row-fluid [class*="span"].hide {
display: none;
}
[class*="span"].pull-right,
.row-fluid [class*="span"].pull-right {
float: right;
}
table {
max-width: 100%;
background-color: transparent;
border-collapse: collapse;
border-spacing: 0;
}
.table {
width: 100%;
margin-bottom: 20px;
}
.table th,
.table td {
padding: 8px;
line-height: 20px;
text-align: left;
vertical-align: top;
border-top: 1px solid #dddddd;
}
.table th {
font-weight: bold;
}
.table thead th {
vertical-align: bottom;
}
.table caption + thead tr:first-child th,
.table caption + thead tr:first-child td,
.table colgroup + thead tr:first-child th,
.table colgroup + thead tr:first-child td,
.table thead:first-child tr:first-child th,
.table thead:first-child tr:first-child td {
border-top: 0;
}
.table tbody + tbody {
border-top: 2px solid #dddddd;
}
.table-condensed th,
.table-condensed td {
padding: 4px 5px;
}
.table-bordered {
border: 1px solid #dddddd;
border-collapse: separate;
*border-collapse: collapse;
border-left: 0;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.table-bordered th,
.table-bordered td {
border-left: 1px solid #dddddd;
}
.table-bordered caption + thead tr:first-child th,
.table-bordered caption + tbody tr:first-child th,
.table-bordered caption + tbody tr:first-child td,
.table-bordered colgroup + thead tr:first-child th,
.table-bordered colgroup + tbody tr:first-child th,
.table-bordered colgroup + tbody tr:first-child td,
.table-bordered thead:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child td {
border-top: 0;
}
.table-bordered thead:first-child tr:first-child th:first-child,
.table-bordered tbody:first-child tr:first-child td:first-child {
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
}
.table-bordered thead:first-child tr:first-child th:last-child,
.table-bordered tbody:first-child tr:first-child td:last-child {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
}
.table-bordered thead:last-child tr:last-child th:first-child,
.table-bordered tbody:last-child tr:last-child td:first-child,
.table-bordered tfoot:last-child tr:last-child td:first-child {
-webkit-border-radius: 0 0 0 4px;
-moz-border-radius: 0 0 0 4px;
border-radius: 0 0 0 4px;
-webkit-border-bottom-left-radius: 4px;
border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
}
.table-bordered thead:last-child tr:last-child th:last-child,
.table-bordered tbody:last-child tr:last-child td:last-child,
.table-bordered tfoot:last-child tr:last-child td:last-child {
-webkit-border-bottom-right-radius: 4px;
border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
}
.table-bordered caption + thead tr:first-child th:first-child,
.table-bordered caption + tbody tr:first-child td:first-child,
.table-bordered colgroup + thead tr:first-child th:first-child,
.table-bordered colgroup + tbody tr:first-child td:first-child {
-webkit-border-top-left-radius: 4px;
border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
}
.table-bordered caption + thead tr:first-child th:last-child,
.table-bordered caption + tbody tr:first-child td:last-child,
.table-bordered colgroup + thead tr:first-child th:last-child,
.table-bordered colgroup + tbody tr:first-child td:last-child {
-webkit-border-top-right-radius: 4px;
border-top-right-radius: 4px;
-moz-border-radius-topleft: 4px;
}
.table-striped tbody tr:nth-child(odd) td,
.table-striped tbody tr:nth-child(odd) th {
background-color: #f9f9f9;
}
.table-hover tbody tr:hover td,
.table-hover tbody tr:hover th {
background-color: #f5f5f5;
}
.table tbody tr.success td {
background-color: #dff0d8;
}
.table tbody tr.error td {
background-color: #f2dede;
}
.table tbody tr.warning td {
background-color: #fcf8e3;
}
.table tbody tr.info td {
background-color: #d9edf7;
}
.table-hover tbody tr.success:hover td {
background-color: #d0e9c6;
}
.table-hover tbody tr.error:hover td {
background-color: #ebcccc;
}
.table-hover tbody tr.warning:hover td {
background-color: #faf2cc;
}
.table-hover tbody tr.info:hover td {
background-color: #c4e3f3;
}
form {
margin: 0 0 20px;
}
label,
input,
button,
select,
textarea {
font-size: 14px;
font-weight: normal;
line-height: 20px;
}
input,
button,
select,
textarea {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
display: inline-block;
height: 20px;
padding: 4px 6px;
margin-bottom: 9px;
font-size: 14px;
line-height: 20px;
color: #555555;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
input,
textarea,
.uneditable-input {
width: 206px;
}
textarea {
height: auto;
}
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
background-color: #ffffff;
border: 1px solid #cccccc;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-webkit-transition: border linear .2s, box-shadow linear .2s;
-moz-transition: border linear .2s, box-shadow linear .2s;
-o-transition: border linear .2s, box-shadow linear .2s;
transition: border linear .2s, box-shadow linear .2s;
}
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
border-color: rgba(82, 168, 236, 0.8);
outline: 0;
outline: thin dotted \9;
/* IE6-9 */
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px
rgba(82, 168, 236, 0.6);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82,
168, 236, 0.6);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168,
236, 0.6);
}
input[type="radio"],
input[type="checkbox"] {
margin: 4px 0 0;
*margin-top: 0;
/* IE7 */
margin-top: 1px \9;
/* IE8-9 */
line-height: normal;
cursor: pointer;
}
input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
width: auto;
}
select,
input[type="file"] {
height: 30px;
/* In IE7, the height of the select element cannot be changed by height,
only font-size */
*margin-top: 4px;
/* For IE7, add top margin to align select with labels */
line-height: 30px;
}
select {
border: 1px solid #cccccc;
background-color: #ffffff;
}
select[multiple],
select[size] {
height: auto;
}
select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.uneditable-input,
.uneditable-textarea {
color: #999999;
background-color: #fcfcfc;
border-color: #cccccc;
-webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
cursor: not-allowed;
}
.uneditable-input {
overflow: hidden;
white-space: nowrap;
}
.uneditable-textarea {
width: auto;
height: auto;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
color: #999999;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
color: #999999;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
color: #999999;
}
.radio,
.checkbox {
min-height: 18px;
padding-left: 18px;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
float: left;
margin-left: -18px;
}
.controls > .radio:first-child,
.controls > .checkbox:first-child {
padding-top: 5px;
}
.radio.inline,
.checkbox.inline {
display: inline-block;
padding-top: 5px;
margin-bottom: 0;
vertical-align: middle;
}
.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
margin-left: 10px;
}
.input-mini {
width: 60px;
}
.input-small {
width: 90px;
}
.input-medium {
width: 150px;
}
.input-large {
width: 210px;
}
.input-xlarge {
width: 270px;
}
.input-xxlarge {
width: 530px;
}
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
float: none;
margin-left: 0;
}
.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
.input-prepend .uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"],
.row-fluid .input-prepend [class*="span"],
.row-fluid .input-append [class*="span"] {
display: inline-block;
}
input,
textarea,
.uneditable-input {
margin-left: 0;
}
.controls-row [class*="span"] + [class*="span"] {
margin-left: 20px;
}
input.span12, textarea.span12, .uneditable-input.span12 {
width: 926px;
}
input.span11, textarea.span11, .uneditable-input.span11 {
width: 846px;
}
input.span10, textarea.span10, .uneditable-input.span10 {
width: 766px;
}
input.span9, textarea.span9, .uneditable-input.span9 {
width: 686px;
}
input.span8, textarea.span8, .uneditable-input.span8 {
width: 606px;
}
input.span7, textarea.span7, .uneditable-input.span7 {
width: 526px;
}
input.span6, textarea.span6, .uneditable-input.span6 {
width: 446px;
}
input.span5, textarea.span5, .uneditable-input.span5 {
width: 366px;
}
input.span4, textarea.span4, .uneditable-input.span4 {
width: 286px;
}
input.span3, textarea.span3, .uneditable-input.span3 {
width: 206px;
}
input.span2, textarea.span2, .uneditable-input.span2 {
width: 126px;
}
input.span1, textarea.span1, .uneditable-input.span1 {
width: 46px;
}
.controls-row {
*zoom: 1;
}
.controls-row:before,
.controls-row:after {
display: table;
content: "";
line-height: 0;
}
.controls-row:after {
clear: both;
}
.controls-row [class*="span"] {
float: left;
}
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
cursor: not-allowed;
background-color: #eeeeee;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
background-color: transparent;
}
.control-group.warning > label,
.control-group.warning .help-block,
.control-group.warning .help-inline {
color: #c09853;
}
.control-group.warning .checkbox,
.control-group.warning .radio,
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
color: #c09853;
}
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
border-color: #c09853;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.warning input:focus,
.control-group.warning select:focus,
.control-group.warning textarea:focus {
border-color: #a47e3c;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px
#dbc59e;
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
}
.control-group.warning .input-prepend .add-on,
.control-group.warning .input-append .add-on {
color: #c09853;
background-color: #fcf8e3;
border-color: #c09853;
}
.control-group.error > label,
.control-group.error .help-block,
.control-group.error .help-inline {
color: #b94a48;
}
.control-group.error .checkbox,
.control-group.error .radio,
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
color: #b94a48;
}
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
border-color: #b94a48;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.error input:focus,
.control-group.error select:focus,
.control-group.error textarea:focus {
border-color: #953b39;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px
#d59392;
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
}
.control-group.error .input-prepend .add-on,
.control-group.error .input-append .add-on {
color: #b94a48;
background-color: #f2dede;
border-color: #b94a48;
}
.control-group.success > label,
.control-group.success .help-block,
.control-group.success .help-inline {
color: #468847;
}
.control-group.success .checkbox,
.control-group.success .radio,
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
color: #468847;
}
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
border-color: #468847;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.success input:focus,
.control-group.success select:focus,
.control-group.success textarea:focus {
border-color: #356635;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px
#7aba7b;
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
}
.control-group.success .input-prepend .add-on,
.control-group.success .input-append .add-on {
color: #468847;
background-color: #dff0d8;
border-color: #468847;
}
.control-group.info > label,
.control-group.info .help-block,
.control-group.info .help-inline {
color: #3a87ad;
}
.control-group.info .checkbox,
.control-group.info .radio,
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
color: #3a87ad;
}
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
border-color: #3a87ad;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.info input:focus,
.control-group.info select:focus,
.control-group.info textarea:focus {
border-color: #2d6987;
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px
#7ab5d3;
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
}
.control-group.info .input-prepend .add-on,
.control-group.info .input-append .add-on {
color: #3a87ad;
background-color: #d9edf7;
border-color: #3a87ad;
}
input:focus:required:invalid,
textarea:focus:required:invalid,
select:focus:required:invalid {
color: #b94a48;
border-color: #ee5f5b;
}
input:focus:required:invalid:focus,
textarea:focus:required:invalid:focus,
select:focus:required:invalid:focus {
border-color: #e9322d;
-webkit-box-shadow: 0 0 6px #f8b9b7;
-moz-box-shadow: 0 0 6px #f8b9b7;
box-shadow: 0 0 6px #f8b9b7;
}
.form-actions {
padding: 19px 20px 20px;
margin-top: 20px;
margin-bottom: 20px;
background-color: #f5f5f5;
border-top: 1px solid #e5e5e5;
*zoom: 1;
}
.form-actions:before,
.form-actions:after {
display: table;
content: "";
line-height: 0;
}
.form-actions:after {
clear: both;
}
.help-block,
.help-inline {
color: #595959;
}
.help-block {
display: block;
margin-bottom: 10px;
}
.help-inline {
display: inline-block;
*display: inline;
/* IE7 inline-block hack */
*zoom: 1;
vertical-align: middle;
padding-left: 5px;
}
.input-append,
.input-prepend {
margin-bottom: 5px;
font-size: 0;
white-space: nowrap;
}
.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input {
position: relative;
margin-bottom: 0;
*margin-left: 0;
font-size: 14px;
vertical-align: top;
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
.input-append input:focus,
.input-prepend input:focus,
.input-append select:focus,
.input-prepend select:focus,
.input-append .uneditable-input:focus,
.input-prepend .uneditable-input:focus {
z-index: 2;
}
.input-append .add-on,
.input-prepend .add-on {
display: inline-block;
width: auto;
height: 20px;
min-width: 16px;
padding: 4px 5px;
font-size: 14px;
font-weight: normal;
line-height: 20px;
text-align: center;
text-shadow: 0 1px 0 #ffffff;
background-color: #eeeeee;
border: 1px solid #ccc;
}
.input-append .add-on,
.input-prepend .add-on,
.input-append .btn,
.input-prepend .btn {
vertical-align: top;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.input-append .active,
.input-prepend .active {
background-color: #a9dba9;
border-color: #46a546;
}
.input-prepend .add-on,
.input-prepend .btn {
margin-right: -1px;
}
.input-prepend .add-on:first-child,
.input-prepend .btn:first-child {
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
.input-append input,
.input-append select,
.input-append .uneditable-input {
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
.input-append .add-on,
.input-append .btn {
margin-left: -1px;
}
.input-append .add-on:last-child,
.input-append .btn:last-child {
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
.input-prepend.input-append input,
.input-prepend.input-append select,
.input-prepend.input-append .uneditable-input {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.input-prepend.input-append .add-on:first-child,
.input-prepend.input-append .btn:first-child {
margin-right: -1px;
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
.input-prepend.input-append .add-on:last-child,
.input-prepend.input-append .btn:last-child {
margin-left: -1px;
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
input.search-query {
padding-right: 14px;
padding-right: 4px \9;
padding-left: 14px;
padding-left: 4px \9;
/* IE7-8 doesn't have border-radius, so don't indent the
padding */
margin-bottom: 0;
-webkit-border-radius: 15px;
-moz-border-radius: 15px;
border-radius: 15px;
}
/* Allow for input prepend/append in search forms */
.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.form-search .input-append .search-query {
-webkit-border-radius: 14px 0 0 14px;
-moz-border-radius: 14px 0 0 14px;
border-radius: 14px 0 0 14px;
}
.form-search .input-append .btn {
-webkit-border-radius: 0 14px 14px 0;
-moz-border-radius: 0 14px 14px 0;
border-radius: 0 14px 14px 0;
}
.form-search .input-prepend .search-query {
-webkit-border-radius: 0 14px 14px 0;
-moz-border-radius: 0 14px 14px 0;
border-radius: 0 14px 14px 0;
}
.form-search .input-prepend .btn {
-webkit-border-radius: 14px 0 0 14px;
-moz-border-radius: 14px 0 0 14px;
border-radius: 14px 0 0 14px;
}
.form-search input,
.form-inline input,
.form-horizontal input,
.form-search textarea,
.form-inline textarea,
.form-horizontal textarea,
.form-search select,
.form-inline select,
.form-horizontal select,
.form-search .help-inline,
.form-inline .help-inline,
.form-horizontal .help-inline,
.form-search .uneditable-input,
.form-inline .uneditable-input,
.form-horizontal .uneditable-input,
.form-search .input-prepend,
.form-inline .input-prepend,
.form-horizontal .input-prepend,
.form-search .input-append,
.form-inline .input-append,
.form-horizontal .input-append {
display: inline-block;
*display: inline;
/* IE7 inline-block hack */
*zoom: 1;
margin-bottom: 0;
vertical-align: middle;
}
.form-search .hide,
.form-inline .hide,
.form-horizontal .hide {
display: none;
}
.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
display: inline-block;
}
.form-search .input-append,
.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
margin-bottom: 0;
}
.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
padding-left: 0;
margin-bottom: 0;
vertical-align: middle;
}
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
float: left;
margin-right: 3px;
margin-left: 0;
}
.control-group {
margin-bottom: 10px;
}
legend + .control-group {
margin-top: 20px;
-webkit-margin-top-collapse: separate;
}
.form-horizontal .control-group {
margin-bottom: 20px;
*zoom: 1;
}
.form-horizontal .control-group:before,
.form-horizontal .control-group:after {
display: table;
content: "";
line-height: 0;
}
.form-horizontal .control-group:after {
clear: both;
}
.form-horizontal .control-label {
float: left;
width: 160px;
padding-top: 5px;
text-align: right;
}
.form-horizontal .controls {
*display: inline-block;
*padding-left: 20px;
margin-left: 180px;
*margin-left: 0;
}
.form-horizontal .controls:first-child {
*padding-left: 180px;
}
.form-horizontal .help-block {
margin-bottom: 0;
}
.form-horizontal input + .help-block,
.form-horizontal select + .help-block,
.form-horizontal textarea + .help-block {
margin-top: 10px;
}
.form-horizontal .form-actions {
padding-left: 180px;
}
.btn {
display: inline-block;
*display: inline;
/* IE7 inline-block hack */
*zoom: 1;
padding: 4px 14px;
margin-bottom: 0;
font-size: 14px;
line-height: 20px;
*line-height: 20px;
text-align: center;
vertical-align: middle;
cursor: pointer;
color: #333333;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
background-color: #f5f5f5;
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff),
to(#e6e6e6));
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',
endColorstr='#ffe6e6e6', GradientType=0);
border-color: #e6e6e6 #e6e6e6 #bfbfbf;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #e6e6e6;
/* Darken IE7 buttons by default so they stand out more given they
won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
border: 1px solid #bbbbbb;
*border: 0;
border-bottom-color: #a2a2a2;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
*margin-left: .3em;
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px
rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px
rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0,
0, 0.05);
}
.btn:hover,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
color: #333333;
background-color: #e6e6e6;
*background-color: #d9d9d9;
}
.btn:active,
.btn.active {
background-color: #cccccc \9;
}
.btn:first-child {
*margin-left: 0;
}
.btn:hover {
color: #333333;
text-decoration: none;
background-color: #e6e6e6;
*background-color: #d9d9d9;
/* Buttons in IE7 don't get borders, so darken on hover */
background-position: 0 -15px;
-webkit-transition: background-position 0.1s linear;
-moz-transition: background-position 0.1s linear;
-o-transition: background-position 0.1s linear;
transition: background-position 0.1s linear;
}
.btn:focus {
outline: thin dotted #333;
outline: 5px auto -webkit-focus-ring-color;
outline-offset: -2px;
}
.btn.active,
.btn:active {
background-color: #e6e6e6;
background-color: #d9d9d9 \9;
background-image: none;
outline: 0;
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0,
0, 0, 0.05);
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0,
0.05);
}
.btn.disabled,
.btn[disabled] {
cursor: default;
background-color: #e6e6e6;
background-image: none;
opacity: 0.65;
filter: alpha(opacity=65);
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.btn-large {
padding: 9px 14px;
font-size: 16px;
line-height: normal;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.btn-large [class^="icon-"] {
margin-top: 2px;
}
.btn-small {
padding: 3px 9px;
font-size: 12px;
line-height: 18px;
}
.btn-small [class^="icon-"] {
margin-top: 0;
}
.btn-mini {
padding: 2px 6px;
font-size: 11px;
line-height: 17px;
}
.btn-block {
display: block;
width: 100%;
padding-left: 0;
padding-right: 0;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
}
.btn-block + .btn-block {
margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
width: 100%;
}
.btn-primary.active,
.btn-warning.active,
.btn-danger.active,
.btn-success.active,
.btn-info.active,
.btn-inverse.active {
color: rgba(255, 255, 255, 0.75);
}
.btn {
border-color: #c5c5c5;
border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0,
0.25);
}
.btn-primary {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc),
to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(to bottom, #0088cc, #0044cc);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',
endColorstr='#ff0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #0044cc;
/* Darken IE7 buttons by default so they stand out more given they
won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
color: #ffffff;
background-color: #0044cc;
*background-color: #003bb3;
}
.btn-primary:active,
.btn-primary.active {
background-color: #003399 \9;
}
.btn-warning {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #faa732;
background-image: -moz-linear-gradient(top, #fbb450, #f89406);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450),
to(#f89406));
background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
background-image: -o-linear-gradient(top, #fbb450, #f89406);
background-image: linear-gradient(to bottom, #fbb450, #f89406);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450',
endColorstr='#fff89406', GradientType=0);
border-color: #f89406 #f89406 #ad6704;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #f89406;
/* Darken IE7 buttons by default so they stand out more given they
won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-warning:hover,
.btn-warning:active,
.btn-warning.active,
.btn-warning.disabled,
.btn-warning[disabled] {
color: #ffffff;
background-color: #f89406;
*background-color: #df8505;
}
.btn-warning:active,
.btn-warning.active {
background-color: #c67605 \9;
}
.btn-danger {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #da4f49;
background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b),
to(#bd362f));
background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b',
endColorstr='#ffbd362f', GradientType=0);
border-color: #bd362f #bd362f #802420;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #bd362f;
/* Darken IE7 buttons by default so they stand out more given they
won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-danger:hover,
.btn-danger:active,
.btn-danger.active,
.btn-danger.disabled,
.btn-danger[disabled] {
color: #ffffff;
background-color: #bd362f;
*background-color: #a9302a;
}
.btn-danger:active,
.btn-danger.active {
background-color: #942a25 \9;
}
.btn-success {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #5bb75b;
background-image: -moz-linear-gradient(top, #62c462, #51a351);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462),
to(#51a351));
background-image: -webkit-linear-gradient(top, #62c462, #51a351);
background-image: -o-linear-gradient(top, #62c462, #51a351);
background-image: linear-gradient(to bottom, #62c462, #51a351);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462',
endColorstr='#ff51a351', GradientType=0);
border-color: #51a351 #51a351 #387038;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #51a351;
/* Darken IE7 buttons by default so they stand out more given they
won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-success:hover,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
color: #ffffff;
background-color: #51a351;
*background-color: #499249;
}
.btn-success:active,
.btn-success.active {
background-color: #408140 \9;
}
.btn-info {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #49afcd;
background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de),
to(#2f96b4));
background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de',
endColorstr='#ff2f96b4', GradientType=0);
border-color: #2f96b4 #2f96b4 #1f6377;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #2f96b4;
/* Darken IE7 buttons by default so they stand out more given they
won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-info:hover,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
color: #ffffff;
background-color: #2f96b4;
*background-color: #2a85a0;
}
.btn-info:active,
.btn-info.active {
background-color: #24748c \9;
}
.btn-inverse {
color: #ffffff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
background-color: #363636;
background-image: -moz-linear-gradient(top, #444444, #222222);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444),
to(#222222));
background-image: -webkit-linear-gradient(top, #444444, #222222);
background-image: -o-linear-gradient(top, #444444, #222222);
background-image: linear-gradient(to bottom, #444444, #222222);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444',
endColorstr='#ff222222', GradientType=0);
border-color: #222222 #222222 #000000;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
*background-color: #222222;
/* Darken IE7 buttons by default so they stand out more given they
won't have borders */
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-inverse:hover,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
color: #ffffff;
background-color: #222222;
*background-color: #151515;
}
.btn-inverse:active,
.btn-inverse.active {
background-color: #080808 \9;
}
button.btn,
input[type="submit"].btn {
*padding-top: 3px;
*padding-bottom: 3px;
}
button.btn::-moz-focus-inner,
input[type="submit"].btn::-moz-focus-inner {
padding: 0;
border: 0;
}
button.btn.btn-large,
input[type="submit"].btn.btn-large {
*padding-top: 7px;
*padding-bottom: 7px;
}
button.btn.btn-small,
input[type="submit"].btn.btn-small {
*padding-top: 3px;
*padding-bottom: 3px;
}
button.btn.btn-mini,
input[type="submit"].btn.btn-mini {
*padding-top: 1px;
*padding-bottom: 1px;
}
.btn-link,
.btn-link:active,
.btn-link[disabled] {
background-color: transparent;
background-image: none;
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
.btn-link {
border-color: transparent;
cursor: pointer;
color: #0088cc;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.btn-link:hover {
color: #005580;
text-decoration: underline;
background-color: transparent;
}
.btn-link[disabled]:hover {
color: #333333;
text-decoration: none;
}
.btn-group {
position: relative;
font-size: 0;
vertical-align: middle;
white-space: nowrap;
*margin-left: .3em;
}
.btn-group:first-child {
*margin-left: 0;
}
.btn-group + .btn-group {
margin-left: 5px;
}
.btn-toolbar {
font-size: 0;
margin-top: 10px;
margin-bottom: 10px;
}
.btn-toolbar .btn-group {
display: inline-block;
*display: inline;
/* IE7 inline-block hack */
*zoom: 1;
}
.btn-toolbar .btn + .btn,
.btn-toolbar .btn-group + .btn,
.btn-toolbar .btn + .btn-group {
margin-left: 5px;
}
.btn-group > .btn {
position: relative;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.btn-group > .btn + .btn {
margin-left: -1px;
}
.btn-group > .btn,
.btn-group > .dropdown-menu {
font-size: 14px;
}
.btn-group > .btn-mini {
font-size: 11px;
}
.btn-group > .btn-small {
font-size: 12px;
}
.btn-group > .btn-large {
font-size: 16px;
}
.btn-group > .btn:first-child {
margin-left: 0;
-webkit-border-top-left-radius: 4px;
-moz-border-radius-topleft: 4px;
border-top-left-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-moz-border-radius-bottomleft: 4px;
border-bottom-left-radius: 4px;
}
.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
-webkit-border-top-right-radius: 4px;
-moz-border-radius-topright: 4px;
border-top-right-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-moz-border-radius-bottomright: 4px;
border-bottom-right-radius: 4px;
}
.btn-group > .btn.large:first-child {
margin-left: 0;
-webkit-border-top-left-radius: 6px;
-moz-border-radius-topleft: 6px;
border-top-left-radius: 6px;
-webkit-border-bottom-left-radius: 6px;
-moz-border-radius-bottomleft: 6px;
border-bottom-left-radius: 6px;
}
.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
-webkit-border-top-right-radius: 6px;
-moz-border-radius-topright: 6px;
border-top-right-radius: 6px;
-webkit-border-bottom-right-radius: 6px;
-moz-border-radius-bottomright: 6px;
border-bottom-right-radius: 6px;
}
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active {
z-index: 2;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
padding-left: 8px;
padding-right: 8px;
-webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px
0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0
rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0
rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
*padding-top: 5px;
*padding-bottom: 5px;
}
.btn-group > .btn-mini + .dropdown-toggle {
padding-left: 5px;
padding-right: 5px;
*padding-top: 2px;
*padding-bottom: 2px;
}
.btn-group > .btn-small + .dropdown-toggle {
*padding-top: 5px;
*padding-bottom: 4px;
}
.btn-group > .btn-large + .dropdown-toggle {
padding-left: 12px;
padding-right: 12px;
*padding-top: 7px;
*padding-bottom: 7px;
}
.btn-group.open .dropdown-toggle {
background-image: none;
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px
rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0,
0, 0, 0.05);
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0,
0.05);
}
.btn-group.open .btn.dropdown-toggle {
background-color: #e6e6e6;
}
.btn-group.open .btn-primary.dropdown-toggle {
background-color: #0044cc;
}
.btn-group.open .btn-warning.dropdown-toggle {
background-color: #f89406;
}
.btn-group.open .btn-danger.dropdown-toggle {
background-color: #bd362f;
}
.btn-group.open .btn-success.dropdown-toggle {
background-color: #51a351;
}
.btn-group.open .btn-info.dropdown-toggle {
background-color: #2f96b4;
}
.btn-group.open .btn-inverse.dropdown-toggle {
background-color: #222222;
}
.caret {
display: inline-block;
width: 0;
height: 0;
vertical-align: top;
border-top: 4px solid #000000;
border-right: 4px solid transparent;
border-left: 4px solid transparent;
content: "";
}
.btn .caret {
margin-top: 8px;
margin-left: 0;
}
.btn-mini .caret,
.btn-small .caret,
.btn-large .caret {
margin-top: 6px;
}
.btn-large .caret {
border-left-width: 5px;
border-right-width: 5px;
border-top-width: 5px;
}
.dropup .btn-large .caret {
border-bottom: 5px solid #000000;
border-top: 0;
}
.btn-primary .caret,
.btn-warning .caret,
.btn-danger .caret,
.btn-info .caret,
.btn-success .caret,
.btn-inverse .caret {
border-top-color: #ffffff;
border-bottom-color: #ffffff;
}
.btn-group-vertical {
display: inline-block;
*display: inline;
/* IE7 inline-block hack */
*zoom: 1;
}
.btn-group-vertical .btn {
display: block;
float: none;
width: 100%;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.btn-group-vertical .btn + .btn {
margin-left: 0;
margin-top: -1px;
}
.btn-group-vertical .btn:first-child {
-webkit-border-radius: 4px 4px 0 0;
-moz-border-radius: 4px 4px 0 0;
border-radius: 4px 4px 0 0;
}
.btn-group-vertical .btn:last-child {
-webkit-border-radius: 0 0 4px 4px;
-moz-border-radius: 0 0 4px 4px;
border-radius: 0 0 4px 4px;
}
.btn-group-vertical .btn-large:first-child {
-webkit-border-radius: 6px 6px 0 0;
-moz-border-radius: 6px 6px 0 0;
border-radius: 6px 6px 0 0;
}
.btn-group-vertical .btn-large:last-child {
-webkit-border-radius: 0 0 6px 6px;
-moz-border-radius: 0 0 6px 6px;
border-radius: 0 0 6px 6px;
}
.pagination {
height: 40px;
margin: 20px 0;
}
.pagination ul {
display: inline-block;
*display: inline;
/* IE7 inline-block hack */
*zoom: 1;
margin-left: 0;
margin-bottom: 0;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.pagination ul > li {
display: inline;
}
.pagination ul > li > a,
.pagination ul > li > span {
float: left;
padding: 0 14px;
line-height: 38px;
text-decoration: none;
background-color: #ffffff;
border: 1px solid #dddddd;
border-left-width: 0;
}
.pagination ul > li > a:hover,
.pagination ul > .active > a,
.pagination ul > .active > span {
background-color: #f5f5f5;
}
.pagination ul > .active > a,
.pagination ul > .active > span {
color: #999999;
cursor: default;
}
.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover {
color: #999999;
background-color: transparent;
cursor: default;
}
.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span {
border-left-width: 1px;
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span {
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
.pagination-centered {
text-align: center;
}
.pagination-right {
text-align: right;
}
/* dropdown */
.dropdown-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
display: none;
float: left;
min-width: 160px;
padding: 5px 0;
margin: 2px 0 0;
list-style: none;
background-color: #ffffff;
border: 1px solid #ccc;
border: 1px solid rgba(0, 0, 0, 0.2);
*border-right-width: 2px;
*border-bottom-width: 2px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
}
.dropdown-menu.pull-right {
right: 0;
left: auto;
}
.dropdown-menu .divider {
*width: 100%;
height: 1px;
margin: 9px 1px;
*margin: -5px 0 5px;
overflow: hidden;
background-color: #e5e5e5;
border-bottom: 1px solid #ffffff;
}
.dropdown-menu a {
display: block;
padding: 3px 20px;
clear: both;
font-weight: normal;
line-height: 20px;
color: #333333;
white-space: nowrap;
}
.dropdown-menu li > a:hover,
.dropdown-menu li > a:focus,
.dropdown-submenu:hover > a {
color: #ffffff;
text-decoration: none;
background-color: #0088cc;
background-color: #0081c2;
background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc),
to(#0077b3));
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
background-image: -o-linear-gradient(top, #0088cc, #0077b3);
background-image: linear-gradient(to bottom, #0088cc, #0077b3);
background-repeat: repeat-x;
filter:
progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',
endColorstr='#ff0077b3', GradientType=0);
}
.dropdown-menu .active > a,
.dropdown-menu .active > a:hover {
color: #ffffff;
text-decoration: none;
background-color: #0088cc;
background-color: #0081c2;
background-image: linear-gradient(to bottom, #0088cc, #0077b3);
background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc),
to(#0077b3));
background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
background-image: -o-linear-gradient(top, #0088cc, #0077b3);
background-repeat: repeat-x;
outline: 0;
filter:
progid:dximagetransform.microsoft.gradient(startColorstr='#ff0088cc',
endColorstr='#ff0077b3', GradientType=0);
}
.dropdown-menu .disabled > a,
.dropdown-menu .disabled > a:hover {
color: #999999;
}
.dropdown-menu .disabled > a:hover {
text-decoration: none;
cursor: default;
background-color: transparent;
}
.open {
*z-index: 1000;
}
.open > .dropdown-menu {
display: block;
}
[class^="icon-"], [class*=" icon-"] {
background-image: url("../img/glyphicons-halflings.png");
background-position: 14px 14px;
background-repeat: no-repeat;
display: inline-block;
height: 14px;
margin-top: 1px;
vertical-align: text-top;
width: 14px;
}
.pagetitle {
height: auto !important;
width:auto;
background-position: initial;
}
div.toolbar-list span {
background-position: initial;
}
.icon-glass {
background-position: 0 0;
}
.icon-music {
background-position: -24px 0;
}
.icon-search {
background-position: -48px 0;
}
.icon-envelope {
background-position: -72px 0;
}
.icon-heart {
background-position: -96px 0;
}
.icon-star {
background-position: -120px 0;
}
.icon-star-empty {
background-position: -144px 0;
}
.icon-user {
background-position: -168px 0;
}
.icon-film {
background-position: -192px 0;
}
.icon-th-large {
background-position: -216px 0;
}
.icon-th {
background-position: -240px 0;
}
.icon-th-list {
background-position: -264px 0;
}
.icon-ok {
background-position: -288px 0;
}
.icon-remove {
background-position: -312px 0;
}
.icon-zoom-in {
background-position: -336px 0;
}
.icon-zoom-out {
background-position: -360px 0;
}
.icon-off {
background-position: -384px 0;
}
.icon-signal {
background-position: -408px 0;
}
.icon-cog {
background-position: -432px 0;
}
.icon-trash {
background-position: -456px 0;
}
.icon-home {
background-position: 0 -24px;
}
.icon-file {
background-position: -24px -24px;
}
.icon-time {
background-position: -48px -24px;
}
.icon-road {
background-position: -72px -24px;
}
.icon-download-alt {
background-position: -96px -24px;
}
.icon-download {
background-position: -120px -24px;
}
.icon-upload {
background-position: -144px -24px;
}
.icon-inbox {
background-position: -168px -24px;
}
.icon-play-circle {
background-position: -192px -24px;
}
.icon-repeat {
background-position: -216px -24px;
}
.icon-refresh {
background-position: -240px -24px;
}
.icon-list-alt {
background-position: -264px -24px;
}
.icon-lock {
background-position: -287px -24px;
}
.icon-flag {
background-position: -312px -24px;
}
.icon-headphones {
background-position: -336px -24px;
}
.icon-volume-off {
background-position: -360px -24px;
}
.icon-volume-down {
background-position: -384px -24px;
}
.icon-volume-up {
background-position: -408px -24px;
}
.icon-qrcode {
background-position: -432px -24px;
}
.icon-barcode {
background-position: -456px -24px;
}
.icon-tag {
background-position: 0 -48px;
}
.icon-tags {
background-position: -25px -48px;
}
.icon-book {
background-position: -48px -48px;
}
.icon-bookmark {
background-position: -72px -48px;
}
.icon-print {
background-position: -96px -48px;
}
.icon-camera {
background-position: -120px -48px;
}
.icon-font {
background-position: -144px -48px;
}
.icon-bold {
background-position: -167px -48px;
}
.icon-italic {
background-position: -192px -48px;
}
.icon-text-height {
background-position: -216px -48px;
}
.icon-text-width {
background-position: -240px -48px;
}
.icon-align-left {
background-position: -264px -48px;
}
.icon-align-center {
background-position: -288px -48px;
}
.icon-align-right {
background-position: -312px -48px;
}
.icon-align-justify {
background-position: -336px -48px;
}
.icon-list {
background-position: -360px -48px;
}
.icon-indent-left {
background-position: -384px -48px;
}
.icon-indent-right {
background-position: -408px -48px;
}
.icon-facetime-video {
background-position: -432px -48px;
}
.icon-picture {
background-position: -456px -48px;
}
.icon-pencil {
background-position: 0 -72px;
}
.icon-map-marker {
background-position: -24px -72px;
}
.icon-adjust {
background-position: -48px -72px;
}
.icon-tint {
background-position: -72px -72px;
}
.icon-edit {
background-position: -96px -72px;
}
.icon-share {
background-position: -120px -72px;
}
.icon-check {
background-position: -144px -72px;
}
.icon-move {
background-position: -168px -72px;
}
.icon-step-backward {
background-position: -192px -72px;
}
.icon-fast-backward {
background-position: -216px -72px;
}
.icon-backward {
background-position: -240px -72px;
}
.icon-play {
background-position: -264px -72px;
}
.icon-pause {
background-position: -288px -72px;
}
.icon-stop {
background-position: -312px -72px;
}
.icon-forward {
background-position: -336px -72px;
}
.icon-fast-forward {
background-position: -360px -72px;
}
.icon-step-forward {
background-position: -384px -72px;
}
.icon-eject {
background-position: -408px -72px;
}
.icon-chevron-left {
background-position: -432px -72px;
}
.icon-chevron-right {
background-position: -456px -72px;
}
.icon-plus-sign {
background-position: 0 -96px;
}
.icon-minus-sign {
background-position: -24px -96px;
}
.icon-remove-sign {
background-position: -48px -96px;
}
.icon-ok-sign {
background-position: -72px -96px;
}
.icon-question-sign {
background-position: -96px -96px;
}
.icon-info-sign {
background-position: -120px -96px;
}
.icon-screenshot {
background-position: -144px -96px;
}
.icon-remove-circle {
background-position: -168px -96px;
}
.icon-ok-circle {
background-position: -192px -96px;
}
.icon-ban-circle {
background-position: -216px -96px;
}
.icon-arrow-left {
background-position: -240px -96px;
}
.icon-arrow-right {
background-position: -264px -96px;
}
.icon-arrow-up {
background-position: -289px -96px;
}
.icon-arrow-down {
background-position: -312px -96px;
}
.icon-share-alt {
background-position: -336px -96px;
}
.icon-resize-full {
background-position: -360px -96px;
}
.icon-resize-small {
background-position: -384px -96px;
}
.icon-plus {
background-position: -408px -96px;
}
.icon-minus {
background-position: -433px -96px;
}
.icon-asterisk {
background-position: -456px -96px;
}
.icon-exclamation-sign {
background-position: 0 -120px;
}
.icon-gift {
background-position: -24px -120px;
}
.icon-leaf {
background-position: -48px -120px;
}
.icon-fire {
background-position: -72px -120px;
}
.icon-eye-open {
background-position: -96px -120px;
}
.icon-eye-close {
background-position: -120px -120px;
}
.icon-warning-sign {
background-position: -144px -120px;
}
.icon-plane {
background-position: -168px -120px;
}
.icon-calendar {
background-position: -192px -120px;
}
.icon-random {
width: 16px;
background-position: -216px -120px;
}
.icon-comment {
background-position: -240px -120px;
}
.icon-magnet {
background-position: -264px -120px;
}
.icon-chevron-up {
background-position: -288px -120px;
}
.icon-chevron-down {
background-position: -313px -119px;
}
.icon-retweet {
background-position: -336px -120px;
}
.icon-shopping-cart {
background-position: -360px -120px;
}
.icon-folder-close {
width: 16px;
background-position: -384px -120px;
}
.icon-folder-open {
width: 16px;
background-position: -408px -120px;
}
.icon-resize-vertical {
background-position: -432px -119px;
}
.icon-resize-horizontal {
background-position: -456px -118px;
}
.icon-hdd {
background-position: 0 -144px;
}
.icon-bullhorn {
background-position: -24px -144px;
}
.icon-bell {
background-position: -48px -144px;
}
.icon-certificate {
background-position: -72px -144px;
}
.icon-thumbs-up {
background-position: -96px -144px;
}
.icon-thumbs-down {
background-position: -120px -144px;
}
.icon-hand-right {
background-position: -144px -144px;
}
.icon-hand-left {
background-position: -168px -144px;
}
.icon-hand-up {
background-position: -192px -144px;
}
.icon-hand-down {
background-position: -216px -144px;
}
.icon-circle-arrow-right {
background-position: -240px -144px;
}
.icon-circle-arrow-left {
background-position: -264px -144px;
}
.icon-circle-arrow-up {
background-position: -288px -144px;
}
.icon-circle-arrow-down {
background-position: -312px -144px;
}
.icon-globe {
background-position: -336px -144px;
}
.icon-wrench {
background-position: -360px -144px;
}
.icon-tasks {
background-position: -384px -144px;
}
.icon-filter {
background-position: -408px -144px;
}
.icon-briefcase {
background-position: -432px -144px;
}
.icon-fullscreen {
background-position: -456px -144px;
}
assets/bootstrap/img/glyphicons-halflings-white.png000064400000021111151171034260016603
0ustar00�PNG
IHDR���ӳ{�PLTE���������������mmm�����������������������������������������������������ⰰ���������������������������������������ᒒ�������������ttt��������������������bbb�������������������������������������������������������eeeggg������������������������������xxx�����������������������������������������������������������Ƽ�������������������������������������������������������������������������������������������������������������������������������������������������������몪����������������֢���������UUU������������������������������������������������������������������鿿���������������rO��tRNS���#�_
/�����oS��?��C�
kD���OS_������6��>4!~a�@1�_'o�n�ҋ���M���3�BQj��p&%!l��"Xqr;��
A[�<`�am}4�3/0I��PCM!6(*gK&YQ�GDP,�`�{VP�-�x�)h�7�e1]��W��$��1�b�zSܕcO��]����U;Zi<N#�) 86pV��:h�#�0Z�Q�JN��EDT��~��^-IDATx^읇#Ǚ��b'
4A$Ah�
)�p�3�<M�F9Y9X��,�r�i��ھ��|�s��t9�s��X�
k��jv�@�l_��I��*~h��>�'y�"�������؆�K64�Y�*.v�@���c.};��tN%�DI���� !Z�Џ5L�H�2�6
��ɯ��"��-b�E,,)�ʏ�
B���>m����n��6pm�R�O
wm@���V�#?�'C�ȑZ#��q���b��|$�:�)��/E�%��nR�q�C�hn��%�i�̓�����}l�m
?i�d�d�"�,���`�H�"r.z�����~��(b�Q�U&��)�5��X#�����EM���R<�*p[�[%.�O�̣��k7�lIo�������J�F��lV!̡ăuH�`��������&�,�z��Rk$���|$�l���Xb�����jߪ�dU��?Σ$H���W��$U�'���H�E3*խ����U\}��(�
�zhVk}g�u�Rk$��%�|�T�|��ck�獳"��D���_W+����.Q���)�@���ƽ�H����b�s��l��T���D��R�2Xm�#a
��3lY��z�j����㒚#!� 4�J��8�(��c�v���t]�a��T��� ��D
΅��Q?^-��_^$:\���V �$��N|�=(v�Z'q�6�Z�׆��B5V���!y���3��K��㱿b�v4��x����R]al��!�I�o�P�@�t��Vy����L�٪ml�ڿI�Ub|[*��lke'*�Wd���d���D�ӝ}\W��_Wߝ����r�N�?���vޫ�۲X%��0u��oui*��JV��Ʀ�b%�}���i5I�YlN�E-w�ς�f_W3m�I������-�m����Q)�S��k��TC7��m�<"��܌�b�T|��'��$�Ҙ�����R&>��O
p��������6����t���S��N\�ׯL��m�\�����r@�3�u�T
b7��t.5.q���3�r0�=�8T����i�J�\��6uF
��R�32^���'Ū����x��I� ��F�8O{%8��kJ��MS�ȴd�BEd����W��CY�O:/O�N/�I��_=��xFE��!
�=��i:o�~���
y�?��'��'��[͓[͓[͓[͓[ͭ��.�U>�$�P�Ʀ�c%�]��\c��:�| �,e�S�Z,�o��Xr����X�!�R����@�Z�v�
�0��>?�*�
�<��|����N6�0��;{�a�d��2��v+D��^t���[q!�۞V}�f��ۨϏ���Y��eॗ��)Vy�l|"f�U��q��@�Ǽ�4Y-��Y��-!�6a���B:o%�J��I���UQ|�U�K�O�`��=\����:�0���x��Pa��u�@��!�K��P�d�xhw1>�$j��v��Zd���x��S�UA�&[UR�d��7�ø��z�k��/���r�U^������w:I.�VǮ��c>q�.!�zS�r&���2�)Wg� ��R -�i�Q 8���Pa\О�U%�iݡ��U�_=��p� �Lu��(�N�?���0?�Æ:]�ά���t�B%�U|�����NsorN��f�� �,�P !�v"
Y�6�hL�_�@@�b�s�c���qg�v4|��|0lϟ���$S��9����bʱ��j#���~�����?o��}����}7sAPm:IV�=n���
!��{��{��h��Eࢪ�8�s�u��oL���T�$�;V���s��cq�D�3����༂3.D�B����B4�&�V'��T� `��D�6����Ϸ�q�y�j�8V����*���X%���@s�\�jrN�$�|�=5�Ά
'�mU��i��K��i�%C��I�:ssaƅ`*`��=�l��)>�uMeuS����I�_�O��L��_�}�o&���jz���p��{�����lu�:O���)�s�%Q@��$�<]f� ��xO%��PCbhr2�������PK���p�f5�Në3^o�����]�e�J��i�B��464��^t���uٲ�U:G4'���22Y�p���u�G'/Py�4?���.��SB�P_>����I 1t3Γ�B�ɭ�ɭ�ɭ�ɭ�V��V��V��V��Vs���]�!�67(��g�����y��@��4>Q��
��V�F�}^Xׇ�ڼ���j���e�26 L���%��Y�G�h���l�C�}�)��<
�!�E����E�P�ZWZ���V+�@�R
5{@ou�ɐ�4���&����H���6�e�y
V��݀�Vť����cqZ�ޒ�r��J��yB��y���Fz��FN�$��Hb����*+�jՏq�э�
ګ�kݿU�X��l�e�����1����d�0d^�-�B%���}����{Y���%r�*�j5Ak5�u��"�,�:~�Ҹ�Y��~
h����SA�~��6���fu�lՇf��{ȵQtATH�Z�k���ƭ/_���S��n�
�u']b�]|m`�B����J,O$�du]�Zs�
�FL�:�����a�����Ǚ���T4�o�~by?wp�j滥�A����(�x�]�����f��~an֧/����^�d�ڲ�c���Շ,!��1��i&�xi_VK@ip�̓9���Vi%a;��L?�0J�*���Ū5���U����'���x^�6�V[�^
�{�eU���|�:0�=0���d۫o���*J�q%�[��Y�N��.sQ�L�ud�[2��9�I��:W�n�������m�Xl�ڃ�6�!l�Nl��V�էKU���jV�\J%�Uߊ��B��LcKf�b��>a�=�b�~�R]aG%[����js@�<i�[Х*^.d;UI�R+�OD�2e�ܶ�
��Q��N3�4"1������g�0��u�\��I}���wFV�4y/D��j��j��jn5On5On5On5On5��h�,ҷUr��]��]L^����%J��D��iɭ��G�ԝ
ߴ�/�%='q�å)����:��Q�<�X�.��'�[�@�P����v�/ɼ����>/9�MطݘU�>yɲX�@}�
���F��t�g^��vO\��Ӹwv�p���z3��K5i�!$P>�ā����'��Vƛ���L�2r��@�UM��K�Z�����6���tw�맟¦b�m�1�h|�|�]}~�0��MjA����(J����JP68�C&yr��e}�j�_c�J�?�I0��k��>�W��� �����|�B�ޝ�."TEXd�
��8��!cw�*E(�J)���!�[W"�j_���ТeX_��XB;���o��O0~?�:P�C�(.��[�����!Wq�%��*le�Y)E�<^�K�Z�T�60�.�#���A\���5;Rm�tkd�/8�)5~����^0�
#�Ckg���e��y)����Ͷ��Ժ��6ĥ�<�(?��&��u�A��V���m0^h�.�t�xR*��a�'�:,�H�|�ō���l5z�;8+e�#b'#|�}2�w(|Kc�J�
�l6
�����w��^�Տ�o��i��3H�
�R ��̔9�,Y�gP�ְ:N�[5S���R��!���[)��]���i}`���m���N�4Х���v�`|;f�(��F�lt���L�8��÷Z#�AO%�Y)N�U�5Y��e��d�J�E�3dZذ���<�x����ɝ��e
�@�Pڧ���F�TR
��2S�·�Φ/u�Z�~�C�3���X�z���U���x�\2�s���e
�D��D.���fBO&en�'i��R%��?Fy�VsS~$u��m��w()��r��o�0*D���i!3�:On[B�!sʇB�p>ݣHT�1��;�8M�jnʏ��Ӥ��qp�1h�^�<��<��<���j��j��j��j��jn����q�(qp�Ok���}��I?TY8H��mh�yK�̝u5�����I�t�e�nQBޗ`�R��`��E�P�
�ڦ����x�����>�>����yt�{?|��'j)�����}YU���U���{�@V�/�J1�F+���7䀉[OW�O[�
����y���UY������!?B��D%�D��Wj�>-Ai6x�z)���U R�����7d���@�g����\�so�)�a�4�zf�[�W+���>�����P��>�
|��qL��G8�v���ȣ��l�j���2Z��t��+��V��A�6g<�/��Q
�H��SrΣ����d}�Y�q��g]�sY]�;]F�C�@5�Y��Ֆ�5�C�3�8o�)k�1'��d6�>T*�ʆ��Uz(�m)��CD
`��He/�.�:�zN��9pgo
&N�C�׃�އ�>�W�հ_��Hj��)�Xe6F��7p�m�-�`'�c���.����AZ=���^�e8��F�;<���J1{��+8'�ɪ'�և\A�*���[���R$U�Y)V�
�AyɃ�w)�Ec#<�T����\vW<�U1�IؘCDo��Yo��]�wm�aw��:B�
:'�Z+�v�}�|�0��q���1�P��*��u��T��7
�F3��9���A}$���f�+�o���[��I�5��ʰ�x(&����i��ʼY���:c�Pp*��b��¸J���j�V7l�jtsNk��v����[�fy3��g]�����u����鲱���g�J��E�0)Vił��ù���\vW<�Ug�t�e�~B�[����A�����H�J��'�.��n��& 1Ԕ�� ��o%gͱ_��N�
���5�.W��3y/D��d�yr���<��<��<��<��<���j�ܪ{�����waw�:6�dJ�;&��3�p
tl���as������W_U���T�_'9{?�a���Ԭ���l/0���dHgqll�c��8�R�y�����m=ˢ�_�ͺ�[Է71�x"�"��S�IfV��r�x3�3y�)h�
���h�ՠ��0���?�r��5�x�����_�-���j�����
���чoO:��$���XBXJ��ѣ�1����#ֈu7�`�zu2�{�\;��uܗ�9@�0��V$2X���S����&���Ba�[�O�~��j�N2ߠȪ/����jz_���nA��������~���u��h@GL�O�eɵ��?T���f<V�����e��@���*�-}�e��@�
�0Zt�/~������Xm0�*���*��H'\������u��S�E��m�Lֻ��6����;+{l��5۽����?u*����_� Ni-:�I@,;�]����W�Y�` *���߀n�SO�~�n���W�P�.��c����Z�T�u���Po^ǃ7���w��B�RB�W�_m�dj��������B��6�:��*��H����]�����d�Q>�{R�������t�n(��z�!S�7o
����Ie���w�3]��bܗ���8�5|�i��Ϡ��R��JkʱZ�RO+�8�U&�:]�Z�ieR����<I��~�|�d���,�j��릟�{��;�7�U��X�B���`����[�u5~�=z�q굵Ű�e��b�c5���o���{;���ߩ�@;���n*T�ĵ2�$ܨ��0�'�Y-?
�j�[�Z��j����ӭ�v���i�-�*rD{�mL-,L�=��y��m��x���c:���We����vұ�oÏń�
��"dF���8[�T}ӵF�-�I��V�lV[P�����)DVC�8ݪ}|kZ������{����Y�|��xrr��xa��G_���>�(��J�M�ޗ7����Z@��5�a^�\G�z��s���ρU��*�rM�e�zT�^�:ɬ��ͦX=>�$
bi>�U&X�Qoybb�G�k��8� �
�Ҙ�n).Ս����o�
��^M�m�d�Z���i�$s��o�o��*{�4���eLb�Lٳ"�"mx:�`:m�k�[�geT���ެ)���'0*T��B�{!��I��'��'��'��'��[͓[͓[͓[͓[]�Z���jQ�.e�'/��y�vQ�71�(Z&���X��?(_��Z�����){t�ڀm�Z�W�Ϗ�)��-C����
jq�n�,̋�"�Iv���UL�!h������s�k��AcrN��佚ф���VE4�0�y�X��~�4zʸV㳰%��,��)f��qt�p�u�~�
�����*���^��0:���ܲ�3�3���J��O�(�����ZB?K�^
�v]�un��l��W����i0�p6��[착�C_5X�#�[��wX3�b��廫�R�{���NK�A����e
S���e�|���w��x���s��o>�P\儔ԕ6�;nV�m�f�I$��V͓J-�J%��0��Uw�YЎ�S����n�u��m�藮��xz��˗V�ƫ�I�vn�W��_�qL�Z����"_�X�z����8�]Ap�����?��C�����5�4��3�zw(�{7e�*Ȳ`۰�!A�Q�:�KUn����z�]�1y�V���Ga��C��m0�PY
ٚUx6TT&�hV�9V�
���Ӭ�zÑ�
1[�X�z�Z�����9�e�r�q�J���ND�/���g��X��*9o���N6�D��`
�{�I�%�M�z9�T�Q�����7f�\"j��_3���~xB�'���ܷ��Y��]*KЌ�%"���5�"��qxq~���ƕ=����j���S�>j�V�&~]2�xz�F����1X��_y�D��<#N����RB��}K���/���i��y�����
!V^��˿e�J���}/Fk��A�7���
��S���+.�(ec���J:�z��W�Z���몖w���Q������~a����̈́�p�6,e5�,�+����,���������t�v�%O^O��O}�ן
-O��7>e��kC�6�wa�_��C�
��|���9���*�����W��A�)�U�Jg�8<�Z���x^?���2�u��Y���*^?��ڇKC�Z�[�����0.���C��@m�����$-��/~�|�Y��[e�w�eQ���&c��O�4s|��c��J�ws�X�8/��6�/ڼ;�'F�LN^�8]��ead�Z1'������^������L��sBd�%�+M��`��SK��8פ����*��)gl�#�3"��gъ�S�����qtcxx��|H>���=��:�����m�j�����U���v�q�y��s�ܒ�Lgl�C6+[F�SWg���9���wV3�1�A ��N��D�<����$5e�(s������[�
ۨb�����aF.��]�K���IEND�B`�assets/bootstrap/img/glyphicons-halflings.png000064400000030777151171034260015507
0ustar00�PNG
IHDR����tEXtSoftwareAdobe
ImageReadyq�e<1�IDATx��}ml\E��W��^ɺ�D$|nw'��;vю�8�m0��k<f�8ـ�<�h3$�
b,mn��
� ғ����0��L
Y`6s'>�Q�����S������n�S�V�;1K�G��s�ԩ�>Uo��TU�1cƖ�Yuּ��c�a&���#C,pؚ��>kں����U�LW
-s�n�3V�q��~N����o��c��I�~L��{��- ��H8%_��M�£w�B��6EW��,Ģp������Y�2+�(Y���@��&��A�/�����3kX�h�ߍ�-a����A���<>P���'\���J�;(�}�#�Qz������:4�%m?nf�ntK*����l�9J���+�D��I��Yu1Y���Z^��(]YYE��f@��О�lX��z]�U�t� ��u�
�&�5-P���W�}��@t�|�#L��Y�=��s��܂��,w#+�R�+?�Ƌa�x� X�0�"ea)�t�G�*ԡwV�w�V^��rf%xB(qּ�4>��W�G�#��lWU<Ё���XJVѶ��l�����R���$k�DVr�I����7:�X<�s>%X�1��N��Ez��w���;y��9�z�9�O�%~��~��u��ɗ*�=�����I�x�c�y}��Y(���o��u
±N$�^�j���e\��iX�]��;Y-�r����Ѳ�&��>�!�zlY�aVHVN�9=��]�=������mR��M��d��OUC�JUiT}r�W��W'�ڹu��)ʢ����F"YU�#�P�����&ܑ�Ѕ���R�O����wyz��m$���O����s?
+^�FT����I�E�q�%��&�����~�>�M��}]��Ԗ��w�A��?
[��Nteexn�(�措���B�d��MT��pʥ�nq�q�S�?���bW����XmW6��x*{V_���!V�jΧ�s�VL^j���
Xk�Qj�U��6���sk��̩n~�[�q�Ǹ�-��`
�O���:G�����7��l��"k�������sR�e�2��v�Q�=�QƼJ�U�X`�g�Qy~ ď�K��Ȱ��E�]�#�P��:�t���d�\T�/u������;�س�:�J�c-%'��e�q���
?j�"/yh���4��8�Zi�����1�|JU���u�>��_��N���;hxw�NU�J�QU7\�j�̮bT�:�����B�?6����o�J��1Ί%��I
UY-I���i4{�=�rǤ7��@)H�K�J+�f�4�X�8C�d�?'j��1��
��N���<�3�9����E<�w߬��V���z�E}�^_e檴p��t붾3��9�,��?���g�l�Y�O��<���x�x�|���a؎��Ue����F���� �1�;��{EF�0`����D�R���+�U�YiD����4�?�Y`|B���s2��yip�I�q�>W�o�
�V���T��G��zg#�
%���D0#ܠ3���[t�i�آ�(U�,�]�125��|�N�̭fw�7w�
�����u+���]�D�b]��K�
��xbW�՛7|�В��X㕛���{U����c��G����X�k¬�|�(�h)IU�a)�lp
3��l���uPU�]D��)�/7~4W��t5�J}��V��
X�0���z�
�VM���;>�Gԙ�^���|��gF:��jaZ�^)74C#j�wr,еS�l��G�u�;1���v�m><�)�}��<���VZue۠D�+j�y����J6V{j���K��>��Z���QՖ�&�mZ:���1�U�MB�~���
�a�:�/:K�W�WOҠ&�����Y���2f����7cƌ3f̘1cƌ3f̘1cƌ3f̘1cƌ3f̘��g��*3f�F5�Lb���N��2#Tf=C�`!��ZG�Ue�e��2V���<�1mkS����4iϗ*.�{N�8X�aj~���ڀ�nA�x,���%fE:�|�Y�DV�j
��¢�lg6�(:�k~���M�M��5?�4 ]WO�>��诋W����Z�iG�|�Q�G�Je��K[Ycյ�pmjE\f/�ǎ8&�OQ�3�
���.3t��t2'�-V�8��p�X�S�r�Y#J!���Q��
�"�,ub�@F���K�:�u�^�iy��[]<.Cw�����+W\�)��b���
k�r-���.M�t�ڀ�M��q�ʄ������۰����#$�^X$��"�������V`�T�4�m��~�w%P�p1��|�+&Ux�Y��8��*�r�8:�����k7QЃҀT��������$��Ў��ƙ�
�S>~�S�����j�s�:5�q.w�&_Z.�X=����:ވbw�`���
_�kd�{'��0�:�d��s�#�q���i!224���nq�\�9�-��KUT�sSU��uVo�@;�U��z�>^��=��N������p��>o��P��O���
��@I��@���'G��j5�o�*U�>��^�*�e�w��>ͫʧ��Q���5̈́���<$�#�5�J�ٻ�j�6e�)��_
��d]��2���B:���^�(*�:8J��Y�S鬆����Kݗ��]U4_�rj�{��5�ׇ�aǑ/�y�V��?��G�t��G����b@xPU��7O3�|�鍪 �I��Q5��Q��Gw� *(;�w�f�0*�P�UU�<Y�Ɣ���v����b��t�5{2!�,}����Ҧ���:)��j2Ok�Ϊ�'֊0I.q\(�%ojQ���ĖՇ�a<��ԍ��ex�Agt��'�[d;�����`r�cd�����j��P�FU�$�UeJ�I6�T���&Z}���z��(�z�vfu�z�
��{}ۿߝ��ݞlx��U�Z�謊�.�Y岟b���%�����nw��@��ǩ��S9��|źs%�>�_�o#���9�\�EU~�/�ځ�t(r�[�Q��Zu��Oo;�����!MrU�]��0T��cpDő�?.���c��Pu���F������;����L_�������S��b}�R/�J_��+��h�2$�a��i��U�ǩ��S9>��Є}7�6r���zu����~国4��oĨ
1J����
��^�̘�~��iC�5��5<P�ھ�r�/�G��Y�k��5�mK
��2姪�Ϊ5,���?�1'�jÓQ���pT뾺��
*��~�I?H�ם�):����\�����J��:3�ѴUGo)X��.�Ë���*j�\��?}�㉎�G~A{Y#�W/3��鬶�!ʼ�=��C�g�u *��u_��ޮ+�Qe�5�w�:���U���K��?U�W�1j\��S5/<�z7P^��<,S��j�UU8�����v,�2�_��_�i�뻊��^����R5^v��Nl>G]�g���w��s�nzTuO=�?/���zƲc>�Οb�#7ֻcg��k��ޛT�U�j���*-T=]���uu}��>ݨ�NЭ
��[
]�:%/_���S�z]6D.�m������D7Uƌ3f̘1cƌ3f̘1cƌ3f̘1cƌ3f̘1cƌ3f̘1c��>�J4h�PP��+��A�;'�G_�XK��mL���5I.},wFFu��m$S�-�E�-;Õ
C3I-`�B��R��x1��ғT�Jݕ;hΊ�8�D�Y��J��o;����Y5�M����K��ɰM��;���%P���d9K�h���n�D[z��gVh�,��'C�
p!^M�(�WK2�X�>UQ��%�^��p8 ˽�^#�Ζ+.@���g�C�z%ɔ-Pr
���K�X��
����n��>���=�Ք�Ѩ��eSvR����L�z���5%9UQS
��\�W�ի��K�'�h�p)ô
J��r�h��
��M0�F��(f_�R5�/�//�G��+�����x 1"���eS�5��
��:T��f��=+�7�Qɧ�\�����TE����s�༬�r���Y�s8��&�k������#pSՊ5�M�T�b��D܊[Ng�5Q�\s��5PB@[�8ɨ�V1������&��4Wsy[�Ǿ
�w�U���2�V�����7��7��j������މd^~Yf��C��_��h;a.���&�M�
i�
��U�����Wpzs`>�/�"��'O�I����۲�y�����:�Bzd�����T��q£�=й��b:���"����m�/��-/P��W�DQ�Ǵ͐�5��7������m�`�H��%A���V��!�H�ԛ���@"Q��z��ދ|�ߒT���-�*OU�^��Ҧ6�����!��Cw�k�|h�&Hd5�LEY�y��'�ƣ7��%�*�<C'@�l���b!wL�WW(%���C��4������3\��������x���*������QF�Ҩ�<��m�������߃g?߉�����^�)D�}�{�U��֘|�Q����=C'@�|�uwL�ׂQ�E�=�?�x+�x�
"���g���S��O�Ҩj��
.�fqj[��Y�Gͤ�C���焓m>{�=)���Z�%ٝ��P ���*G���]����/��8L��w��$?8��M�)\į���/#�7U�fd7'6�\h1�
vI�f�EIr���=��1�w��\�WK��VZ�HK��g�Z��͡�$m��x����
%��
�`j}�TuT���QJZ��*H>*Q�xkLFT����y��U���-�)�ôb��iA���|q`��F�'���+ ���4^Q�y�x��H)��#�t^��?@]^`A�R�S��q�jg�B:�r<h̆�Rn���z���PΦ�)��[+�n��M�X�H!����0��I����r��
��sKϡէU�R2��T X�gƴڳE�cƌ3f̘1cƌ3f̘1cƌ3f̘1cƌ3f̘1c�n��j����ǴyƌI��xQ�q�7fM���4E�F��.��34<.�i��;��eВi���1c%9����K ���͠2��J�C��n��w���E¤�c�F������`��5v6�%˿]�3��T��y��`�~���a���[[�J�>K�۷l<2�-4�Y��K�hgQ���L��x�V�w�P��~��M
������0l
3�ƅ�aŊIT�ȀhwJ�m������xIM�չ��|��U7xˆS��~2�ߕ?�kW1k���C3]��;Y��nS���ґA�e�X�Yz�8,'�x�<
k7Kx�����]�$��x�$�v�g�T#w��;o����@�z�_V��m�n|�Hֵ��h��Zg-^TAn��-�)��@4�[*�9xK��Ƌ����j>�!,�Vt�:e�����qn8%oh���S�(2�\Q��^�aig����F��3��v�TUDV�l�Q�ꅧ�W�c��%�U��e�q�4�ҝº/�U�
�$�_�Q!��>�����t�|�
�,țG<t�C���[�xTXmf|��<��Oڡ�MT�|(w:���_X���j7w���t��
�
AX�ͦ�p�$�^xZ�R�����j�x����`�3=�^��ll�+˗e�Q��8g8V��+�9M���/������o�14sn�b���tX�܍�s����vE�l+@\��e�,�,�cѮ�<�(��i�HVY�r��Q�O7�a��I��>Q%d�#jUՆ�|;H��[b���ά�#������,W�s7NT1~���m&ǻ�{'
\��㟾��b�BKJ�o8�%�!���$��Q����j:��/�RX)$Sy�䍧�R��DUg_D��軦�J�\����j�N��֖SU;~�?��O��h�ss�d�ƣ}�6�(T
<��_�4���b5����
�^N���N�%8QejF�7to��My�ө�`)g�[��/������|���?��өJ���u�G����L�坕��/=�CTܠhd�ifH��cǞ�����G4��,�����`�D՞�{'x���G_p/5��@m
+�$jV�H���3�a"��*ũ,�,��H�Jҵ�ȸ�T^Qy��o&IÉ�JUVwW���L�eM��~���3t�������A��6���r��wɤ�6���տ�
��\0H�L%L�X5�c����@�HHÃZ��|NV��+7WM��{����cig���*���ȸU���7iÉ��бz���d�
*�?�gt��X���8�̝O��X��:��]2�ɍ]�p^��++��>���A���VڛE�{�����DB.�&�/������56���A�rxY#ܕ�y�)�cKQtȪ��~������!
�;�C}ʃ��tf{�6��$N��Vsj��wup�Z)zŁ�|�-�w�g+n�MVj�/d+U������~ͯ�����i���:_ix��w��hq��r>�駃-�x�뼬)��ݷ�y��R=!
���ì:��J/l��Ik���V@�n��7�475��8�Z��K�J�(��Ux�z�1w�)^�\�ԣ��zȪc���2f�؍�v�+�6f̘1cƌ3f̘1cƌ3f̘1cƌ3f̘1cƌ3f̘�2��N�
o�C��\�����F1�ִ�
�UZ�JV̚\�4����M����gq1z{&��Y��T
�,�HX~D�u�\��g�}x�>�+Y���dN�̮��o�l
�Z�X+F��[�/j�+S~2/jV��8�J�r^�����ԉ]J}J��*ۏ<��2&�Jݣ�jO��M@�ѯ#0��O�[��S������X�B^
uz�e��\����]��d��d.���/���xXE
�f'v��O�_����H�${�%;�k�t�7ށ�m��ő|��d{a�ފ�^���Ǜ�ڎE��5ʋ��Br]W���=�_����SA���f(�0
��oU�5�q,�_\�l�uz�˪uz���㻲���o�=Yi��~|��
0+�=V�����J�ت��/��ލ��zM��\�zC�L���[U�:|k*^8"��\Wٚ\
.��XTjX�5�Sk�F�u\�1�
���q'��m�ģ/�Q���Uؕ�*�AɽDNZ?_�[#�
ˍ4�:�^j|�5�L�G���||���ø�BW{6[uQF����.1��$qF��9���IHg)\�����5��>C�#��u�X�Z��$�#*<�ߐ�sR�v�1Tj>J��m>*����#��(��
��[F�h�sש�5��*jQʼ�&���&�&P��犛L��[�Q��1*����
��;����X}�I�ΰ�[Q�?�q�Q�Z
H���ݙ���֞V��EsB��C�Z9��JTK������tu���p��˷��/�O���,.k�Ud�s�OHMg4=-)�+ؿ�h2��N��w�/r|W�Qn=�GIU�;��'���j,��v��f�dz���p�e����$���VGTY�sBZ�O�1p�j:����r���"n�TUSCg��r�ve���A�ۘ��F�C+Ֆ#�[J���Te�'v9-�3 D�m�ӻ�u�uz������?��0��
�o�� ����h�x�u�Y��&�����_�54�=f��07��kלU��0��]D:����j�dw�/+��P��GUV��S��<��\2�u��at�c�^zY�R�ąmC�+��7����#��,|��:��i�N��w��*|^s��m�|�X>Ъ�^��1�\�#���� &���%�{,2��U��>�ݎ.c0�5�z�#�
o�g��N��O+��Q�쓭��
������,��˗�-%K\����[S_`�y��+��b���_9��4����"�U��+��Ύap�}�I����[�M,B��.�Nt���w�H��j�漬���E�����L��߀0DX(�k�ڵ�����NoU��{�gquz
R�wkէRx'�uZ�[����3'��z�yy��ד%�<U��hN[���tz�x1�
c�c���]Fݯ�B�"]a[J����Dս[cƌ3f̘1cƌ3f̘1cƌ3f̘1cƌ3f̘1cƌ3V�es{L+3VH
]YP�A �>�s�����ƕ��3jYF\��s��=m1�&��V���Aɼ?k\+]�6y�モ��1���gt�OIW7�a�l|1���
���>$]e�7��؝�W�I�e?ަ�L#��>|���
�ҭ��]��
p�M5M�U�dI���61�Ԡ�eǼY�G���h�O�n��3�խR:^�k_'Yuuq#���p�#
�J�����2�x����l>�Oj�����cY��馃��!�ڡ+�sZ/�����D�}��2��A�Y
m����p�c#�<'x��SKx��`�*W[,e|��6�B�H)㶤kj���p��D�U(2qzx��9����*tqa�/,�
Z[�� 0�>��Ө�֜����xN)f�ă��@qը���FU՝��w(��a;ˋ�>�|T�c|�w2���eiT]*�!_\�WG{
�
��]��^���݅��Z5���t|��6�oYH�����a�����O@�=���my^ak����E�.����u��z�]#٥��hWv�(��:�,��6�A��߉J��Fa���\�w��W��ex>v�<��?|����&i_�q�z����]e�R_�7�|&
c*�kր4f���,J
�U���_�h��\1A�������������u\��-�L\Ϝ^��~�P�hr��*tqa0��fT��:�MU��;q�>�et�u�M��Y��A>����).,��;ɦ�C�bw�jE)��W����
��Fӫ@�s4��e�6^�Q9oI}4�x<���.�B?��B��߫�#��$��Hx�.x9,��a!�RT�pgd5������xB��e�����.L7@�*�
Asdutt�S��VUa�RU|��I xG�߃$T�������#_��IF�M�_X�@f�o���Q�ID�I��I?|�%����$�r� ���{�����E��Nĸ�wޕ�qq�?����D�ؽ}�}o�/`ӣ�CT�i ���<Q�R{\yY�����F���QJkh����^?Us:�E��|]��V�)Z|H�jsW����|�H'|��o����=d|�j
�#�T��%�O�� W��!�N#�w�1[i�H(��SV����s�����[=�Ɉ����7���1�ȳ���T]A
G�換�3����CT�lR�ݕCV9Q�\V#ܛ��N�ӏj�ˇ1�/�s�l�R���%^s1���nU�j����,�x}��f��W�|JuK�w���p����S��m,�<��7<���
��Ȼ�����[�R<&���p��?���'��,�Й��\�;����5�bH$�3�#�Q�4\���_���>�/�yw�O�
�rD
9���YUD]�� Ή���@s���]��+'UaL}�h��r�U����'7�:��sU|k)H��@����h�N�q�#�ϵ�8��y�˭�X���ű#��w��
�1!�흉�R'7��f�u�ד��0�����p�!W��ÖW+Nm�p�\����-�ioD$����g�٠˅%�%�Ð�m��V�]�̱��r�w*��Z�}��y�+L�
N��o�u�j�}�xt���)lS��tuq���x����m�NyK�U��OnDb�hf}�k�>�6��u�fT�%����{���
<���mj��F�c�mU����c��;�w��8��@dG�FUA��&���
�����=n�q�5]iP���}�z�:�k⼶��-��ʓ� Κl*'U��z�ax�W���F�dZ��zT�NR�s+��#���
w�zgi:��MB��q���t��M�
�l#��^�'G�ߣ�*^�t�{����=�rE���R��n�Q�$adJl�02%��Tڊ^����<�~g�?�O�f*U�^��?��:��N�����+�o�[�P�U�s�|�Q��R']�V�-L)H
�K�䐞
mY��n�\��4}Y��V�D��h��R��;g��-��'�3aס�M�D�h�}�1cƌ3f̘1cƌ3f̘1cƌ3f̘1cƌ3f̘1cƌ��k�*Ț4�`L�$�b� ���U���4\dt���'���>�HȄ|�.��+Y+/�G��y���2�OCWv���3v,�'kia�������W����O6߯E�=Hv
$L�l�xI��躍/��}�^]����x��\3���ɮ5��
���Q�T&G�9A�y^������i�}O��[5ޱ�wq�4,sJJ��I.myE�^�%���'V�B~�d�ׯ��}�*�j��*� ~��u��T�k���\f�KЬ�*��Y]����_v'I��˨����鑩6�X��o��'�j&u��ɧn�g��T]�o��ڌ��9����\*�wVHӖ�|� �>��:�5EF�'J
����ɝ`���!��A������
�
���e~��_;���5�ױϊ����镋m_&�O����Vi����<}"�靍��hW9�X�6��KPƣ
G�"�ƭ�?��/����O�^��hC�H���L��c���i��P��j��)}���Q�Qզ��#tM��g��9���xGw�����~d;_�J+�RỲ�<���;�e�����5/Qs�/5��N[��!�a+�N�P�b+�Ѻ��I�}����-��t_�q�U=�MK�ʞ�Y���5no��*����v��v�b�ʊ{]��|�~ Z��{-�����끇^����FVviϵ3��Ya�����=6n���dS;�-�ʹ^;�uꪪ^
�|�=��_�w+��"�����i�&4��l�#�w��i�r|W��3U�$�"J�~���O@]~t��RJV��MH�w:̦����@?��>�O���?�vdr��tS�*$�&~1>��������Z}^�n�L(��]�f*�&�*�Q��a�I����Ꝅ|��3�*����O���?������r�?�*�4�Gyz[�k/t�k��Q��ϖ��WC�C�K�k/�x��5�|��S�*`��Ϲγ�Q����E�w���y�
o��K�YqT�b����$����-/Pt�sZN�K��Q��*>��ݢ���U�@�Џ"JQ;���¹&�
�Lx�;+T�/+���O�赟��>�(T���?ķD^N*�'�p����$I���W��W~�=��J|��_��UTe��7ְP`�;CYjk�=�s�U[��mߙ-���;�};�2|���w��o�1�p�0��~>��0��m��
@J�rǟ�cٷ4�͜��?q��\�UU�IV?2��L��/�+Шꄾ<�܇^T���
�?t�j\�Jr���Ҁ���B*�����=k�m����X�,n}a����Ւ�Ia��d�p��l�l{\�6v8��R��ꅟ����Ҳ��f�1��F|Տ�;�e�=\D��,D�:ψ��r�xQ�T◎�*|{n��S
9~�=�}ӕ��G~%j�:D��j�<�ឫ:��jO%���
�$T8!j����vm��|'O��З��¹➱z\vsIv`�Ȕ�ʨj��-�^�$-��^���G�Q��{�m���`��T��#�c�֞�㸝�|n�.ߪN�$�O������JUV���ʼ�t,����j�g�-����mסּ�NV�����z�:����(�Ι*|1U�x�=�Y��k*����t�
�M����N��N�DU�hK���
؞X(刄Rv�!�#B_��c�xR����Ź���o��E5Dg>�?�f���XQ��Q�˔|@�"�աM�����veC�>��m�O$H��#]Y���I=��)_���`���k���*
�:a�>!X���!��W�^���wҒ��l'�<;�vwgI��t�_�?Jh��`��#E:fdx=��6Wu<�������Ӌ�d2�di���˂�c#h¬c4���?<���H���FYo��Vp�N�;�ݷJ\��
����>�`(���t�3{�>⦊��;;q��F���x�4�Yc����S�$w�.�����d��a*k���|��Q�,��+x�s^��K߫��P^���n�O֮L5m�I�wl?-.ʲ���J8�F�����B.-:2��Ȕ�!����/A�#b��_m%�I�(���$|�PZ[����1�G�{^�#�����o>�3�m�w?'�cx���[�^�:W�k/�`'=���~֥��W�(�gQ���bf�v7U�z��M�3����+؍�K�:��4|G�Ct��A�+K�ʨ�{@���Ɩ�[0�5��E�|yn4MIEND�B`�assets/css/common.css000064400000010511151171034260010636
0ustar00.hdp_ticket_description-file ul {
margin: 0;
padding: 0;
}
.hdp_ticket_description-file li {
background: none;
float: left;
list-style: none;
margin: 0 2px !important;
padding: 1px 2px !important;
}
#hdp_left_panel {
border: 1px solid #CCCCCC;
border-radius: 5px 5px 5px 5px;
float: left;
width: 68.4681%;
}
#hdp_right_panel {
margin: 0 0 0 5px;
width: 30.4043%;
float: left;
border: 1px solid #CCCCCC;
border-radius: 5px 5px 5px 5px;
box-shadow: 3px 3px 6px #CCCCCC;
background: #F0F0F0;
padding: 3px;
}
#hdp_right_panel td {
background: #fff;
border-left: 1px solid #ddd;
border-right: 1px solid #ddd;
border-bottom: 1px solid #ddd;
}
#hdp_right_panel th {
font-size: 14px;
background-color: #006DCC;
background-image: linear-gradient(to bottom, #0088CC, #0044CC);
background-repeat: repeat-x;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0,
0.25);
color: #FFFFFF;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
border-top-right-radius: 4px;
border-top-left-radius: 4px;
font-weight: bold;
}
h2.hdp_heading {
color: #333333;
font-size: 20px;
margin: 0;
text-align: left;
line-height: 40px;
}
h2.hdp_heading a, h2.hdp_heading a:hover {
float: right;
color: #0088CC;
font-size: 16px;
text-decoration: none;
}
h2.hdp_heading img {
border: none;
width: 32px;
height: 32px;
}
img {
border: none;
}
.hdp_ticket-images img {
width: 60px;
height: 60px;
max-width: none !important;
}
.adminform {
border: none !important;
border-collapse: inherit !important;
margin: 0px !important;
padding: 4px;
width: 100%;
}
.hdp_ticket_comments ul {
margin: 0;
padding: 0 4px;
}
#hdp_left_panel li {
background: none !important;
}
.hdp_ticket_comments ul li {
list-style: none;
position: relative;
padding-bottom: 10px !important;
background: none;
}
.hdp_ticket_comments ul li.icon-download {
content: normal !important;
}
.table-condensed {
border: none !important;
}
.hdp_ticket_comments tr td {
border: none !important;
background: none !important;
}
.hdp_ticket_comments tr td.hdp_ticket_comments {
border: 1px solid #CCCCCC !important;
border-radius: 3px 3px 3px 3px;
box-shadow: 0px 0px 0px 3px rgba(0, 0, 0, 0.05);
padding: 0 !important;
width: 100%;
}
.hdp_ticket_arrow {
background: url(../images/arrow.png) no-repeat;
position: absolute;
top: 8px;
left: -12px;
height: 14px;
width: 9px
}
.hdp_ticket_comments td.hdp_ticket_icon_user {
padding: 0 15px 0 0;
vertical-align: top;
}
.hdp_ticket img {
border-radius: 3px 3px 3px 3px;
}
.hdp_ticket_comments_body {
position: relative;
}
.hdp_ticket_commenter-name {
background-color: #E1E1E1;
background-image: linear-gradient(#F8F8F8, #E1E1E1);
background-repeat: repeat-x;
border-bottom: 1px solid #CCCCCC;
height: 26px;
padding: 4px 10px 0 6px;
}
.hdp_ticket_name {
color: #333333;
cursor: pointer;
font-size: 13px;
font-weight: bold;
text-decoration: none;
text-transform: capitalize;
padding-right: 5px;
}
.hdp_ticket_date_time {
color: #777;
cursor: pointer;
font-family: arial;
font-size: 11px;
text-decoration: none;
text-transform: capitalize;
float: right;
text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.7);
line-height: 24px;
}
.hdp_ticket_comment-text {
padding: 5px;
background: #FFF;
}
.hdp_ticket_comment-file li {
float: left;
list-style: none outside none;
margin: 0 2px !important;
padding: 1px 2px !important;
}
.hdp_ticket_comment-file {
padding: 5px 0;
}
.hdp_ticket_comment-file a {
text-decoration: none;
color: #A93018;
}
hr#separator {
margin: 5px 0px 0px 0px;
}
.hdp_fullwidth {
width: 96%;
}
.required {
color: red;
padding-left: 3px;
}
form#hdp_form label.control-label, form#adminForm label.control-label {
text-align: left;
font-weight: bold;
}
.dropzone {
border: 1px dashed rgba(0, 0, 0, 0.3) !important;
}assets/css/custom.css000064400000000000151171034260010650
0ustar00assets/css/style.css000064400000003767151171034260010525
0ustar00.hdp_visible {
display: block ;
}
.hdp_hidden {
display: none ;
}
table.admintable {
background-color: white ;
max-width:none;
}
div#hdp_wrapper{
width: 100%;
background-color: #F4F4F4 ;
}
table.adminform tr.row0 {
background-color: #f9f9f9;
}
table.adminform tr.row1 {
background-color: #eeeeee;
}
table.adminform th {
font-size: 1.091em;
padding: 6px 2px 4px 4px;
text-align: left;
height: 25px;
color: #000;
background:none;
}
table.adminform td {
padding: 5px;
text-align: left;
font-size: 1.091em;
}
#hdp_right_panel {
margin: 8px 0 10px 4px;
}
#comment_heading {
width: 15%;
float: left;
}
#add_comment_heading{
float: left;
}
.attachment_lists {
background: none repeat scroll 0 0 #ECF4FB;
border: 1px solid #CADAE7;
padding: 5px 5px 5px 10px;
margin: 0 5px 5px;
float: right;
width: 20%;
}
.hdp_ticket_message_left {
float: left;
width: 70%;
text-align: justify;
}
.hdp_ticket_message{
text-align: justify;
}
h2.hdp_heading {
font-size: 20px ;
}
#hdp_add_comment_link{
font-size: 18px ;
margin-left: 10px;
}
div.admintable {
background-color: white ;
}
.hdp_toolbar {
margin-left: 10px ;
}
#hdp_container {
margin: 0px ;
padding: 0px ;
}
.required {
color: red;
padding-left: 3px;
}
ul#hdp_attachment_list li{
list-style: none ;
background: none ;
}
#hdp_container ul.dropdown-menu li {
background: none ;
padding-left: 0px;
line-height: 20px;
}
div.attachment_lists ul li {
line-height: 20px ;
}
span.newticket_link {
padding-left: 30px ;
font-size: 16px ;
}
.hdp-categories-list h3 {
font-size: 16px;
margin: 0 0 15px;
}
.hdp-categories-list h3 a {
color: #4d4d4d;
}
.hdp-categories-list ul {
line-height: 20px;
list-style: outside none none;
margin: 0;
padding: 0;
}
.hdp-categories-list ul li {
margin: 0 0 15px;
padding: 0 0 0 30px;
position: relative;
}
.hdp-categories-list a, .hdp-categories-list a:visited {
color: #4d4d4d;
}assets/dropzone/basic.min.css000064400000001360151171034260012263
0ustar00.dropzone,.dropzone
*{box-sizing:border-box}.dropzone{position:relative}.dropzone
.dz-preview{position:relative;display:inline-block;width:120px;margin:0.5em}.dropzone
.dz-preview .dz-progress{display:block;height:15px;border:1px solid
#aaa}.dropzone .dz-preview .dz-progress
.dz-upload{display:block;height:100%;width:0;background:green}.dropzone
.dz-preview .dz-error-message{color:red;display:none}.dropzone
.dz-preview.dz-error .dz-error-message,.dropzone .dz-preview.dz-error
.dz-error-mark{display:block}.dropzone .dz-preview.dz-success
.dz-success-mark{display:block}.dropzone .dz-preview
.dz-error-mark,.dropzone .dz-preview
.dz-success-mark{position:absolute;display:none;left:30px;top:30px;width:54px;height:58px;left:50%;margin-left:-27px}
assets/dropzone/dropzone.min.css000064400000022766151171034260013057
0ustar00@-webkit-keyframes
passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%,
70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-moz-keyframes
passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%,
70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@keyframes
passing-through{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%,
70%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}100%{opacity:0;-webkit-transform:translateY(-40px);-moz-transform:translateY(-40px);-ms-transform:translateY(-40px);-o-transform:translateY(-40px);transform:translateY(-40px)}}@-webkit-keyframes
slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-moz-keyframes
slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@keyframes
slide-in{0%{opacity:0;-webkit-transform:translateY(40px);-moz-transform:translateY(40px);-ms-transform:translateY(40px);-o-transform:translateY(40px);transform:translateY(40px)}30%{opacity:1;-webkit-transform:translateY(0px);-moz-transform:translateY(0px);-ms-transform:translateY(0px);-o-transform:translateY(0px);transform:translateY(0px)}}@-webkit-keyframes
pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@-moz-keyframes
pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}@keyframes
pulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}10%{-webkit-transform:scale(1.1);-moz-transform:scale(1.1);-ms-transform:scale(1.1);-o-transform:scale(1.1);transform:scale(1.1)}20%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}.dropzone,.dropzone
*{box-sizing:border-box}.dropzone{min-height:150px;border:2px solid
rgba(0,0,0,0.3);background:white;padding:20px
20px}.dropzone.dz-clickable{cursor:pointer}.dropzone.dz-clickable
*{cursor:default}.dropzone.dz-clickable .dz-message,.dropzone.dz-clickable
.dz-message *{cursor:pointer}.dropzone.dz-started
.dz-message{display:none}.dropzone.dz-drag-hover{border-style:solid}.dropzone.dz-drag-hover
.dz-message{opacity:0.5}.dropzone .dz-message{text-align:center;margin:2em
0}.dropzone
.dz-preview{position:relative;display:inline-block;vertical-align:top;margin:16px;min-height:100px}.dropzone
.dz-preview:hover{z-index:1000}.dropzone .dz-preview:hover
.dz-details{opacity:1}.dropzone .dz-preview.dz-file-preview
.dz-image{border-radius:20px;background:#999;background:linear-gradient(to
bottom, #eee, #ddd)}.dropzone .dz-preview.dz-file-preview
.dz-details{opacity:1}.dropzone
.dz-preview.dz-image-preview{background:white}.dropzone
.dz-preview.dz-image-preview .dz-details{-webkit-transition:opacity 0.2s
linear;-moz-transition:opacity 0.2s linear;-ms-transition:opacity 0.2s
linear;-o-transition:opacity 0.2s linear;transition:opacity 0.2s
linear}.dropzone .dz-preview
.dz-remove{font-size:14px;text-align:center;display:block;cursor:pointer;border:none}.dropzone
.dz-preview .dz-remove:hover{text-decoration:underline}.dropzone
.dz-preview:hover .dz-details{opacity:1}.dropzone .dz-preview
.dz-details{z-index:20;position:absolute;top:0;left:0;opacity:0;font-size:13px;min-width:100%;max-width:100%;padding:2em
1em;text-align:center;color:rgba(0,0,0,0.9);line-height:150%}.dropzone
.dz-preview .dz-details .dz-size{margin-bottom:1em;font-size:16px}.dropzone
.dz-preview .dz-details .dz-filename{white-space:nowrap}.dropzone
.dz-preview .dz-details .dz-filename:hover span{border:1px solid
rgba(200,200,200,0.8);background-color:rgba(255,255,255,0.8)}.dropzone
.dz-preview .dz-details
.dz-filename:not(:hover){overflow:hidden;text-overflow:ellipsis}.dropzone
.dz-preview .dz-details .dz-filename:not(:hover) span{border:1px solid
transparent}.dropzone .dz-preview .dz-details .dz-filename span,.dropzone
.dz-preview .dz-details .dz-size
span{background-color:rgba(255,255,255,0.4);padding:0
0.4em;border-radius:3px}.dropzone .dz-preview:hover .dz-image
img{-webkit-transform:scale(1.05, 1.05);-moz-transform:scale(1.05,
1.05);-ms-transform:scale(1.05, 1.05);-o-transform:scale(1.05,
1.05);transform:scale(1.05,
1.05);-webkit-filter:blur(8px);filter:blur(8px)}.dropzone .dz-preview
.dz-image{border-radius:20px;overflow:hidden;width:120px;height:120px;position:relative;display:block;z-index:10}.dropzone
.dz-preview .dz-image img{display:block}.dropzone .dz-preview.dz-success
.dz-success-mark{-webkit-animation:passing-through 3s cubic-bezier(0.77, 0,
0.175, 1);-moz-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175,
1);-ms-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175,
1);-o-animation:passing-through 3s cubic-bezier(0.77, 0, 0.175,
1);animation:passing-through 3s cubic-bezier(0.77, 0, 0.175, 1)}.dropzone
.dz-preview.dz-error .dz-error-mark{opacity:1;-webkit-animation:slide-in 3s
cubic-bezier(0.77, 0, 0.175, 1);-moz-animation:slide-in 3s
cubic-bezier(0.77, 0, 0.175, 1);-ms-animation:slide-in 3s
cubic-bezier(0.77, 0, 0.175, 1);-o-animation:slide-in 3s cubic-bezier(0.77,
0, 0.175, 1);animation:slide-in 3s cubic-bezier(0.77, 0, 0.175,
1)}.dropzone .dz-preview .dz-success-mark,.dropzone .dz-preview
.dz-error-mark{pointer-events:none;opacity:0;z-index:500;position:absolute;display:block;top:50%;left:50%;margin-left:-27px;margin-top:-27px}.dropzone
.dz-preview .dz-success-mark svg,.dropzone .dz-preview .dz-error-mark
svg{display:block;width:54px;height:54px}.dropzone
.dz-preview.dz-processing .dz-progress{opacity:1;-webkit-transition:all
0.2s linear;-moz-transition:all 0.2s linear;-ms-transition:all 0.2s
linear;-o-transition:all 0.2s linear;transition:all 0.2s linear}.dropzone
.dz-preview.dz-complete .dz-progress{opacity:0;-webkit-transition:opacity
0.4s ease-in;-moz-transition:opacity 0.4s ease-in;-ms-transition:opacity
0.4s ease-in;-o-transition:opacity 0.4s ease-in;transition:opacity 0.4s
ease-in}.dropzone .dz-preview:not(.dz-processing)
.dz-progress{-webkit-animation:pulse 6s ease infinite;-moz-animation:pulse
6s ease infinite;-ms-animation:pulse 6s ease infinite;-o-animation:pulse 6s
ease infinite;animation:pulse 6s ease infinite}.dropzone .dz-preview
.dz-progress{opacity:1;z-index:1000;pointer-events:none;position:absolute;height:16px;left:50%;top:50%;margin-top:-8px;width:80px;margin-left:-40px;background:rgba(255,255,255,0.9);-webkit-transform:scale(1);border-radius:8px;overflow:hidden}.dropzone
.dz-preview .dz-progress
.dz-upload{background:#333;background:linear-gradient(to bottom, #666,
#444);position:absolute;top:0;left:0;bottom:0;width:0;-webkit-transition:width
300ms ease-in-out;-moz-transition:width 300ms
ease-in-out;-ms-transition:width 300ms ease-in-out;-o-transition:width
300ms ease-in-out;transition:width 300ms ease-in-out}.dropzone
.dz-preview.dz-error .dz-error-message{display:block}.dropzone
.dz-preview.dz-error:hover
.dz-error-message{opacity:1;pointer-events:auto}.dropzone .dz-preview
.dz-error-message{pointer-events:none;z-index:1000;position:absolute;display:block;display:none;opacity:0;-webkit-transition:opacity
0.3s ease;-moz-transition:opacity 0.3s ease;-ms-transition:opacity 0.3s
ease;-o-transition:opacity 0.3s ease;transition:opacity 0.3s
ease;border-radius:8px;font-size:13px;top:130px;left:-10px;width:140px;background:#be2626;background:linear-gradient(to
bottom, #be2626, #a92222);padding:0.5em 1.2em;color:white}.dropzone
.dz-preview
.dz-error-message:after{content:'';position:absolute;top:-6px;left:64px;width:0;height:0;border-left:6px
solid transparent;border-right:6px solid transparent;border-bottom:6px
solid #be2626}
assets/dropzone/dropzone.min.js000064400000136136151171034260012700
0ustar00"use strict";function
_typeof(e){return(_typeof="function"==typeof
Symbol&&"symbol"==typeof
Symbol.iterator?function(e){return typeof e}:function(e){return
e&&"function"==typeof
Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof
e})(e)}function
_possibleConstructorReturn(e,t){return!t||"object"!==_typeof(t)&&"function"!=typeof
t?_assertThisInitialized(e):t}function
_getPrototypeOf(e){return(_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return
e.__proto__||Object.getPrototypeOf(e)})(e)}function
_assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this
hasn't been initialised - super() hasn't been
called");return e}function
_inherits(e,t){if("function"!=typeof t&&null!==t)throw
new TypeError("Super expression must either be null or a
function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&_setPrototypeOf(e,t)}function
_setPrototypeOf(e,t){return(_setPrototypeOf=Object.setPrototypeOf||function(e,t){return
e.__proto__=t,e})(e,t)}function _classCallCheck(e,t){if(!(e instanceof
t))throw new TypeError("Cannot call a class as a
function")}function _defineProperties(e,t){for(var
n=0;n<t.length;n++){var
i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in
i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function
_createClass(e,t,n){return
t&&_defineProperties(e.prototype,t),n&&_defineProperties(e,n),e}var
Emitter=function(){function e(){_classCallCheck(this,e)}return
_createClass(e,[{key:"on",value:function(e,t){return
this._callbacks=this._callbacks||{},this._callbacks[e]||(this._callbacks[e]=[]),this._callbacks[e].push(t),this}},{key:"emit",value:function(e){this._callbacks=this._callbacks||{};var
t=this._callbacks[e];if(t){for(var n=arguments.length,i=new
Array(n>1?n-1:0),r=1;r<n;r++)i[r-1]=arguments[r];var o=!0,a=!1,l=void
0;try{for(var
s,u=t[Symbol.iterator]();!(o=(s=u.next()).done);o=!0){s.value.apply(this,i)}}catch(e){a=!0,l=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw
l}}}return
this}},{key:"off",value:function(e,t){if(!this._callbacks||0===arguments.length)return
this._callbacks={},this;var n=this._callbacks[e];if(!n)return
this;if(1===arguments.length)return delete this._callbacks[e],this;for(var
i=0;i<n.length;i++){if(n[i]===t){n.splice(i,1);break}}return
this}}]),e}(),Dropzone=function(e){function t(e,n){var
i,r,o;if(_classCallCheck(this,t),(i=_possibleConstructorReturn(this,_getPrototypeOf(t).call(this))).element=e,i.version=t.version,i.defaultOptions.previewTemplate=i.defaultOptions.previewTemplate.replace(/\n*/g,""),i.clickableElements=[],i.listeners=[],i.files=[],"string"==typeof
i.element&&(i.element=document.querySelector(i.element)),!i.element||null==i.element.nodeType)throw
new Error("Invalid dropzone
element.");if(i.element.dropzone)throw new Error("Dropzone
already
attached.");t.instances.push(_assertThisInitialized(i)),i.element.dropzone=_assertThisInitialized(i);var
a=null!=(o=t.optionsForElement(i.element))?o:{};if(i.options=t.extend({},i.defaultOptions,a,null!=n?n:{}),i.options.forceFallback||!t.isBrowserSupported())return
_possibleConstructorReturn(i,i.options.fallback.call(_assertThisInitialized(i)));if(null==i.options.url&&(i.options.url=i.element.getAttribute("action")),!i.options.url)throw
new Error("No URL
provided.");if(i.options.acceptedFiles&&i.options.acceptedMimeTypes)throw
new Error("You can't provide both 'acceptedFiles' and
'acceptedMimeTypes'. 'acceptedMimeTypes' is
deprecated.");if(i.options.uploadMultiple&&i.options.chunking)throw
new Error("You cannot set both: uploadMultiple and
chunking.");return
i.options.acceptedMimeTypes&&(i.options.acceptedFiles=i.options.acceptedMimeTypes,delete
i.options.acceptedMimeTypes),null!=i.options.renameFilename&&(i.options.renameFile=function(e){return
i.options.renameFilename.call(_assertThisInitialized(i),e.name,e)}),i.options.method=i.options.method.toUpperCase(),(r=i.getExistingFallback())&&r.parentNode&&r.parentNode.removeChild(r),!1!==i.options.previewsContainer&&(i.options.previewsContainer?i.previewsContainer=t.getElement(i.options.previewsContainer,"previewsContainer"):i.previewsContainer=i.element),i.options.clickable&&(!0===i.options.clickable?i.clickableElements=[i.element]:i.clickableElements=t.getElements(i.options.clickable,"clickable")),i.init(),i}return
_inherits(t,Emitter),_createClass(t,null,[{key:"initClass",value:function(){this.prototype.Emitter=Emitter,this.prototype.events=["drop","dragstart","dragend","dragenter","dragover","dragleave","addedfile","addedfiles","removedfile","thumbnail","error","errormultiple","processing","processingmultiple","uploadprogress","totaluploadprogress","sending","sendingmultiple","success","successmultiple","canceled","canceledmultiple","complete","completemultiple","reset","maxfilesexceeded","maxfilesreached","queuecomplete"],this.prototype.defaultOptions={url:null,method:"post",withCredentials:!1,timeout:3e4,parallelUploads:2,uploadMultiple:!1,chunking:!1,forceChunking:!1,chunkSize:2e6,parallelChunkUploads:!1,retryChunks:!1,retryChunksLimit:3,maxFilesize:256,paramName:"file",createImageThumbnails:!0,maxThumbnailFilesize:10,thumbnailWidth:120,thumbnailHeight:120,thumbnailMethod:"crop",resizeWidth:null,resizeHeight:null,resizeMimeType:null,resizeQuality:.8,resizeMethod:"contain",filesizeBase:1e3,maxFiles:null,headers:null,clickable:!0,ignoreHiddenFiles:!0,acceptedFiles:null,acceptedMimeTypes:null,autoProcessQueue:!0,autoQueue:!0,addRemoveLinks:!1,previewsContainer:null,hiddenInputContainer:"body",capture:null,renameFilename:null,renameFile:null,forceFallback:!1,dictDefaultMessage:"Drop
files here to upload",dictFallbackMessage:"Your browser does not
support drag'n'drop file
uploads.",dictFallbackText:"Please use the fallback form below to
upload your files like in the olden days.",dictFileTooBig:"File
is too big ({{filesize}}MiB). Max filesize:
{{maxFilesize}}MiB.",dictInvalidFileType:"You can't upload
files of this type.",dictResponseError:"Server responded with
{{statusCode}} code.",dictCancelUpload:"Cancel
upload",dictUploadCanceled:"Upload
canceled.",dictCancelUploadConfirmation:"Are you sure you want to
cancel this upload?",dictRemoveFile:"Remove
file",dictRemoveFileConfirmation:null,dictMaxFilesExceeded:"You
can not upload any more
files.",dictFileSizeUnits:{tb:"TB",gb:"GB",mb:"MB",kb:"KB",b:"b"},init:function(){},params:function(e,t,n){if(n)return{dzuuid:n.file.upload.uuid,dzchunkindex:n.index,dztotalfilesize:n.file.size,dzchunksize:this.options.chunkSize,dztotalchunkcount:n.file.upload.totalChunkCount,dzchunkbyteoffset:n.index*this.options.chunkSize}},accept:function(e,t){return
t()},chunksUploaded:function(e,t){t()},fallback:function(){var
e;this.element.className="".concat(this.element.className,"
dz-browser-not-supported");var n=!0,i=!1,r=void 0;try{for(var
o,a=this.element.getElementsByTagName("div")[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var
l=o.value;if(/(^| )dz-message($|
)/.test(l.className)){e=l,l.className="dz-message";break}}}catch(e){i=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw
r}}e||(e=t.createElement('<div
class="dz-message"><span></span></div>'),this.element.appendChild(e));var
s=e.getElementsByTagName("span")[0];return
s&&(null!=s.textContent?s.textContent=this.options.dictFallbackMessage:null!=s.innerText&&(s.innerText=this.options.dictFallbackMessage)),this.element.appendChild(this.getFallbackForm())},resize:function(e,t,n,i){var
r={srcX:0,srcY:0,srcWidth:e.width,srcHeight:e.height},o=e.width/e.height;null==t&&null==n?(t=r.srcWidth,n=r.srcHeight):null==t?t=n*o:null==n&&(n=t/o);var
a=(t=Math.min(t,r.srcWidth))/(n=Math.min(n,r.srcHeight));if(r.srcWidth>t||r.srcHeight>n)if("crop"===i)o>a?(r.srcHeight=e.height,r.srcWidth=r.srcHeight*a):(r.srcWidth=e.width,r.srcHeight=r.srcWidth/a);else{if("contain"!==i)throw
new Error("Unknown resizeMethod
'".concat(i,"'"));o>a?n=t/o:t=n*o}return
r.srcX=(e.width-r.srcWidth)/2,r.srcY=(e.height-r.srcHeight)/2,r.trgWidth=t,r.trgHeight=n,r},transformFile:function(e,t){return(this.options.resizeWidth||this.options.resizeHeight)&&e.type.match(/image.*/)?this.resizeImage(e,this.options.resizeWidth,this.options.resizeHeight,this.options.resizeMethod,t):t(e)},previewTemplate:'<div
class="dz-preview dz-file-preview">\n <div
class="dz-image"><img data-dz-thumbnail /></div>\n
<div class="dz-details">\n <div
class="dz-size"><span
data-dz-size></span></div>\n <div
class="dz-filename"><span
data-dz-name></span></div>\n </div>\n <div
class="dz-progress"><span class="dz-upload"
data-dz-uploadprogress></span></div>\n <div
class="dz-error-message"><span
data-dz-errormessage></span></div>\n <div
class="dz-success-mark">\n <svg width="54px"
height="54px" viewBox="0 0 54 54"
version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">\n
<title>Check</title>\n <g stroke="none"
stroke-width="1" fill="none"
fill-rule="evenodd">\n <path
d="M23.5,31.8431458 L17.5852419,25.9283877 C16.0248253,24.3679711
13.4910294,24.366835 11.9289322,25.9289322 C10.3700136,27.4878508
10.3665912,30.0234455 11.9283877,31.5852419 L20.4147581,40.0716123
C20.5133999,40.1702541 20.6159315,40.2626649 20.7218615,40.3488435
C22.2835669,41.8725651 24.794234,41.8626202 26.3461564,40.3106978
L43.3106978,23.3461564 C44.8771021,21.7797521 44.8758057,19.2483887
43.3137085,17.6862915 C41.7547899,16.1273729 39.2176035,16.1255422
37.6538436,17.6893022 L23.5,31.8431458 Z M27,53 C41.3594035,53
53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1 C12.6405965,1
1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53 Z"
stroke-opacity="0.198794158" stroke="#747474"
fill-opacity="0.816519475"
fill="#FFFFFF"></path>\n </g>\n
</svg>\n </div>\n <div
class="dz-error-mark">\n <svg width="54px"
height="54px" viewBox="0 0 54 54"
version="1.1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">\n
<title>Error</title>\n <g stroke="none"
stroke-width="1" fill="none"
fill-rule="evenodd">\n <g stroke="#747474"
stroke-opacity="0.198794158" fill="#FFFFFF"
fill-opacity="0.816519475">\n <path
d="M32.6568542,29 L38.3106978,23.3461564 C39.8771021,21.7797521
39.8758057,19.2483887 38.3137085,17.6862915 C36.7547899,16.1273729
34.2176035,16.1255422 32.6538436,17.6893022 L27,23.3431458
L21.3461564,17.6893022 C19.7823965,16.1255422 17.2452101,16.1273729
15.6862915,17.6862915 C14.1241943,19.2483887 14.1228979,21.7797521
15.6893022,23.3461564 L21.3431458,29 L15.6893022,34.6538436
C14.1228979,36.2202479 14.1241943,38.7516113 15.6862915,40.3137085
C17.2452101,41.8726271 19.7823965,41.8744578 21.3461564,40.3106978
L27,34.6568542 L32.6538436,40.3106978 C34.2176035,41.8744578
36.7547899,41.8726271 38.3137085,40.3137085 C39.8758057,38.7516113
39.8771021,36.2202479 38.3106978,34.6538436 L32.6568542,29 Z M27,53
C41.3594035,53 53,41.3594035 53,27 C53,12.6405965 41.3594035,1 27,1
C12.6405965,1 1,12.6405965 1,27 C1,41.3594035 12.6405965,53 27,53
Z"></path>\n </g>\n </g>\n
</svg>\n </div>\n</div>',drop:function(e){return
this.element.classList.remove("dz-drag-hover")},dragstart:function(e){},dragend:function(e){return
this.element.classList.remove("dz-drag-hover")},dragenter:function(e){return
this.element.classList.add("dz-drag-hover")},dragover:function(e){return
this.element.classList.add("dz-drag-hover")},dragleave:function(e){return
this.element.classList.remove("dz-drag-hover")},paste:function(e){},reset:function(){return
this.element.classList.remove("dz-started")},addedfile:function(e){var
n=this;if(this.element===this.previewsContainer&&this.element.classList.add("dz-started"),this.previewsContainer){e.previewElement=t.createElement(this.options.previewTemplate.trim()),e.previewTemplate=e.previewElement,this.previewsContainer.appendChild(e.previewElement);var
i=!0,r=!1,o=void 0;try{for(var
a,l=e.previewElement.querySelectorAll("[data-dz-name]")[Symbol.iterator]();!(i=(a=l.next()).done);i=!0){var
s=a.value;s.textContent=e.name}}catch(e){r=!0,o=e}finally{try{i||null==l.return||l.return()}finally{if(r)throw
o}}var u=!0,c=!1,d=void 0;try{for(var
p,h=e.previewElement.querySelectorAll("[data-dz-size]")[Symbol.iterator]();!(u=(p=h.next()).done);u=!0)(s=p.value).innerHTML=this.filesize(e.size)}catch(e){c=!0,d=e}finally{try{u||null==h.return||h.return()}finally{if(c)throw
d}}this.options.addRemoveLinks&&(e._removeLink=t.createElement('<a
class="dz-remove" href="javascript:undefined;"
data-dz-remove>'.concat(this.options.dictRemoveFile,"</a>")),e.previewElement.appendChild(e._removeLink));var
f=function(i){return
i.preventDefault(),i.stopPropagation(),e.status===t.UPLOADING?t.confirm(n.options.dictCancelUploadConfirmation,function(){return
n.removeFile(e)}):n.options.dictRemoveFileConfirmation?t.confirm(n.options.dictRemoveFileConfirmation,function(){return
n.removeFile(e)}):n.removeFile(e)},v=!0,m=!1,y=void 0;try{for(var
g,b=e.previewElement.querySelectorAll("[data-dz-remove]")[Symbol.iterator]();!(v=(g=b.next()).done);v=!0){g.value.addEventListener("click",f)}}catch(e){m=!0,y=e}finally{try{v||null==b.return||b.return()}finally{if(m)throw
y}}}},removedfile:function(e){return
null!=e.previewElement&&null!=e.previewElement.parentNode&&e.previewElement.parentNode.removeChild(e.previewElement),this._updateMaxFilesReachedClass()},thumbnail:function(e,t){if(e.previewElement){e.previewElement.classList.remove("dz-file-preview");var
n=!0,i=!1,r=void 0;try{for(var
o,a=e.previewElement.querySelectorAll("[data-dz-thumbnail]")[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var
l=o.value;l.alt=e.name,l.src=t}}catch(e){i=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw
r}}return setTimeout(function(){return
e.previewElement.classList.add("dz-image-preview")},1)}},error:function(e,t){if(e.previewElement){e.previewElement.classList.add("dz-error"),"String"!=typeof
t&&t.error&&(t=t.error);var n=!0,i=!1,r=void 0;try{for(var
o,a=e.previewElement.querySelectorAll("[data-dz-errormessage]")[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){o.value.textContent=t}}catch(e){i=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw
r}}}},errormultiple:function(){},processing:function(e){if(e.previewElement&&(e.previewElement.classList.add("dz-processing"),e._removeLink))return
e._removeLink.innerHTML=this.options.dictCancelUpload},processingmultiple:function(){},uploadprogress:function(e,t,n){if(e.previewElement){var
i=!0,r=!1,o=void 0;try{for(var
a,l=e.previewElement.querySelectorAll("[data-dz-uploadprogress]")[Symbol.iterator]();!(i=(a=l.next()).done);i=!0){var
s=a.value;"PROGRESS"===s.nodeName?s.value=t:s.style.width="".concat(t,"%")}}catch(e){r=!0,o=e}finally{try{i||null==l.return||l.return()}finally{if(r)throw
o}}}},totaluploadprogress:function(){},sending:function(){},sendingmultiple:function(){},success:function(e){if(e.previewElement)return
e.previewElement.classList.add("dz-success")},successmultiple:function(){},canceled:function(e){return
this.emit("error",e,this.options.dictUploadCanceled)},canceledmultiple:function(){},complete:function(e){if(e._removeLink&&(e._removeLink.innerHTML=this.options.dictRemoveFile),e.previewElement)return
e.previewElement.classList.add("dz-complete")},completemultiple:function(){},maxfilesexceeded:function(){},maxfilesreached:function(){},queuecomplete:function(){},addedfiles:function(){}},this.prototype._thumbnailQueue=[],this.prototype._processingThumbnail=!1}},{key:"extend",value:function(e){for(var
t=arguments.length,n=new
Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];for(var
r=0,o=n;r<o.length;r++){var a=o[r];for(var l in a){var
s=a[l];e[l]=s}}return
e}}]),_createClass(t,[{key:"getAcceptedFiles",value:function(){return
this.files.filter(function(e){return e.accepted}).map(function(e){return
e})}},{key:"getRejectedFiles",value:function(){return
this.files.filter(function(e){return!e.accepted}).map(function(e){return
e})}},{key:"getFilesWithStatus",value:function(e){return
this.files.filter(function(t){return t.status===e}).map(function(e){return
e})}},{key:"getQueuedFiles",value:function(){return
this.getFilesWithStatus(t.QUEUED)}},{key:"getUploadingFiles",value:function(){return
this.getFilesWithStatus(t.UPLOADING)}},{key:"getAddedFiles",value:function(){return
this.getFilesWithStatus(t.ADDED)}},{key:"getActiveFiles",value:function(){return
this.files.filter(function(e){return
e.status===t.UPLOADING||e.status===t.QUEUED}).map(function(e){return
e})}},{key:"init",value:function(){var
e=this;if("form"===this.element.tagName&&this.element.setAttribute("enctype","multipart/form-data"),this.element.classList.contains("dropzone")&&!this.element.querySelector(".dz-message")&&this.element.appendChild(t.createElement('<div
class="dz-default dz-message"><button
class="dz-button"
type="button">'.concat(this.options.dictDefaultMessage,"</button></div>"))),this.clickableElements.length){!function
n(){return
e.hiddenFileInput&&e.hiddenFileInput.parentNode.removeChild(e.hiddenFileInput),e.hiddenFileInput=document.createElement("input"),e.hiddenFileInput.setAttribute("type","file"),(null===e.options.maxFiles||e.options.maxFiles>1)&&e.hiddenFileInput.setAttribute("multiple","multiple"),e.hiddenFileInput.className="dz-hidden-input",null!==e.options.acceptedFiles&&e.hiddenFileInput.setAttribute("accept",e.options.acceptedFiles),null!==e.options.capture&&e.hiddenFileInput.setAttribute("capture",e.options.capture),e.hiddenFileInput.style.visibility="hidden",e.hiddenFileInput.style.position="absolute",e.hiddenFileInput.style.top="0",e.hiddenFileInput.style.left="0",e.hiddenFileInput.style.height="0",e.hiddenFileInput.style.width="0",t.getElement(e.options.hiddenInputContainer,"hiddenInputContainer").appendChild(e.hiddenFileInput),e.hiddenFileInput.addEventListener("change",function(){var
t=e.hiddenFileInput.files;if(t.length){var i=!0,r=!1,o=void 0;try{for(var
a,l=t[Symbol.iterator]();!(i=(a=l.next()).done);i=!0){var
s=a.value;e.addFile(s)}}catch(e){r=!0,o=e}finally{try{i||null==l.return||l.return()}finally{if(r)throw
o}}}return
e.emit("addedfiles",t),n()})}()}this.URL=null!==window.URL?window.URL:window.webkitURL;var
n=!0,i=!1,r=void 0;try{for(var
o,a=this.events[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var
l=o.value;this.on(l,this.options[l])}}catch(e){i=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw
r}}this.on("uploadprogress",function(){return
e.updateTotalUploadProgress()}),this.on("removedfile",function(){return
e.updateTotalUploadProgress()}),this.on("canceled",function(t){return
e.emit("complete",t)}),this.on("complete",function(t){if(0===e.getAddedFiles().length&&0===e.getUploadingFiles().length&&0===e.getQueuedFiles().length)return
setTimeout(function(){return e.emit("queuecomplete")},0)});var
s=function(e){if(function(e){return
e.dataTransfer.types&&e.dataTransfer.types.some(function(e){return"Files"==e})}(e))return
e.stopPropagation(),e.preventDefault?e.preventDefault():e.returnValue=!1};return
this.listeners=[{element:this.element,events:{dragstart:function(t){return
e.emit("dragstart",t)},dragenter:function(t){return
s(t),e.emit("dragenter",t)},dragover:function(t){var
n;try{n=t.dataTransfer.effectAllowed}catch(e){}return
t.dataTransfer.dropEffect="move"===n||"linkMove"===n?"move":"copy",s(t),e.emit("dragover",t)},dragleave:function(t){return
e.emit("dragleave",t)},drop:function(t){return
s(t),e.drop(t)},dragend:function(t){return
e.emit("dragend",t)}}}],this.clickableElements.forEach(function(n){return
e.listeners.push({element:n,events:{click:function(i){return(n!==e.element||i.target===e.element||t.elementInside(i.target,e.element.querySelector(".dz-message")))&&e.hiddenFileInput.click(),!0}}})}),this.enable(),this.options.init.call(this)}},{key:"destroy",value:function(){return
this.disable(),this.removeAllFiles(!0),(null!=this.hiddenFileInput?this.hiddenFileInput.parentNode:void
0)&&(this.hiddenFileInput.parentNode.removeChild(this.hiddenFileInput),this.hiddenFileInput=null),delete
this.element.dropzone,t.instances.splice(t.instances.indexOf(this),1)}},{key:"updateTotalUploadProgress",value:function(){var
e,t=0,n=0;if(this.getActiveFiles().length){var i=!0,r=!1,o=void
0;try{for(var
a,l=this.getActiveFiles()[Symbol.iterator]();!(i=(a=l.next()).done);i=!0){var
s=a.value;t+=s.upload.bytesSent,n+=s.upload.total}}catch(e){r=!0,o=e}finally{try{i||null==l.return||l.return()}finally{if(r)throw
o}}e=100*t/n}else e=100;return
this.emit("totaluploadprogress",e,n,t)}},{key:"_getParamName",value:function(e){return"function"==typeof
this.options.paramName?this.options.paramName(e):"".concat(this.options.paramName).concat(this.options.uploadMultiple?"[".concat(e,"]"):"")}},{key:"_renameFile",value:function(e){return"function"!=typeof
this.options.renameFile?e.name:this.options.renameFile(e)}},{key:"getFallbackForm",value:function(){var
e,n;if(e=this.getExistingFallback())return e;var i='<div
class="dz-fallback">';this.options.dictFallbackText&&(i+="<p>".concat(this.options.dictFallbackText,"</p>")),i+='<input
type="file"
name="'.concat(this._getParamName(0),'"
').concat(this.options.uploadMultiple?'multiple="multiple"':void
0,' /><input type="submit"
value="Upload!"></div>');var
r=t.createElement(i);return"FORM"!==this.element.tagName?(n=t.createElement('<form
action="'.concat(this.options.url,'"
enctype="multipart/form-data"
method="').concat(this.options.method,'"></form>'))).appendChild(r):(this.element.setAttribute("enctype","multipart/form-data"),this.element.setAttribute("method",this.options.method)),null!=n?n:r}},{key:"getExistingFallback",value:function(){for(var
e=function(e){var t=!0,n=!1,i=void 0;try{for(var
r,o=e[Symbol.iterator]();!(t=(r=o.next()).done);t=!0){var a=r.value;if(/(^|
)fallback($| )/.test(a.className))return
a}}catch(e){n=!0,i=e}finally{try{t||null==o.return||o.return()}finally{if(n)throw
i}}},t=0,n=["div","form"];t<n.length;t++){var
i,r=n[t];if(i=e(this.element.getElementsByTagName(r)))return
i}}},{key:"setupEventListeners",value:function(){return
this.listeners.map(function(e){return function(){var t=[];for(var n in
e.events){var
i=e.events[n];t.push(e.element.addEventListener(n,i,!1))}return
t}()})}},{key:"removeEventListeners",value:function(){return
this.listeners.map(function(e){return function(){var t=[];for(var n in
e.events){var
i=e.events[n];t.push(e.element.removeEventListener(n,i,!1))}return
t}()})}},{key:"disable",value:function(){var e=this;return
this.clickableElements.forEach(function(e){return
e.classList.remove("dz-clickable")}),this.removeEventListeners(),this.disabled=!0,this.files.map(function(t){return
e.cancelUpload(t)})}},{key:"enable",value:function(){return
delete this.disabled,this.clickableElements.forEach(function(e){return
e.classList.add("dz-clickable")}),this.setupEventListeners()}},{key:"filesize",value:function(e){var
t=0,n="b";if(e>0){for(var
i=["tb","gb","mb","kb","b"],r=0;r<i.length;r++){var
o=i[r];if(e>=Math.pow(this.options.filesizeBase,4-r)/10){t=e/Math.pow(this.options.filesizeBase,4-r),n=o;break}}t=Math.round(10*t)/10}return"<strong>".concat(t,"</strong>
").concat(this.options.dictFileSizeUnits[n])}},{key:"_updateMaxFilesReachedClass",value:function(){return
null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(this.getAcceptedFiles().length===this.options.maxFiles&&this.emit("maxfilesreached",this.files),this.element.classList.add("dz-max-files-reached")):this.element.classList.remove("dz-max-files-reached")}},{key:"drop",value:function(e){if(e.dataTransfer){this.emit("drop",e);for(var
t=[],n=0;n<e.dataTransfer.files.length;n++)t[n]=e.dataTransfer.files[n];if(t.length){var
i=e.dataTransfer.items;i&&i.length&&null!=i[0].webkitGetAsEntry?this._addFilesFromItems(i):this.handleFiles(t)}this.emit("addedfiles",t)}}},{key:"paste",value:function(e){if(null!=__guard__(null!=e?e.clipboardData:void
0,function(e){return e.items})){this.emit("paste",e);var
t=e.clipboardData.items;return t.length?this._addFilesFromItems(t):void
0}}},{key:"handleFiles",value:function(e){var t=!0,n=!1,i=void
0;try{for(var r,o=e[Symbol.iterator]();!(t=(r=o.next()).done);t=!0){var
a=r.value;this.addFile(a)}}catch(e){n=!0,i=e}finally{try{t||null==o.return||o.return()}finally{if(n)throw
i}}}},{key:"_addFilesFromItems",value:function(e){var
t=this;return function(){var n=[],i=!0,r=!1,o=void 0;try{for(var
a,l=e[Symbol.iterator]();!(i=(a=l.next()).done);i=!0){var
s,u=a.value;null!=u.webkitGetAsEntry&&(s=u.webkitGetAsEntry())?s.isFile?n.push(t.addFile(u.getAsFile())):s.isDirectory?n.push(t._addFilesFromDirectory(s,s.name)):n.push(void
0):null!=u.getAsFile&&(null==u.kind||"file"===u.kind)?n.push(t.addFile(u.getAsFile())):n.push(void
0)}}catch(e){r=!0,o=e}finally{try{i||null==l.return||l.return()}finally{if(r)throw
o}}return
n}()}},{key:"_addFilesFromDirectory",value:function(e,t){var
n=this,i=e.createReader(),r=function(e){return
__guardMethod__(console,"log",function(t){return
t.log(e)})};return function e(){return
i.readEntries(function(i){if(i.length>0){var r=!0,o=!1,a=void
0;try{for(var l,s=i[Symbol.iterator]();!(r=(l=s.next()).done);r=!0){var
u=l.value;u.isFile?u.file(function(e){if(!n.options.ignoreHiddenFiles||"."!==e.name.substring(0,1))return
e.fullPath="".concat(t,"/").concat(e.name),n.addFile(e)}):u.isDirectory&&n._addFilesFromDirectory(u,"".concat(t,"/").concat(u.name))}}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw
a}}e()}return
null},r)}()}},{key:"accept",value:function(e,n){this.options.maxFilesize&&e.size>1024*this.options.maxFilesize*1024?n(this.options.dictFileTooBig.replace("{{filesize}}",Math.round(e.size/1024/10.24)/100).replace("{{maxFilesize}}",this.options.maxFilesize)):t.isValidFile(e,this.options.acceptedFiles)?null!=this.options.maxFiles&&this.getAcceptedFiles().length>=this.options.maxFiles?(n(this.options.dictMaxFilesExceeded.replace("{{maxFiles}}",this.options.maxFiles)),this.emit("maxfilesexceeded",e)):this.options.accept.call(this,e,n):n(this.options.dictInvalidFileType)}},{key:"addFile",value:function(e){var
n=this;e.upload={uuid:t.uuidv4(),progress:0,total:e.size,bytesSent:0,filename:this._renameFile(e)},this.files.push(e),e.status=t.ADDED,this.emit("addedfile",e),this._enqueueThumbnail(e),this.accept(e,function(t){t?(e.accepted=!1,n._errorProcessing([e],t)):(e.accepted=!0,n.options.autoQueue&&n.enqueueFile(e)),n._updateMaxFilesReachedClass()})}},{key:"enqueueFiles",value:function(e){var
t=!0,n=!1,i=void 0;try{for(var
r,o=e[Symbol.iterator]();!(t=(r=o.next()).done);t=!0){var
a=r.value;this.enqueueFile(a)}}catch(e){n=!0,i=e}finally{try{t||null==o.return||o.return()}finally{if(n)throw
i}}return null}},{key:"enqueueFile",value:function(e){var
n=this;if(e.status!==t.ADDED||!0!==e.accepted)throw new Error("This
file can't be queued because it has already been processed or was
rejected.");if(e.status=t.QUEUED,this.options.autoProcessQueue)return
setTimeout(function(){return
n.processQueue()},0)}},{key:"_enqueueThumbnail",value:function(e){var
t=this;if(this.options.createImageThumbnails&&e.type.match(/image.*/)&&e.size<=1024*this.options.maxThumbnailFilesize*1024)return
this._thumbnailQueue.push(e),setTimeout(function(){return
t._processThumbnailQueue()},0)}},{key:"_processThumbnailQueue",value:function(){var
e=this;if(!this._processingThumbnail&&0!==this._thumbnailQueue.length){this._processingThumbnail=!0;var
t=this._thumbnailQueue.shift();return
this.createThumbnail(t,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.thumbnailMethod,!0,function(n){return
e.emit("thumbnail",t,n),e._processingThumbnail=!1,e._processThumbnailQueue()})}}},{key:"removeFile",value:function(e){if(e.status===t.UPLOADING&&this.cancelUpload(e),this.files=without(this.files,e),this.emit("removedfile",e),0===this.files.length)return
this.emit("reset")}},{key:"removeAllFiles",value:function(e){null==e&&(e=!1);var
n=!0,i=!1,r=void 0;try{for(var
o,a=this.files.slice()[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var
l=o.value;(l.status!==t.UPLOADING||e)&&this.removeFile(l)}}catch(e){i=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw
r}}return null}},{key:"resizeImage",value:function(e,n,i,r,o){var
a=this;return
this.createThumbnail(e,n,i,r,!0,function(n,i){if(null==i)return o(e);var
r=a.options.resizeMimeType;null==r&&(r=e.type);var
l=i.toDataURL(r,a.options.resizeQuality);return"image/jpeg"!==r&&"image/jpg"!==r||(l=ExifRestore.restore(e.dataURL,l)),o(t.dataURItoBlob(l))})}},{key:"createThumbnail",value:function(e,t,n,i,r,o){var
a=this,l=new
FileReader;l.onload=function(){e.dataURL=l.result,"image/svg+xml"!==e.type?a.createThumbnailFromUrl(e,t,n,i,r,o):null!=o&&o(l.result)},l.readAsDataURL(e)}},{key:"displayExistingFile",value:function(e,t,n,i){var
r=this,o=!(arguments.length>4&&void
0!==arguments[4])||arguments[4];if(this.emit("addedfile",e),this.emit("complete",e),o){e.dataURL=t,this.createThumbnailFromUrl(e,this.options.thumbnailWidth,this.options.thumbnailHeight,this.options.resizeMethod,this.options.fixOrientation,function(t){r.emit("thumbnail",e,t),n&&n()},i)}else
this.emit("thumbnail",e,t),n&&n()}},{key:"createThumbnailFromUrl",value:function(e,t,n,i,r,o,a){var
l=this,s=document.createElement("img");return
a&&(s.crossOrigin=a),s.onload=function(){var a=function(e){return
e(1)};return"undefined"!=typeof
EXIF&&null!==EXIF&&r&&(a=function(e){return
EXIF.getData(s,function(){return
e(EXIF.getTag(this,"Orientation"))})}),a(function(r){e.width=s.width,e.height=s.height;var
a=l.options.resize.call(l,e,t,n,i),u=document.createElement("canvas"),c=u.getContext("2d");switch(u.width=a.trgWidth,u.height=a.trgHeight,r>4&&(u.width=a.trgHeight,u.height=a.trgWidth),r){case
2:c.translate(u.width,0),c.scale(-1,1);break;case
3:c.translate(u.width,u.height),c.rotate(Math.PI);break;case
4:c.translate(0,u.height),c.scale(1,-1);break;case
5:c.rotate(.5*Math.PI),c.scale(1,-1);break;case
6:c.rotate(.5*Math.PI),c.translate(0,-u.width);break;case
7:c.rotate(.5*Math.PI),c.translate(u.height,-u.width),c.scale(-1,1);break;case
8:c.rotate(-.5*Math.PI),c.translate(-u.height,0)}drawImageIOSFix(c,s,null!=a.srcX?a.srcX:0,null!=a.srcY?a.srcY:0,a.srcWidth,a.srcHeight,null!=a.trgX?a.trgX:0,null!=a.trgY?a.trgY:0,a.trgWidth,a.trgHeight);var
d=u.toDataURL("image/png");if(null!=o)return
o(d,u)})},null!=o&&(s.onerror=o),s.src=e.dataURL}},{key:"processQueue",value:function(){var
e=this.options.parallelUploads,t=this.getUploadingFiles().length,n=t;if(!(t>=e)){var
i=this.getQueuedFiles();if(i.length>0){if(this.options.uploadMultiple)return
this.processFiles(i.slice(0,e-t));for(;n<e;){if(!i.length)return;this.processFile(i.shift()),n++}}}}},{key:"processFile",value:function(e){return
this.processFiles([e])}},{key:"processFiles",value:function(e){var
n=!0,i=!1,r=void 0;try{for(var
o,a=e[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var
l=o.value;l.processing=!0,l.status=t.UPLOADING,this.emit("processing",l)}}catch(e){i=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw
r}}return
this.options.uploadMultiple&&this.emit("processingmultiple",e),this.uploadFiles(e)}},{key:"_getFilesWithXhr",value:function(e){return
this.files.filter(function(t){return t.xhr===e}).map(function(e){return
e})}},{key:"cancelUpload",value:function(e){if(e.status===t.UPLOADING){var
n=this._getFilesWithXhr(e.xhr),i=!0,r=!1,o=void 0;try{for(var
a,l=n[Symbol.iterator]();!(i=(a=l.next()).done);i=!0){a.value.status=t.CANCELED}}catch(e){r=!0,o=e}finally{try{i||null==l.return||l.return()}finally{if(r)throw
o}}void 0!==e.xhr&&e.xhr.abort();var s=!0,u=!1,c=void 0;try{for(var
d,p=n[Symbol.iterator]();!(s=(d=p.next()).done);s=!0){var
h=d.value;this.emit("canceled",h)}}catch(e){u=!0,c=e}finally{try{s||null==p.return||p.return()}finally{if(u)throw
c}}this.options.uploadMultiple&&this.emit("canceledmultiple",n)}else
e.status!==t.ADDED&&e.status!==t.QUEUED||(e.status=t.CANCELED,this.emit("canceled",e),this.options.uploadMultiple&&this.emit("canceledmultiple",[e]));if(this.options.autoProcessQueue)return
this.processQueue()}},{key:"resolveOption",value:function(e){if("function"==typeof
e){for(var t=arguments.length,n=new
Array(t>1?t-1:0),i=1;i<t;i++)n[i-1]=arguments[i];return
e.apply(this,n)}return
e}},{key:"uploadFile",value:function(e){return
this.uploadFiles([e])}},{key:"uploadFiles",value:function(e){var
n=this;this._transformFiles(e,function(i){if(n.options.chunking){var
r=i[0];e[0].upload.chunked=n.options.chunking&&(n.options.forceChunking||r.size>n.options.chunkSize),e[0].upload.totalChunkCount=Math.ceil(r.size/n.options.chunkSize)}if(e[0].upload.chunked){var
o=e[0],a=i[0];o.upload.chunks=[];var l=function(){for(var i=0;void
0!==o.upload.chunks[i];)i++;if(!(i>=o.upload.totalChunkCount)){0;var
r=i*n.options.chunkSize,l=Math.min(r+n.options.chunkSize,o.size),s={name:n._getParamName(0),data:a.webkitSlice?a.webkitSlice(r,l):a.slice(r,l),filename:o.upload.filename,chunkIndex:i};o.upload.chunks[i]={file:o,index:i,dataBlock:s,status:t.UPLOADING,progress:0,retries:0},n._uploadData(e,[s])}};if(o.upload.finishedChunkUpload=function(i){var
r=!0;i.status=t.SUCCESS,i.dataBlock=null,i.xhr=null;for(var
a=0;a<o.upload.totalChunkCount;a++){if(void
0===o.upload.chunks[a])return
l();o.upload.chunks[a].status!==t.SUCCESS&&(r=!1)}r&&n.options.chunksUploaded(o,function(){n._finished(e,"",null)})},n.options.parallelChunkUploads)for(var
s=0;s<o.upload.totalChunkCount;s++)l();else l()}else{for(var
u=[],c=0;c<e.length;c++)u[c]={name:n._getParamName(c),data:i[c],filename:e[c].upload.filename};n._uploadData(e,u)}})}},{key:"_getChunk",value:function(e,t){for(var
n=0;n<e.upload.totalChunkCount;n++)if(void
0!==e.upload.chunks[n]&&e.upload.chunks[n].xhr===t)return
e.upload.chunks[n]}},{key:"_uploadData",value:function(e,n){var
i=this,r=new XMLHttpRequest,o=!0,a=!1,l=void 0;try{for(var
s,u=e[Symbol.iterator]();!(o=(s=u.next()).done);o=!0){s.value.xhr=r}}catch(e){a=!0,l=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw
l}}e[0].upload.chunked&&(e[0].upload.chunks[n[0].chunkIndex].xhr=r);var
c=this.resolveOption(this.options.method,e),d=this.resolveOption(this.options.url,e);r.open(c,d,!0),r.timeout=this.resolveOption(this.options.timeout,e),r.withCredentials=!!this.options.withCredentials,r.onload=function(t){i._finishedUploading(e,r,t)},r.ontimeout=function(){i._handleUploadError(e,r,"Request
timedout after ".concat(i.options.timeout,"
seconds"))},r.onerror=function(){i._handleUploadError(e,r)},(null!=r.upload?r.upload:r).onprogress=function(t){return
i._updateFilesUploadProgress(e,r,t)};var
p={Accept:"application/json","Cache-Control":"no-cache","X-Requested-With":"XMLHttpRequest"};for(var
h in this.options.headers&&t.extend(p,this.options.headers),p){var
f=p[h];f&&r.setRequestHeader(h,f)}var v=new
FormData;if(this.options.params){var m=this.options.params;for(var y
in"function"==typeof
m&&(m=m.call(this,e,r,e[0].upload.chunked?this._getChunk(e[0],r):null)),m){var
g=m[y];v.append(y,g)}}var b=!0,k=!1,w=void 0;try{for(var
F,z=e[Symbol.iterator]();!(b=(F=z.next()).done);b=!0){var
x=F.value;this.emit("sending",x,r,v)}}catch(e){k=!0,w=e}finally{try{b||null==z.return||z.return()}finally{if(k)throw
w}}this.options.uploadMultiple&&this.emit("sendingmultiple",e,r,v),this._addFormElementData(v);for(var
E=0;E<n.length;E++){var
C=n[E];v.append(C.name,C.data,C.filename)}this.submitRequest(r,v,e)}},{key:"_transformFiles",value:function(e,t){for(var
n=this,i=[],r=0,o=function(o){n.options.transformFile.call(n,e[o],function(n){i[o]=n,++r===e.length&&t(i)})},a=0;a<e.length;a++)o(a)}},{key:"_addFormElementData",value:function(e){if("FORM"===this.element.tagName){var
t=!0,n=!1,i=void 0;try{for(var
r,o=this.element.querySelectorAll("input, textarea, select,
button")[Symbol.iterator]();!(t=(r=o.next()).done);t=!0){var
a=r.value,l=a.getAttribute("name"),s=a.getAttribute("type");if(s&&(s=s.toLowerCase()),null!=l)if("SELECT"===a.tagName&&a.hasAttribute("multiple")){var
u=!0,c=!1,d=void 0;try{for(var
p,h=a.options[Symbol.iterator]();!(u=(p=h.next()).done);u=!0){var
f=p.value;f.selected&&e.append(l,f.value)}}catch(e){c=!0,d=e}finally{try{u||null==h.return||h.return()}finally{if(c)throw
d}}}else(!s||"checkbox"!==s&&"radio"!==s||a.checked)&&e.append(l,a.value)}}catch(e){n=!0,i=e}finally{try{t||null==o.return||o.return()}finally{if(n)throw
i}}}}},{key:"_updateFilesUploadProgress",value:function(e,t,n){var
i;if(void 0!==n){if(i=100*n.loaded/n.total,e[0].upload.chunked){var
r=e[0],o=this._getChunk(r,t);o.progress=i,o.total=n.total,o.bytesSent=n.loaded;r.upload.progress=0,r.upload.total=0,r.upload.bytesSent=0;for(var
a=0;a<r.upload.totalChunkCount;a++)void
0!==r.upload.chunks[a]&&void
0!==r.upload.chunks[a].progress&&(r.upload.progress+=r.upload.chunks[a].progress,r.upload.total+=r.upload.chunks[a].total,r.upload.bytesSent+=r.upload.chunks[a].bytesSent);r.upload.progress=r.upload.progress/r.upload.totalChunkCount}else{var
l=!0,s=!1,u=void 0;try{for(var
c,d=e[Symbol.iterator]();!(l=(c=d.next()).done);l=!0){var
p=c.value;p.upload.progress=i,p.upload.total=n.total,p.upload.bytesSent=n.loaded}}catch(e){s=!0,u=e}finally{try{l||null==d.return||d.return()}finally{if(s)throw
u}}}var h=!0,f=!1,v=void 0;try{for(var
m,y=e[Symbol.iterator]();!(h=(m=y.next()).done);h=!0){var
g=m.value;this.emit("uploadprogress",g,g.upload.progress,g.upload.bytesSent)}}catch(e){f=!0,v=e}finally{try{h||null==y.return||y.return()}finally{if(f)throw
v}}}else{var b=!0;i=100;var k=!0,w=!1,F=void 0;try{for(var
z,x=e[Symbol.iterator]();!(k=(z=x.next()).done);k=!0){var
E=z.value;100===E.upload.progress&&E.upload.bytesSent===E.upload.total||(b=!1),E.upload.progress=i,E.upload.bytesSent=E.upload.total}}catch(e){w=!0,F=e}finally{try{k||null==x.return||x.return()}finally{if(w)throw
F}}if(b)return;var C=!0,_=!1,S=void 0;try{for(var
D,T=e[Symbol.iterator]();!(C=(D=T.next()).done);C=!0){var
L=D.value;this.emit("uploadprogress",L,i,L.upload.bytesSent)}}catch(e){_=!0,S=e}finally{try{C||null==T.return||T.return()}finally{if(_)throw
S}}}}},{key:"_finishedUploading",value:function(e,n,i){var
r;if(e[0].status!==t.CANCELED&&4===n.readyState){if("arraybuffer"!==n.responseType&&"blob"!==n.responseType&&(r=n.responseText,n.getResponseHeader("content-type")&&~n.getResponseHeader("content-type").indexOf("application/json")))try{r=JSON.parse(r)}catch(e){i=e,r="Invalid
JSON response from
server."}this._updateFilesUploadProgress(e),200<=n.status&&n.status<300?e[0].upload.chunked?e[0].upload.finishedChunkUpload(this._getChunk(e[0],n)):this._finished(e,r,i):this._handleUploadError(e,n,r)}}},{key:"_handleUploadError",value:function(e,n,i){if(e[0].status!==t.CANCELED){if(e[0].upload.chunked&&this.options.retryChunks){var
r=this._getChunk(e[0],n);if(r.retries++<this.options.retryChunksLimit)return
void this._uploadData(e,[r.dataBlock]);console.warn("Retried this
chunk too often. Giving
up.")}this._errorProcessing(e,i||this.options.dictResponseError.replace("{{statusCode}}",n.status),n)}}},{key:"submitRequest",value:function(e,t,n){e.send(t)}},{key:"_finished",value:function(e,n,i){var
r=!0,o=!1,a=void 0;try{for(var
l,s=e[Symbol.iterator]();!(r=(l=s.next()).done);r=!0){var
u=l.value;u.status=t.SUCCESS,this.emit("success",u,n,i),this.emit("complete",u)}}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw
a}}if(this.options.uploadMultiple&&(this.emit("successmultiple",e,n,i),this.emit("completemultiple",e)),this.options.autoProcessQueue)return
this.processQueue()}},{key:"_errorProcessing",value:function(e,n,i){var
r=!0,o=!1,a=void 0;try{for(var
l,s=e[Symbol.iterator]();!(r=(l=s.next()).done);r=!0){var
u=l.value;u.status=t.ERROR,this.emit("error",u,n,i),this.emit("complete",u)}}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw
a}}if(this.options.uploadMultiple&&(this.emit("errormultiple",e,n,i),this.emit("completemultiple",e)),this.options.autoProcessQueue)return
this.processQueue()}}],[{key:"uuidv4",value:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var
t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}}]),t}();Dropzone.initClass(),Dropzone.version="5.7.0",Dropzone.options={},Dropzone.optionsForElement=function(e){return
e.getAttribute("id")?Dropzone.options[camelize(e.getAttribute("id"))]:void
0},Dropzone.instances=[],Dropzone.forElement=function(e){if("string"==typeof
e&&(e=document.querySelector(e)),null==(null!=e?e.dropzone:void
0))throw new Error("No Dropzone found for given element. This is
probably because you're trying to access it before Dropzone had the
time to initialize. Use the `init` option to setup any additional observers
on your Dropzone.");return
e.dropzone},Dropzone.autoDiscover=!1,Dropzone.discover=function(){var
e;if(document.querySelectorAll)e=document.querySelectorAll(".dropzone");else{e=[];var
t=function(t){return function(){var n=[],i=!0,r=!1,o=void 0;try{for(var
a,l=t[Symbol.iterator]();!(i=(a=l.next()).done);i=!0){var s=a.value;/(^|
)dropzone($| )/.test(s.className)?n.push(e.push(s)):n.push(void
0)}}catch(e){r=!0,o=e}finally{try{i||null==l.return||l.return()}finally{if(r)throw
o}}return
n}()};t(document.getElementsByTagName("div")),t(document.getElementsByTagName("form"))}return
function(){var t=[],n=!0,i=!1,r=void 0;try{for(var
o,a=e[Symbol.iterator]();!(n=(o=a.next()).done);n=!0){var
l=o.value;!1!==Dropzone.optionsForElement(l)?t.push(new
Dropzone(l)):t.push(void
0)}}catch(e){i=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(i)throw
r}}return t}()},Dropzone.blacklistedBrowsers=[/opera.*(Macintosh|Windows
Phone).*version\/12/i],Dropzone.isBrowserSupported=function(){var
e=!0;if(window.File&&window.FileReader&&window.FileList&&window.Blob&&window.FormData&&document.querySelector)if("classList"in
document.createElement("a")){var t=!0,n=!1,i=void 0;try{for(var
r,o=Dropzone.blacklistedBrowsers[Symbol.iterator]();!(t=(r=o.next()).done);t=!0){r.value.test(navigator.userAgent)&&(e=!1)}}catch(e){n=!0,i=e}finally{try{t||null==o.return||o.return()}finally{if(n)throw
i}}}else e=!1;else e=!1;return
e},Dropzone.dataURItoBlob=function(e){for(var
t=atob(e.split(",")[1]),n=e.split(",")[0].split(":")[1].split(";")[0],i=new
ArrayBuffer(t.length),r=new
Uint8Array(i),o=0,a=t.length,l=0<=a;l?o<=a:o>=a;l?o++:o--)r[o]=t.charCodeAt(o);return
new Blob([i],{type:n})};var without=function(e,t){return
e.filter(function(e){return e!==t}).map(function(e){return
e})},camelize=function(e){return e.replace(/[\-_](\w)/g,function(e){return
e.charAt(1).toUpperCase()})};Dropzone.createElement=function(e){var
t=document.createElement("div");return
t.innerHTML=e,t.childNodes[0]},Dropzone.elementInside=function(e,t){if(e===t)return!0;for(;e=e.parentNode;)if(e===t)return!0;return!1},Dropzone.getElement=function(e,t){var
n;if("string"==typeof
e?n=document.querySelector(e):null!=e.nodeType&&(n=e),null==n)throw
new Error("Invalid `".concat(t,"` option provided. Please
provide a CSS selector or a plain HTML element."));return
n},Dropzone.getElements=function(e,t){var n,i;if(e instanceof
Array){i=[];try{var r=!0,o=!1,a=void 0;try{for(var
l,s=e[Symbol.iterator]();!(r=(l=s.next()).done);r=!0)n=l.value,i.push(this.getElement(n,t))}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw
a}}}catch(e){i=null}}else if("string"==typeof e){i=[];var
u=!0,c=!1,d=void 0;try{for(var
p,h=document.querySelectorAll(e)[Symbol.iterator]();!(u=(p=h.next()).done);u=!0)n=p.value,i.push(n)}catch(e){c=!0,d=e}finally{try{u||null==h.return||h.return()}finally{if(c)throw
d}}}else null!=e.nodeType&&(i=[e]);if(null==i||!i.length)throw new
Error("Invalid `".concat(t,"` option provided. Please
provide a CSS selector, a plain HTML element or a list of
those."));return i},Dropzone.confirm=function(e,t,n){return
window.confirm(e)?t():null!=n?n():void
0},Dropzone.isValidFile=function(e,t){if(!t)return!0;t=t.split(",");var
n=e.type,i=n.replace(/\/.*$/,""),r=!0,o=!1,a=void 0;try{for(var
l,s=t[Symbol.iterator]();!(r=(l=s.next()).done);r=!0){var
u=l.value;if("."===(u=u.trim()).charAt(0)){if(-1!==e.name.toLowerCase().indexOf(u.toLowerCase(),e.name.length-u.length))return!0}else
if(/\/\*$/.test(u)){if(i===u.replace(/\/.*$/,""))return!0}else
if(n===u)return!0}}catch(e){o=!0,a=e}finally{try{r||null==s.return||s.return()}finally{if(o)throw
a}}return!1},"undefined"!=typeof
jQuery&&null!==jQuery&&(jQuery.fn.dropzone=function(e){return
this.each(function(){return new
Dropzone(this,e)})}),"undefined"!=typeof
module&&null!==module?module.exports=Dropzone:window.Dropzone=Dropzone,Dropzone.ADDED="added",Dropzone.QUEUED="queued",Dropzone.ACCEPTED=Dropzone.QUEUED,Dropzone.UPLOADING="uploading",Dropzone.PROCESSING=Dropzone.UPLOADING,Dropzone.CANCELED="canceled",Dropzone.ERROR="error",Dropzone.SUCCESS="success";var
detectVerticalSquash=function(e){e.naturalWidth;var
t=e.naturalHeight,n=document.createElement("canvas");n.width=1,n.height=t;var
i=n.getContext("2d");i.drawImage(e,0,0);for(var
r=i.getImageData(1,0,1,t).data,o=0,a=t,l=t;l>o;){0===r[4*(l-1)+3]?a=l:o=l,l=a+o>>1}var
s=l/t;return 0===s?1:s},drawImageIOSFix=function(e,t,n,i,r,o,a,l,s,u){var
c=detectVerticalSquash(t);return
e.drawImage(t,n,i,r,o,a,l,s,u/c)},ExifRestore=function(){function
e(){_classCallCheck(this,e)}return
_createClass(e,null,[{key:"initClass",value:function(){this.KEY_STR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}},{key:"encode64",value:function(e){for(var
t="",n=void 0,i=void 0,r="",o=void 0,a=void 0,l=void
0,s="",u=0;o=(n=e[u++])>>2,a=(3&n)<<4|(i=e[u++])>>4,l=(15&i)<<2|(r=e[u++])>>6,s=63&r,isNaN(i)?l=s=64:isNaN(r)&&(s=64),t=t+this.KEY_STR.charAt(o)+this.KEY_STR.charAt(a)+this.KEY_STR.charAt(l)+this.KEY_STR.charAt(s),n=i=r="",o=a=l=s="",u<e.length;);return
t}},{key:"restore",value:function(e,t){if(!e.match("data:image/jpeg;base64,"))return
t;var
n=this.decode64(e.replace("data:image/jpeg;base64,","")),i=this.slice2Segments(n),r=this.exifManipulation(t,i);return"data:image/jpeg;base64,".concat(this.encode64(r))}},{key:"exifManipulation",value:function(e,t){var
n=this.getExifArray(t),i=this.insertExif(e,n);return new
Uint8Array(i)}},{key:"getExifArray",value:function(e){for(var
t=void 0,n=0;n<e.length;){if(255===(t=e[n])[0]&225===t[1])return
t;n++}return[]}},{key:"insertExif",value:function(e,t){var
n=e.replace("data:image/jpeg;base64,",""),i=this.decode64(n),r=i.indexOf(255,3),o=i.slice(0,r),a=i.slice(r),l=o;return
l=(l=l.concat(t)).concat(a)}},{key:"slice2Segments",value:function(e){for(var
t=0,n=[];;){if(255===e[t]&218===e[t+1])break;if(255===e[t]&216===e[t+1])t+=2;else{var
i=t+(256*e[t+2]+e[t+3])+2,r=e.slice(t,i);n.push(r),t=i}if(t>e.length)break}return
n}},{key:"decode64",value:function(e){var t=void 0,n=void
0,i="",r=void 0,o=void
0,a="",l=0,s=[];for(/[^A-Za-z0-9\+\/\=]/g.exec(e)&&console.warn("There
were invalid base64 characters in the input text.\nValid base64 characters
are A-Z, a-z, 0-9, '+', '/',and '='\nExpect
errors in
decoding."),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");t=this.KEY_STR.indexOf(e.charAt(l++))<<2|(r=this.KEY_STR.indexOf(e.charAt(l++)))>>4,n=(15&r)<<4|(o=this.KEY_STR.indexOf(e.charAt(l++)))>>2,i=(3&o)<<6|(a=this.KEY_STR.indexOf(e.charAt(l++))),s.push(t),64!==o&&s.push(n),64!==a&&s.push(i),t=n=i="",r=o=a="",l<e.length;);return
s}}]),e}();ExifRestore.initClass();var contentLoaded=function(e,t){var
n=!1,i=!0,r=e.document,o=r.documentElement,a=r.addEventListener?"addEventListener":"attachEvent",l=r.addEventListener?"removeEventListener":"detachEvent",s=r.addEventListener?"":"on",u=function
i(o){if("readystatechange"!==o.type||"complete"===r.readyState)return("load"===o.type?e:r)[l](s+o.type,i,!1),!n&&(n=!0)?t.call(e,o.type||o):void
0};if("complete"!==r.readyState){if(r.createEventObject&&o.doScroll){try{i=!e.frameElement}catch(e){}i&&function
e(){try{o.doScroll("left")}catch(t){return void
setTimeout(e,50)}return u("poll")}()}return
r[a](s+"DOMContentLoaded",u,!1),r[a](s+"readystatechange",u,!1),e[a](s+"load",u,!1)}};function
__guard__(e,t){return null!=e?t(e):void 0}function
__guardMethod__(e,t,n){return null!=e&&"function"==typeof
e[t]?n(e,t):void
0}Dropzone._autoDiscoverFunction=function(){if(Dropzone.autoDiscover)return
Dropzone.discover()},contentLoaded(window,Dropzone._autoDiscoverFunction);assets/images/arrow.jpg000064400000025213151171034260011152
0ustar00���VExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CS5 Windows2013:03:13
17:12:58�� �&(.
HH���Adobe_CM��Adobed����
�� "����?
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�m��o((�ջ��PRS���
�Photoshop
3.08BIM%8BIM:�printOutputClrSenumClrSRGBCInteenumInteClrmMpBlboolprintSixteenBitboolprinterNameTEXT8BIM;�printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd
doub@o�Grn doub@o�Bl doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl
UntF#Prc@Y8BIM�HH8BIM&?�8BIM
x8BIM8BIM� 8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMI
Untitled-2 nullboundsObjcRct1Top
longLeftlongBtomlongRghtlong slicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top
longLeftlongBtomlongRghtlong urlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM< �
���Adobe_CM��Adobed����
�� "����?
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�m��o((�ջ��PRS��8BIM!UAdobe
PhotoshopAdobe Photoshop
CS58BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00 "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
xmp:CreatorTool="Adobe Photoshop CS5 Windows"
xmp:CreateDate="2013-03-13T17:12:58+07:00"
xmp:MetadataDate="2013-03-13T17:12:58+07:00"
xmp:ModifyDate="2013-03-13T17:12:58+07:00"
xmpMM:InstanceID="xmp.iid:4FEE4894C68BE211970E812A21840305"
xmpMM:DocumentID="xmp.did:4EEE4894C68BE211970E812A21840305"
xmpMM:OriginalDocumentID="xmp.did:4EEE4894C68BE211970E812A21840305"
dc:format="image/jpeg" photoshop:ColorMode="3"
photoshop:ICCProfile="sRGB IEC61966-2.1">
<xmpMM:History> <rdf:Seq> <rdf:li
stEvt:action="created"
stEvt:instanceID="xmp.iid:4EEE4894C68BE211970E812A21840305"
stEvt:when="2013-03-13T17:12:58+07:00"
stEvt:softwareAgent="Adobe Photoshop CS5 Windows"/> <rdf:li
stEvt:action="saved"
stEvt:instanceID="xmp.iid:4FEE4894C68BE211970E812A21840305"
stEvt:when="2013-03-13T17:12:58+07:00"
stEvt:softwareAgent="Adobe Photoshop CS5 Windows"
stEvt:changed="/"/> </rdf:Seq> </xmpMM:History>
</rdf:Description> </rdf:RDF> </x:xmpmeta>
<?xpacket
end="w"?>��XICC_PROFILEHLinomntrRGB XYZ
� 1acspMSFTIEC sRGB���-HP
cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright
(c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ
�Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC
http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB
colour space - sRGB.IEC 61966-2.1 Default RGB colour space -
sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing
Condition in IEC61966-2.1view��_.���\�XYZ
L VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~����������
-;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn������� % : O d y � � � � � �
'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����
&
@
Z
t
�
�
�
�
�.Id���� %A^z���� &Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e����
Ek���*Qw���;c���*R{���Gp���@j���>i���
A l � �
�!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�% %8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�>
>`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M���
����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed���
�� �����
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�
&6E'dtU7��()�������eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�
���>�sአjqW��
ͷ?�>�q㊠hqW��assets/images/arrow.png000064400000005606151171034260011162
0ustar00�PNG
IHDR ��6� pHYs��
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR
RB���&*! J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!��
e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ �b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(�� A�a!ڈb�X#����!�H�$
ɈQ"K�5H1R�T
UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8, �c˱"����V����cϱw�E� 6wB
aAHXLXN�H�
$4� 7 �Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�,
+ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S� Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_��
c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN �(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v
m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#����=TR��+�G�����w-
6
U����#pDy�� �
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�m|�����������x31^�V��w�w��O�|
(�h���S�������c3-�
cHRMz%������u0�`:�o�_�F�IDATxڌ�=
Q���-i,W�X�^�B�늅��
�C��"��FeY��)'��Pj44����I�B�j&"���P�IUuW@���7�LD����Sխ���
R!5�}��Dd��ќ������D�`�Sg�q�~;����V�|�*����|)y�g��_K���U:K���5�IEND�B`�assets/images/emoticons/angry-grey.png000064400000001577151171034260014117
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<!IDATxڬTM(�a>3ƿ��OJ1VF�!v6��4�I�]��
���Y�p�����(��f��)a�o�s�������[��zg����y�y�sLooo�?������C���^���J������H�~JJ�n��W
���ҦCCC�>2<;;����r/,,8�"���Sbb"����t]���
*++����z���f����<00��j������0
g///b������%����������;�� �����G]]�-''�BBB~����(@�����A�������o\�Ԍv�s���ظFĵ`&���2��"�###);;�233mn�]r]��������*.VƲ�,88�:::(<<���9���������Ed�F���*E������FFF�b�����
�&X544
�5���mmm�P0������߱÷1�������4{~~V))
jù��G�NIHH�/..�QQQ4::�^��d||\}#x
���k!!�����!�nugg-GOOO"��u%[��>�#���A�P�����)"���
gY
�����TXX8�R�4m��[ZZr�����r�T}���E0����
mooS^^��Br�����]]]���[VV��$��Аx{{;���)����~���e�>
vh����hii���5H�!������������p���jrr�=77���Ƞ��d�Z��!k�NNNh�*++}<�������r��%1`�����/))I���]�����W�%�����;�IEND�B`�assets/images/emoticons/angry.png000064400000001730151171034260013142
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<zIDATxڬ�]LTW����~)qM1.*hX
]�F�u�_Av)!��%���b�&��'��DL���G��#
Q�A�.m��n���@\u���9���
�=�sΙ����3�i������}���_���uz�nz�:�0ZTV*�Zݕ�~Ck��6=ߖ����D�ƕS
��'���e�0߆��h��X,�Ҹ�3o��U{�=�"ku�������N��qCn����j��;MѠ�*�i�I �ےH��|�Ù#���^��
n�7�yϦRx�q�8���G�TU
%E�'q��9����Z��<��&�����k��!{J�0YM�M��4NG4��&� f;��|�с�y)O���
4�0�__�@�B��b9>ٗ`����Y�`�;~ �=���QQjC��A�0��~j)��[
��C���?�����PY���s.�Y4��%��Zn�·���@#����Pm��W���s(XiB��k?tg�0c~��k��B&�o|�bv.�16s@�TY!���6;��QXb�l�^������)+]�c�%k2�h��"�g?@����hΞ}Y#�k�'eOI ͨH�Td�ʉ��C�OC!�%`̼}��Y(��WJZ!��y0,��tw��m��E�IxFR")^��S�'4#�b���E�T�ې��07���p�7͝wS�J��K,$���n�I��S�\f:��GZ���"<;�7S��Xӟ}}�tgdi��D�\U?��N&/Gu���"��P�������E����|������pP�*��g2��+X|8�_ݭMA_���p9y��+������j�<����v��V��k?�{o7`�u�`���
�;��IEND�B`�assets/images/emoticons/arrow-grey.png000064400000001564151171034260014125
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬT9K�A=�1�".�FE⚈q�R��h�����Omb!6v�h�t��+I��B+���(A!j$$n(���ށ�"
�]����̽�{Uooo����b?������x̫���@
P>���ill\���q�V�㏪�>??[�������JMM
���A?���GGG888���ZZZf���~k4��_^\\�;���L��bAbb"�j�8{}}�������������}}}Ct�
]��O��f}UU����J����
������'<<<
c{{������aGZZ��T�lff�^WW�����V�E\\�㸽���n��ٙ8�̓��P^^Δ觧��!���ښb2�@��2�#
���$����*++A�)�`�*U^^^6Q&�����er���������������鰲�bV�Hecc��jrf����N���ۓ����������+//���&Y2�\B��ؼWWWp8B!@r���E�O;�EIMM��EB�q}�����
6����2�l���l��:�C<�sb�٤e8�XXX�EEEGJJ�08�;�1$`SS�������Z0����1�>>>����>dc�C��~?:::e�d7�z��(/�}�#8.���ccc��dó�
�48ܟZ��r���^ϙ��"Y��)�G(`���Cx)�!�z1Á<�>222@Y��U�$�
��>��=/��PVV�Է���v+eee���Ezz�P���`���ߏ��KF�rK�r���kOss���ƻ���4���IEND�B`�assets/images/emoticons/arrow.png000064400000002036151171034260013154
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬ�]lSe�����p�:`P�����R���4��LLp�K!z�� ^(���G���YԄ�4�8��&�u�:`u_�esl]{�q�|�)�5f<M����<���EO2���J�>1q�s'�w�~��
vo����l��5��w�u�5:fi�^M��*\
|8�8��/[�]�x�85�ۦ��R �1>�b����y�:�N��o^2>Uٵ,06:�Յ�s[���N/�NO��)yOD�6�#5��b��鳗�Wo�o�p���;�Y����AI6i�Qd2L�48r6���,�����#g>��K҅;c�7����`S��t��(�P����I�s,���
�i�JhW)�hWõm���Bk.��K,�D{�z_p�PS�*+Uot���W��3*�*��F�CW���~OQ�@��ɥ%o��dE�O�KUg֚�s��M��a���ht4�4z>�������C�������y
�;�e}6�7�}���fB�F�il2S��(~���f����;7/��)z���jC�Qʶ
>�������ƚ2J����e�ڊ�����+����� �f�F<�֚,Ѣ(��M��H��FE�D��U�e��TZ��R�*���@�A@z�K<9�վ7X�t�n��ӷ�\��S��}c��%u%�ݦ�� ��"16��"�L�Gߟ��y���\���چ��~��
̥y�3<8�j|���A��u�`,�y�$�AV�K��"P�50G^={�v�1g��˃y���$-��/�sX��!5[ؿ�[�r%��*#�͗?:}�\6d{�y5tDI���9\N��f��B�X[��ݶ��W�w��v*)T�{������R�}����k逍�
zzH;
�o:&c������`�jC���I�?i�ԌqAIEND�B`�assets/images/emoticons/blink-grey.png000064400000001546151171034260014072
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬT;HcQ�h�,?5!��E0H�[��2����B��r�F,���"�#U�Q�G�JC@���������D,v/��nf�;3sfL�a�\�L�����X,�e}}ݻ���9>>�p_YY����hjj
;�P~~~����=Ë���`0�mqq����Pmm-������R4���-�z�zWW�ϒ����cv�����(++K�{}}����@���477��GFFF~TWW�9�����)r��n���!��oF`�OOOt/�����������^UU5��Z���Y,����N��ͥ��^2�L�뺀,������.//)Saa�>88�5///.{{{=~�߈D"���������,�8a�E3B������`IL+++^6�0���huu5�Pxg�����⨈YI���ּuuu�%�;;;��� 1�R`8�
��&r����3���X31LV���ϵa���H��@�3�ggg�TQ���H���)���Q֔��%yT�j�]�`�*C�
]]] F�u��Us���Svv��L�( A6
z����%9䊅!���[�����`+
�q�l�Eأ� @M�B.�K_^^���1��������Y�=�#���v����T[[��*((��U/�N� V���^�p+**r�����S2����&�#�������
�[�V*..P�+����Jjoo�||e�<�<'''�***�
�+������z-s\IEND�B`�assets/images/emoticons/blink.png000064400000001677151171034260013133
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<aIDATxڬTmlKQ~�m�v���u�X7s��lM�����
A�؟����"�?�QB,�de��cV_۰�1�3��X���s�sn�ҭ"�IOO�=��}����s}�������U�46�qtw���������U�K��Κ=�ʔd ��F3���u�����)w�d,�5Öj%!��q��s�>O٦�g'MM��-�{���U���)oٜ�Y�
E�(aSU�(
�U�u`��=�ʹ�_����ud��
7�-��
A`H���8K-�1P�0}�ƕ��ׇOz����֙��/42l�y�xeYqX.(L�d����=(��ͯ��,I��$�`�`/a��g
ɷ.���GBa7�4=�z�=��4fS�~]U8��:�}�����m��Ϡ�W���rmm~��c��n��X���Ιy��=ߗ2�|��u�!E�"��F�V��Bn��u�s���Ң�([�^��
R̳��u�?���O�"�F�F3�� L��{\bS�MMC�'u���������U�G�Vʴ�L_OA�xӅ1��;{=�t�����a���*��2������1@^N/���ٌ
��I��*s�J%�K.r 5�� Z�T�-^YӰh�ں#P��A�+
!M�Κ�Hbr�o:PP�2�Bd ����^�1�����������^ܘ�D�I02]��zg�~�mt�Aބ!��p�������sM0ZEV~���H�T�������tkz��F{J\�%lvk���i�9Yd��3x�\�
�~��]����0�}=�:�vf��*�6�)����S��KPߥ�Y~���+Q�}U_���lՓ�63ǟ�p�]����C�$��<���IEND�B`�assets/images/emoticons/blush-grey.png000064400000001346151171034260014106
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڴT=kbA���рU
U,�@p ���m�h��le Zڧ_�J#�]
�D+�
�?�BL@̇Ѽ�s�&����^��yw�9s��1�N��V7�]X��\__��y<��7a�r18����p
������d/��
�~�ȧ��H�B�vvvh}}�ǟ��������NOO�����r_�,���^/�L&�X,�8?���Y�W**
o@���3��MF�k��������8�L2�4QOr:�>�
���~~~�W�U�T*��F�FC�www�Z���E=����l��J��M\�|>�c��ё��l6����1��if������ilnnr]�����@B,����k�E<��� v��1
t���B�������z]��*���1(���)�][[#�U%l,���(.�T*E�NG���`>�L8��S41�UWWy�fee��%s��\��cr8�:�P}��n��Ro`%�(<\�I=b,(�VV���V���uCm�pY������������>HB�d�lNNN�ܥ��}�d���j��
J�&�L���
w8���՛��q����m�c
. �kUӴ����:�������
�����y`��~ 0E�mC9A_IEND�B`�assets/images/emoticons/blush.png000064400000001544151171034260013142
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬTMHTQ�ޛ7�3:ZY�"��cm�E�-[$�3��'EQ�D �"JZE���(im
��Ɋ���q潹��v�f��y�����w��U8�XΡ�m�N����[[ǧ�&�߶�)�th���rw�3�R �裛{;����\��F����`�dOFSh�u8L��� x��b��B����
����t�5�ƽ�(����D[Q@v��*��5ŧB+Q���%�@7m� c�q����a
fm�J�'��Gi�9K�{N~�`ٱ�!��5jH��M
��r����^��p3���iֻ��o1�
q6�����j9��Q���2��������K���|��/Й
��z�*XJ�\�B�xH�0p�HM�&X�|g�X/gT�C3�z�Gb���4K!4�6z�K*���W����N턏{��b�
�k(�Y��t�B���@�KOƓl�NT�+�jxKN�]&A��0c��|��ɉ̳$l��N�Wʥ�����|�K4U�I@bƘ)ى1��E9@R��Ө
��e�ɳ�w9�p#�d��B���,6��_�+E�*�Z�D�
��6(�>%s��fS�� sƂ�Ւ�}1$n�@آ7�,S�L��4�)�v�X�4#Ű�H���W����<[���꼡��Rx+5�IJ,��]����VG5�$Ͼ�����@ �A
R?��E��|��ܨ������.�~�Jp�w��k���6M�{��ĥ S!���}���_
͉���
IEND�B`�assets/images/emoticons/cheerful-grey.png000064400000001523151171034260014563
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬT�KbQ?���&��
�A�"K
��Q�j�X��E����-ZH�p�?����6.�������,���Xfu���^9�0s����s�w�ݣz{{����_m>==U�lll8���m����744H�e���;��ܼ\YY�U�U)���F�ѩ��U��fA
�����$I����#2::�������������&�A��BYY;{}}�����rp+++<=;;���>���
���t:�bgg'TTT002#?���y����D"��7662�,<:T�B����>���4
����J���L{tF�kjj���
�f����4Eu瀙Lfdww�����.�i���1V�g�j��[�VX__wamG8`2�t`�x��E�ʥ!@����������DQd`r���I�ť
�1�ë�+A��}`"_P���1�;.p��HgT/�ft!����q02�YqF�`0H���3+n��s��lwww��8
=����/l?�]qZ�ɞ��������BGG�&�aOOO���}��������
���9�f���<O�3ħ����A�����]T6������G���|�e�ͺ�����^
noo�O{hh���9(1���Fzbb"XUU��4P�nL}���V���erXXX�P���i�,�JQ�J��b���V0�LPWWǚq}}
���p||$�����o�r�"��Ņ@�F�����쿮wh��@���IEND�B`�assets/images/emoticons/cheerful.png000064400000001633151171034260013621
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<=IDATxڬ�klQ�3��}Q�m�tiE[�%JJK#E�$$>��H#A��G"�D�>H���6�D��{u��.�U���^��q�;ô[�n�Lrg�����!�����H������Ɔ:gW���:՟��Г;{I}ʤi�q&Kp�Yn��]ŗ/+k�=�.�m��3R��@d�@
��-!\��Z���de�����W��?Y{t��R;�W���,��oDI�T�$�|��|��۴��4{Ι_�o:[�wo):��M3���я�Q��<�R�(��2���ۋsw����j�$M�P��� �Z/U(+)�:r�m�x����G3y�V0�0X��1݂y�_Ug������Җ��E��3RU<�B��w1i�BE+�h`�c0Ѱ�(̳��)7c��U�����$N��zk�(駖��FF3W���Յ:��{ՙ�eVK�~�
�e�v��C�g%��w�w������t���Z�����{���DCQh@�!]��)c�ʱ�(D�Y�XU8&)��[�
S����_�$j���G�W��R�:0'���9L�Ez@���D���f~�TO>������?wi��]�7.p��!()��G����8D�ɸ�.cS��z]ajzvu�u�u7z�,��Ȉ!ag��
~�p�i������Mf[p��m'�|�|G�
����8R�e="��D�z?���2Ơ�nmu,sY`��f_(F��B�j�x�M|8_w��]�d���<J���-���O�W�֡�������մ�3�9������0�|�P�R��IEND�B`�assets/images/emoticons/confused-grey.png000064400000001335151171034260014575
0ustar00�PNG
IHDR< ~�tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬ��j�AǏ�xERE�BDw�0`�&��ERZ�"�Y� ��}��N�/�QAP�~w�?�|��%�́a�;s�ߜی��憄(��f��с|T'?��Y�����@_�z�ΣS����#%]����_lr�a۫�ld���~���������~p�\d2��l6��t:T��(���x<~e�Nj
)���9<i4��D���8l�\�p8�L&`����
�`0���tuuEr�Q�(���^/�F�,�R���$H$��dR���-�{zz"زK!LZ
�E�Q�����Z��5`�F�
J�R�N�erT�e�!A,��~>
b
=l`�T*I�R��j�Ɵn��&%V�~I�[c��ڍ�û��|n4���zL6�4(���z������ľ�Z��ﻴZ-O$r�C9����`F��G�b�țm�Zq�K�=�v�X���v�����J%��f���`�2�N�^��!Y?�f����-ŏ�$ �ǹ'��F��dB�J��;�������xw��jzyy�X,ơts(��l6�}{<{i�N���7�DT
@N�P�r�|ti� �N�ɪ��Z�:p*BA�2�^�?#�\���6��_ߣ}�~0ᮼ�O�IEND�B`�assets/images/emoticons/confused.png000064400000001314151171034260013626
0ustar00�PNG
IHDR< ~�tEXtSoftwareAdobe
ImageReadyq�e<nIDATx�̔?hSAǿIn��'8D)�!�$v���C���!ó8:�
q���!c��4C��Z0H�dp!C+f�$ȣ<�=������?5���r��]>����!;yy{�1�wo�>4�ޅ�+��R�+��"��,���4��0�����/�Ws��q);�ƑH0�4���G��6$�.v �t&�
��4K>�^���wH���p�{.*M|'�� ����ɕ��⛕u���s�f�Eio��y��v&ch�e;�R�>�QT�W.rY�&P�J���^_l���F(cÛ��5��K):NGb{G���^����2B�Z���AD���k]�c곌>8�H�^�����`2�Y����zwU��4�|�weA��b7
=�,\Ƞ��C��HR�
�r:�7�c������
j��z�W5�ךR�M
���RH�^�X{��g��n��S��(��!���O$zJ�N�_vzt�:]�V�¶ҤPc�ST]y�sNi�Р��
Տ����y�]�u�M^���1�gnS���
�i��R��+�Y)$ӏ8��Ӊ��/���J������K~F�l�X%�e���
�l����e���jRuy÷�IEND�B`�assets/images/emoticons/cool-grey.png000064400000001601151171034260013717
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<#IDATxڬTK(�a~�q�F�Ґ�
F�m�Ia��4�c1Y�!gccee83�P�-r��[��۸s���kN��y��.�|�<����g�|||���-����WVV����bcc����999�����AAA߽_�gggE��ö��ikvv6%%%�^__i����iyy�t]w�����L��o�⚮���������BBB��Ϗ�������������p�VSSS�8�� ����n������,0�*�T������455����#>>������P��a���g���@�W��_�SXX���
���!�egg�dmm����Luuu�ț��餪�*�wOOeffR����ةi�/f833����QCCo������Y���䍕��j977�㍍����NGGG����լ��VR���Z���R:??��JT]]M�9Doo/]^^��C^��'''���p.:"77��pm�IPD^^�:H�yzzjVq��;00��ue=1?88�������f��b�I`�P�?�=??s>==������
v���d�b\��NjP&��l6^��������ˤx���!��çJ�2��05tvv�����ߓ�=�>�jh6�GSSS]B>V!n��-�a}}��6�noo9��E�ŗ�+((����h4~�2�
FH�����
�^\\����v�k:::Z��40(,���������}s�m_���d���aǀ��+\UXX��O����w�]XX��,a--lFF��5�����|L�IEND�B`�assets/images/emoticons/cool.png000064400000001705151171034260012760
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<gIDATxڬT[HQ�ffսD��ek嚲f��E!+QL"j�.t�!"H{��A}*2�z���@#MM
��,o���R�Je-e5wݝ��Ιqw�ED���s��|�7���$ �ST+�]N��@WfkCuJG�k��p����"�c�5�&e��FWiK�2KNN|K}Y~7��z˒��CT���@H���!zz�x��Db�Ų����
�T�[�������D�����C��p�N��x�qHpL�xVmG�Զ��l1�,Y8��/5?g��,�d��
lQr�!H�G�K�%Pn��:�G
��7�97G�LY�p��j�_�NOv�b�u�4X�U��`�%q�qPiY������iS哢l�ˡ�%e�sGfoS��l^(Ҏ�/K��"��.;���)q>~h�8[a2?�6�W�����e�
L�am���T�`t��Q9tɎ�ל�B˻��'w��1��_�W%!�a��,����"8PaX��ӽWG���yZS�������
ei�F �e`�B�W֫%�Ƈ��
[�(��)�@�������h�%�d�I3�!�ױ�08$�������z�()@�?�uNm��D�fD�a��vj뚃�H���ׅ
�wB�H-��3�M�z��>�����L�}���m.;�'/�覗E?yIf��5��Bx�����h�bS�=�D��RK�n�̂S�`U�/�ig~��D�h��v�>�aJ>UF1Vl���3���n`��4" ?KZ���t~�Q1�_�z+���t0Q�����_�si̜��#�&��a�z_UdIWa[�
=aI�9b�o\@�W���_+
�����؝�Կ��*���豨��>IEND�B`�assets/images/emoticons/devil-grey.png000064400000001723151171034260014073
0ustar00�PNG
IHDR�tEXtSoftwareAdobe
ImageReadyq�e<uIDATxڬT9HcQ��'.(*2.Q�@�]q X(JRXd�
�"$XY�N�f�QT�L����E�Pи�M�4Z�
*y�2_52�\��w�;[�1�"x555���xzz���>�-ϯ��!88�����EOeccA���;888�"YYY���sx~~����w�=��(B@@�T*���g���pttD������DŽC|vv�{���5���#��r�@�TBFF���n"A�affƋ��5�BA����@LLdff�Dq���2�NNN�f�1O�hZ[[Y||<Y�����ߟ>ԭV+��!''bcc�d21)����-�����p@II ��j������A�������&''!??����6���,//�jjjf��ב�qB��ö����������Է������1�V;����,#��{JJ
�������t:0����g���PUUE�eeePZZJ.���|=;;s�<����Tʖ�ॐ�HLL$���J�J�.c��������:<<���#������z�$��ի�+��+J��i�W�A��g�X@j%�ap�e��*E�N��J��\��?�K:���X644���#\^^BTT�K�k���º@����W�%��������x�閖�����t:�`0�E^�V�3s�;^��%�ill^{���;���`%ӹy�!��lfSSSTt�φ�����Ej��H1���3����ॠ(,,���6��H8���"������'�3� �G�~tt�nbbB����D�����+���l=����G-�����s����4v��G���.h4����r;��/>�|��f4�
Z�����S�?�o\��Ϗ�/�?�`�-�ˌ_@IEND�B`�assets/images/emoticons/devil.png000064400000002013151171034260013120
0ustar00�PNG
IHDR�tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬTkLTG�f���
�
bq[Жڵ����(�D�bB�m���(�m�I�ֶi�#m|%���jmZ��/Vk��eA������l�.��.{w�������IN�9s���3s�a��i|�3��N+,Ș�]��x^�)��+�����ߵ�6ިD�Ӂ��D���NB0�7,ĕ�oٝ�kho����ȍzݰ�8�O\�:�$�H��|�k<l���$�4�����jm<e�������|��V+T�ڳQ 8�x��s���1��L��ӑ�����k�$ԝ*c-��!"�:n���U�`� �fĊN���5��~/.ʀ�Ⴇ��8�=�df|���g���_�ކ]rt�A7`}=T-F��Z�w�Aw���,�\�C���_�wr曵զ�l}�`]
S��`˓e�Z���;`��Uc�.b��z+�:��m�����To��`��
nX�;a���~2�{a�E8�u�_��j�����*)6�,j���n~�Bu�����X�5�����'�7></&*����t���O�3a��jY6�gw�d��]���F�ξ�$1���<��� ���&�7G,�^i�(@Q���G^�/�FFǵ:�#|у����-����զ>e�o2��&CqNAd��Vɜl��h�5E�r�a��'�?Q�e���b~�2�����걏��-_��>��{��{
�f]�qϿ���W�����/\����'��PդCbjA��P/\{ks��u���/)s������\G1X���Q+8���l���O7�Ij��~͋��I�)y˅R���>K�Ή7�.�_�my~:�NM������y��x�_g?���E2�m+��u�ȯ��[M�7����o,3��P�5���u��Տw��:�O����;y���q�T؇�?��ڳ�IEND�B`�assets/images/emoticons/dizzy-grey.png000064400000001563151171034260014143
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬT;H�A�� ZH�
�J��W,��5�O4A��D,�X^��t'�l)"�D�/P�%*�6�����.>"wp�0���~3��R���d�������"��}{{�zzzZ�����d��mii �`~~~��Y��///;����HV�TTT���$ 888���M���]]]���������F�������2�������J��tnnn`ii ���b^����
+���vO���-h4S�T�����L�������������ʐd���ɟZ�V�����\����p8��OMMA2����kX^^����������vww.�K��b�����ܬ��������I�p�@,5F\[[�766B^^��v��f!F �\WWG��wvv����Yu�9�3_��jaLN�!tx~~^[RR"ȟ�����V����#Ny����t1�aa!ʭVb���g�E4��
�8(ߣ��J�mT2��4����������I�:�N�LwQv�T:��2���h�u��>�Gn'''`2����f��X�%`d�� ���033Ckb҂��~I�RpO���!��$lV�d�وd�ʂs388~����`����Z.���ciwx<����6#JQ�3�̱D�e���bccc#L:�/�Cqq�eÞ�:�ʹ��6660ۯ���
�$|���PZZJ�rqqgggptt���n_����5X,���
Ѧ��pMM��5��4�+�+��IEND�B`�assets/images/emoticons/dizzy.png000064400000001676151171034260013204
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<`IDATxڬ�YLQ���.�֨+R\��&*6�h�F�� V�y��O�K���1(�Zc�KC]X�@#"�,�J��̝�i-`��MNf��;�=���R��9�9㱈�}GK��'u%M
��=�o��?'�
��x���
��9k�i��rc#�q��8���{ֽj� ��Z��3�ֶ"p��_��l��Ls��w�Ɗs'��,��*ڶ5��&1G 3Q��p��+�>�}����㳭�+���]�8�T�i�⥓��٤��s �D�(��Ġq}E�S��g��g�{T`,:j�x��%K��ƍS���p����{o��G����!$
6(��°��f�ޓ�JNe`k���I4ڔOɻB��x*�yL�-�
=̣}��toi:mkyV.�xydžGwKV�0A�"����p.�Hy��`��u<t�|�kKd�l
ܷ�
�8��?[��QZ�h���{�Z�e�X�bޛ����7f�Y֧��5Y
I����a��Ӛ"l*�7)1�r�2$1���z{*��:f31U�ʑ�g�~@���
Q�@��+0�@d�Hq $*ah��<#7�m�N�˖(��K��~tn��ݟ�&�����G�>B��-b��5~X�r����(�/q�i���m��i�\5+��]�pU|���'��2����'��{���#�ܮ�F�&k ������.d( #�J���5�����jߩ�4�)<��;�E�=tFԧ��|Ta�@dQ ,o�o���_zc����^�ّ�� ]�C��F�n����������1O��YX2Y����D����%8J��}M�`�{oW�"Zˬ�A��w
�_�7�o*,��IEND�B`�assets/images/emoticons/ermm-grey.png000064400000001553151171034270013732
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<
IDATxڬT;HcQ�h��F����P�o
E�m�(��FH%�����
���he�*ج
hQ���D�S�>��.&�Ȳ;pIr3�̙�3c�u����?�|xx�}[[[k���t���Z8//O���\���],,,�%%%Ebߚb^]]����y���\���d�Z);;�^__)��mllPSS�l[[�ό��_dg����PAA�����RRR(..N�{yy�sO���4??�������j���ooo���v2��r`�������nnnhkk��������sss���稖��)OCC��qm��vSGG����d����nJNN���T*++���R���uW�www;����}���D�������>�����M�}>��r��X�pee����������i}}�|���ROO%$$ț���P)s-L]5�8��|o��O���xqqaMOOi���(���&''U��B���V%l\���4@�~�;���^�W�{�����������b<�M�x~~���G9�]�eff��Rf��s�$*��6�68��@LPEEź����t{{+�5�/�
���a�?<<D9U�<:����Y���bq@oo�b711�R`$�I���UUU�bYD�^(jw:�6Hs�zBJ}}}466���8�����^��E-vp�����e�:3��h���apYEEE�/�������rrr�����������^_�-Xf�8??�2�E�Ղ�W{`xB�wt-IEND�B`�assets/images/emoticons/ermm.png000064400000001706151171034270012766
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<hIDATxڬT_LSg���ڢnQ�I��am�24h�d�1[�Q�/<,.����m Ƙ=�����Ѝe#S;�6
*Ј"����~����c��~����9��#q��>ŜΘL��z;���l�����y�w�!���e�-��
���\ݘ�i��~W����c��K?ֵO*6da�#y����/���8~
���v��ꋯZ���Z���='���nua��/�a��
��;�HJ�#6��Ŧ1t�~t������p���|2��?z�w�6�����9�.�$I"$���`�&TeH�_�I��e�{�x�P�b��,��I��3?�UU$���,�l����kp&,$���}�0�M�,0a�6�;����u�S��]7k��H1gK���|F���96�;�[!:�˿������5Kc��z�rӧ�,S�X������M3��m{�L2,V�b�4V)G¿x\�V�^o)��Q�gFG��c>p,Z(�����`1�*�������ӡ>�+��RU%�5#��K�@t�ؚ/���W��N�����gC�̐-�t=��@�a1�R�Pp�>jR�R�|�!giA�H��"��I,1�O�4�������3t
(([�9d�?����RcI�)rf]���"p5ʼn#
�q����'n?b�m�5�������&@8o�;��g�Ռh,M�2��@�Ut�1��K�Y��A`���ޘӵ*�L�G�'K�qpW��kuK�2�w<H�ro�+��v98�=Ν^�Y2���.@��X�?)�J�~9�^_���"3J���'z���TA�Ch@�����W��j��wkM���$���n����'�} yݤ=IEND�B`�assets/images/emoticons/exclamation-grey.png000064400000001504151171034270015272
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬT�K�A>����Y�-�!�2�
7.܄�r�?�n�E-�T��@*�
�]ԪH
C�"Q>,{j�����=(�����|��9g�oDooo�?C�ź����ggg�\.7B�Z�6i�Z�333�}}}!\��?(z_���k���7>>CCC���^���5��i���0??��zK$�?_������՞�����\b���5
F����j������!�����x�B������N��l6�T*�b��6�R)����������V����D"�������.V���,.NMM,���C[[
�pzz�cEl�*��耱�1�!,�@��q��������fggg�|u:�#S�L&�������srr����8�gA���2��������)F�Q�&�D"їk���<5
�b1�@xss3�C���Z��b�B�8��ɂ�'�!��lq
7Y�T����l�f�]$���$///,���@�V'�
�+&ZtJˍ�M<
���<�A�!��������G"W��WVV�wvv`ww�UD�$�L&�8���z��@
:�T*�h4��z{{abb���.'�\^^��n�Ï#�z�����i���(�W�.�U"���4��BckkK�^��P*�666V�Z��ً?����>F�Z���R���~_�Pȧ�롿���N�o��f��x������Bu�%q��;88��Y����~���k�`�4��doFIEND�B`�assets/images/emoticons/exclamation.png000064400000001765151171034270014337
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬ�[le�s��,UhEp��R�)�v���JI+
��5Ɨ��J"�&�Ƌ\1��7�&�/��b�$l��Rl�Ka-ֵ�Pji���s��f�t+4���|�0ߙ�w�w��0�a�iO_���(������^��������婪`}<�yWg�J����H�� N������_��9�y�ka�*�x蚁�A�~W��ؼ�Ö���]�}A`�^o�w�^WzG|��E�,X�1�t݀�Prf&T�tNB���h���7�}8�����?�y�qOF�=���Ș�3$�<��u�o��,i�>T�ՕC[�8q��S
kݙ$���D�Sb8,����,�GU��z:3�_�b&c�{.����G0�D���ñ�|.#P� L�FS�gި�s2`9�&y���yŪ�p�{�����8D���:Ӑ����ֺڈ��>3�]���q�Ϙ���.g�k�����K!ZM������J����Y��j?���!�`lp���c!�W<s)?.bb�x-�
4eAtF����9��k�C����SJ��L����-�8f���{���fW
�Dn��arJG��+Rv����x_B6E����V̦Y�s�0�C}�ZC:���m�K��;c7dd&U�%J��U�d4
��W���1|���y���M[+;����@u$�i�Vol]S�^��+Y��c>�ai1���ی��-a� �>Ҥ���>
��[V���j������qr��b`�N��Z��-�P3�#��)��,M:�a���0��x�h�a�����V'<^�lAj�
h�rV�4���Kǘ"&�������W��xCM%�U>ˊ"
#�u�#��b���O_�v菾�M�N��;B��;ր-+Omxy[���tU���i�?��_J�}�IEND�B`�assets/images/emoticons/grin-grey.png000064400000001510151171034270013722
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬT�Ka�Ċ H%
���Ċiƃb�z�
=T�x*�M/�\"�V�b/JA/>P����~D!1���ng>��(-u`ُ�~;�BExM{�əL&�����<�<==������h����[SS�+))�����U<�0s����sss_�������z=�GGG���
�����f�mll�]PP�<��Ύy``�c0�*�
����b蹿��D"�h�^��?����7b4�ONN8���mjj2[,���f`
��}�oooh,��/,,,�r��g�����qc�ۡ���JO{{;ttt�Z����\0�Lʲ�2��>�"�ymm����ᡈ���`P�f���+a���M���SSSbss��V���h��������Q�O��U���%D"��r�\�R%�h`�)�L`R)�Q��UH~
��yyy�A����dx�#.������d���gwwwo����%�Z��z�L�y�����Ϝ����h4�c777pqqᗕLr®1��հ���y
�����4����i�f2�A�@<���e�����wqqQ
С��A�[?\]] �@`���j+Mz��ǀ��D�|///W�zzzҚBo��I� �������](=(..θ��v�i�Zg]]��@I�d�cjq���+++c���Fzv}a�abbB?;;ۆ:�V�t:�8�~�����t}}�.�����^�0�ר����IEND�B`�assets/images/emoticons/grin.png000064400000001650151171034270012763
0ustar00�PNG
IHDRrP6�tEXtSoftwareAdobe
ImageReadyq�e<JIDATxڬ�}HSQ��{{snn5-͚6C'��f̈́
%�B�ZM�B*!�ꏐ������H���S)r*e��Y[`n�ӲLk���z_�{c����w���;��s.%�"̔0��a<8m2��^w_��g��A{�l�,�Q}��3i�MoXѣR�Nsҥk�%`<���+���3��Bo]�9�d3�[
����!�,��%��]��-�1v�d��a��NcKC����jc�9h�����\\�X��^{�m1a�������i�7/�f��Wێ��3�DM�؆
e�Gx�X�4��7��ޓ;���0b�ӭ�u�����D��m>Xo�ESDe(�
k�Ԅ@�f�U�1t�GC�_t�C`ngw^N�Ǻ�<r� ��4��6%��w���ֽS
W�T
����"�o�`�^[y�Y�G�)!��Ĉ����&?��iXf������\�g�!>�
�����??�����}��)(k�[�h�[Ae���ҟ%�T��р����?Y8��<V��PH�Z�^��ܢN��IA�\����:�.�I�|�,`�~)���
��?�
�'X&��_K4�A<̃���n f(,��Nd:<�()���������g�11w�,
�I\�DUf�o�`mFp{�c7�DŽO�1��p�J�X7�'�OQ0��'�8��Kͅ��9$ѿ����X�0�2��$�Rj%���V�[�u�)��p�iԛ�~�͟n
k��G�{�)�]
*���#c�z+B\��a�9߀n��?�?�T���znu�<*���&T�Y�|��
�M���M�ﳙ�o��'��IEND�B`�assets/images/emoticons/happy.png000064400000007605151171034270013153
0ustar00�PNG
IHDR��
pHYs���o�d
OiCCPPhotoshop ICC profilexڝSgTS�=���BK���KoR
RB���&*! J�!��Q�EEȠ�����Q,�
��!��������{�kּ�����>�����H3Q5��B������.@�
$p�d!s�#�~<<+"��x��M��0���B�\���t�8K�@z�B�@F���&S�`�cb�P-`'������{[�!��
e�Dh;��V�EX0fK�9�-0IWfH�����0Q��){`�##x��F�W<�+��*x��<�$9E�[-qWW.(�I+6aa�@.�y�2�4�������x����6��_-��"bb��ϫp@�t~�,/��;�m��%�h^�u��f�@����W�p�~<<E���������J�B[a�W}�g�_�W�l�~<�����$�2]�G�����L�ϒ �b��G�����"�Ib�X*�Qq�D���2�"�B�)�%�d��,�>�5�j>{�-�]c�K'Xt���o��(�h���w��?�G�%�fI�q^D$.Tʳ?�D��*�A�,����`6�B$��BB
d�r`)��B(�Ͱ*`/�@4�Qh��p.�U�=p�a��(�� A�a!ڈb�X#����!�H�$
ɈQ"K�5H1R�T
UH�=r9�\F��;�2����G1���Q=��C��7�F��dt1�����r�=�6��Ыhڏ>C�0��3�l0.��B�8, �c˱"����V����cϱw�E� 6wB
aAHXLXN�H�
$4� 7 �Q�'"��K�&���b21�XH,#��/{�C�7$�C2'��I��T��F�nR#�,��4H#���dk�9�,
+ȅ����3��!�[
�b@q��S�(R�jJ��4�e�2AU��Rݨ�T5�ZB���R�Q��4u�9̓IK�����hh�i��t�ݕN��W���G���w
��Ljg(�gw��L�Ӌ�T071���oUX*�*|��
�J�&�*/T����ުU�U�T��^S}�FU3S� Ԗ�U��P�SSg�;���g�oT?�~Y��Y�L�OC�Q��_��
c�x,!k
��u�5�&���|v*�����=���9C3J3W�R�f?�q��tN �(���~���)�)�4L�1e\k����X�H�Q�G�6����E�Y��A�J'\'Gg����S�Sݧ
�M=:��.�k���Dw�n��^��Lo��y��}/�T�m���GX�$��<�5qo</���QC]�@C�a�a�ᄑ��<��F�F�i�\�$�m�mƣ&&!&KM�M�RM��)�;L;L���͢�֙5�=1�2��כ߷`ZxZ,����eI��Z�Yn�Z9Y�XUZ]�F���%ֻ�����N�N���gð�ɶ�����ۮ�m�}agbg�Ů��}�}��=
���Z~s�r:V:ޚΜ�?}���/gX���3��)�i�S��Ggg�s�K��.�>.���Ƚ�Jt�q]�z�������ۯ�6�i�ܟ�4�)�Y3s���C�Q��?��0k߬~OCO�g��#/c/�W�װ��w��a�>�>r��>�<7�2�Y_�7��ȷ�O�o�_��C#�d�z����%g��A�[��z|!��?:�e����A���AA�����!h�쐭!��Α�i�P~���a�a��~'���W�?�p�X�1�5w��Cs�D�D�Dޛg1O9�-J5*>�.j<�7�4�?�.fY��X�XIlK9.*�6nl�������{�/�]py�����.,:�@L�N8��A*��%�w%�
y��g"/�6ш�C\*N�H*Mz�쑼5y$�3�,幄'���L
Lݛ:��v
m2=:�1����qB�!M��g�g�fvˬe����n��/��k���Y-
�B��TZ(�*�geWf�͉�9���+��̳�ې7����ᒶ��KW-X潬j9�<qy�
�+�V�<���*m�O��W��~�&zMk�^�ʂ��k�U
�}����]OX/Yߵa���>������(�x��oʿ�ܔ���Ĺd�f�f���-�[����n
�ڴ
�V��E�/��(ۻ��C���<��e����;?T�T�T�T6��ݵa�n��{��4���[���>ɾ�UUM�f�e�I���?�����m]�Nmq����#����=TR��+�G�����w-
6
U����#pDy�� �
:�v�{���vg/jB��F�S��[b[�O�>����z�G��4<YyJ�T�i��ӓg�ό���}~.��`ۢ�{�c��jo�t��E���;�;�\�t���W�W��:_m�t�<���Oǻ�����\k��z��{f���7���y���՞9=ݽ�zo�����~r'��˻�w'O�_�@�A�C݇�?[�����j�w����G�������C���ˆ
��8>99�?r��C�d�&����ˮ/~�����јѡ�m|�����������x31^�V��w�w��O�|
(�h���S�������c3-�
cHRMz%������u0�`:�o�_�F�IDATx�t�Yl�e����:[�-�*��R����#��pa"1Dc4UC�
ڸ��D1� h.Q�����"��M��ehg�����/�5<��=��9�8�pA��x�-�����#�UB�3��x���l�s����*rC ny�@���� �ZBcdM��Ekb�*"�)ۣ�'���'Ϝ�z����俈�ko�Y�&R�r��˟\%G��m�<
<dH��p��n�͕;��ʺZ�A����m�T��+��?YFL�\0-��PTKpZ��q�g�Ξ�'�����<=,�ࢦ�/G��Y�۸u%�k9�J+A ��%:���t
���s_hU������1�#
��0mUþ���c��?ҕ,`t��E5tw\�U!�ڑ�t
DS�N��Ζ�3sŌ�C�0�vAٰDV�\��{8��ԠOX�뛛�����[�b�K��Xn�r����ʴ��d��'�d�2�T�q��9����W��L���O?"~�M���۩xK*]X�[ߧ����Ϧ�����`x����u��2V>v���g�y��g����y̭��
�>�㣥��cǎ�k��4�@�SS����exO$�v�V/��'e���J�����z/��[l�������a*���E��Ϥۇ��;��`P`�|���tHj(vP)�@&�����i��;��R�>�nŰ�>��7�>���͖c�A��x,��@�/�&�&��9���mI�f�)Bi�V��Op�b
�tww�h+3Flt'��� ��k#\�z�
P�4��%�9N_�_j>J@���?��p�̕4Z�NJʂئ��!%RH���@��ys�"ԑ$����V��;������+����?��+��4���E*
B�AQ1���;���D�!�W2���>g�����{*�F��9��7�nՋx�i
�.���o�w~
�d�ߴ6�r��t
.�hgr��ڷN���W��#��1=�@�n�`����D"Hu���-{��Ln�;��,Q��嫥�-{�v6�e0�#��R!��0!�õ�m�g�u7�\g'P�
n�,ϊ5K��h�9����t����2��<����f��)�/�r�D��B�R��H���vt
��w@?�k��ns
����^5LIEND�B`�assets/images/emoticons/idea-grey.png000064400000001637151171034270013677
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<AIDATxڬT;HcQ����(����F��B��+AR��Vkm#6����bl�T*����AQQ�bD������9���.���͜�9s�^^^���棣#���w����vvvrq����Z���������a�
�4������988�<22�.**���l�`zzz�����ܤ��E�������yL&��!���icwww{||��������i_%"����X:<<���q��� ���v0�@BB�[���Kg[[[������X\\��<<<���
���S~~��.--���\�����}�׀澾����m���h4J`ii��z}}M���R���mooSVV�P0==Miiiަ��/��4��u�l62�͒=''G*DBT0���<B{ܑ����{ooυ�899�())���0�EGGK�O�&@?��\����3���KJJ"����9�
�D�C������W���{��"�a9��M�scbb���dKſ;B(QC�QSEu��WWW����~JOO�61y���p�pV�p���///����.���JՐ
@�������������n
`ZVV&�Z?}���)Qyy���W��`耕��c)2��݉*@
�1���B "%������(CR`���0���Z� A��̤��b�8$��P($�����2�ï�jhh��j���`���А^\\���[[[�.P__�Q/ϛ���䤱����ecWQQQ���H#55U��AVLK���#11q�����4��͍}�D��@���TVSS�u:����P=�,TV�y�X�3�\�YR����%����-FIEND�B`�assets/images/emoticons/idea.png000064400000002266151171034270012732
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<XIDATxڬ�YL\U�w��`Z)c�g�M�,*0h@�
C0��cS|���ч>����O!�h�4MH����ʤ��aYfئPf���Τ��[Or�9���}�O ���9�Ň��O-�A�r۱hxh���25X��\�ד�r�e������T��_*S���SJ%��>
<to7���i6v�WW�P����h
K&�iT6]�o��;^�b|&йf����rR�uﴟ��
�Z�~Z���Ji��ݵ��]�G:ۥ�=�)N���]t������M�u�yu�
����90@�D�f�G����8���
ar2��9ە/�}���k��p�|ʻ���|��XWQy�t#�:U�!K�\�U�U(�)�`:ru ʊ�����F��;��Rd���U��>{����XDɓ�����<�y��tD�|@%"����RH��B_���;���yC8c꯫��#��$U�)�,�Gb�"��S�M�B�Nb
K�L!AN�1fMu���h�XM��E1�$.H�3�j
1>t�M���fR-����G�$gQ��Uaan�<�wmdǿ�D��
˨PE�B�OQ`=[��Z�'M��;G
'2"@q�}Ƌ��(*X��?6LcD�
(7\+����H�$�i�������q������xV d�
��[p���X~��]]ƩP_m�y��vciG �5�0���l��`8:UJfP��auˁ��L�i�4M�w[�
�!-�ύ/ט#�}˰�o��,��(H�,�(j��q�7&()=���
��'<�'��@��0�g�g���;2�� �^^�J�Eh^m�<N��+�1�=f�p��r�*{�W�u�?��c}-�]����MO�=��;�I����V��m�'~x��8��,�L��hkx�n���)sX����ҵ��ݛ�P�J�8���z �r�d����;fa���bt�˟�|=/����ۈ��;�
�����8K�&]M�2>��Gk��e1�N����ު�����O<���n�[
3�:Y��w��a�Mϵ��`.%EL�(x��>���,�]�68IEND�B`�assets/images/emoticons/kissing-grey.png000064400000001527151171034310014435
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬ�9HcAǿ�ijR<��$jb��ӀO�U�#��[o#6�[(6[��&
b�PH�QTD�Hc4x
��G���?x�Ϩ���d���7��.�����a���}~2��.//���ɉ�+++��ͫ�������HNNN:s�)S��Ņgfff
�jn��������+������SWW�tOOO���d�K�0�6:::\]]��|$��l&�`>??C=]]]���,�
���?���=���?����DV�������������$�A�UUU�Ԍ�����p8<����jiiaeF��d����l�^PP@��������xxxȗ���}��֖����i����~~��yyy���J+++��Զ�6�3��a��R-����%U777��)7!F��70�����<<;;�}�G�w���Iy�����.����Gk��T�i��8XVV�9���W~�������r
���&$崻���L����������QA"wW%P�_�tssC�t�O�82tbb���P�A���l�)R�P�h��"B����"CS���O���]�"�^��mpM���쐢(�v�="����龾��H��6]^^r�������o��A���a���7Ƨ�addd�������ɕ�':���"�������پ��絺�:n]����ktzz��<�/ݹ?�C���7X,E@8i+**�yp�������+�_�/4�
�x��IEND�B`�assets/images/emoticons/kissing.png000064400000001670151171034310013470
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<ZIDATxڬ�[Ha�3{��+�.ZZ��ni���UL�#����ҋ�Co�S�dA�D/�P!�ʤ캴Vj[ٖ�meZn�e��o��MK"j�3�����s�w��SU��2������Vw�k+�y��~|�d�r��%��+7ud/X�jM�E&j������|��{���lu��l�δB��1���V���5nܺ�!=#�ڤ�7���'��>�8'���k
ΤSe��@�(���hjA����g��w���!��p]e�n�ZV�o%���qD��1�� *C����m�C�������"��-�_>w�v�Zɵ���x3���S��'OњRL0��ҬX�āu�aW˅㵬�0�����w�SY1
����R�%��t�q�[l�L+��QQlC�ͳ�0�o�����R�(E��h��h�&ljhibf,��<|w[�
`����!�)�X��1?�x��:����Όt��M���<7�27e%�U�;�ڀO�A��V$�n&��>k2ݟ�,�B+�R�"idy\kΜ3?�E$50��j�~��L�!�U0<�
cvv��Tz?�A������5Z�kp��{Q�%`D�4/B"
��{
`ɚ�l;ſ�CX�L-k0ݬ?�5f��ú �d<������-l�_����3�qT�4&i�;. �jd9=��ćɏ�`�3�����LqD������O�?�"�Y�@&H�
��0bC�d�Z����~�e�I�=�Ye������iT*G�'q�s�&?&_�[�=��f,�eFf���!�A�YHFiuݟ������k�o���͜�0P���_������PxIEND�B`�assets/images/emoticons/laughing-grey.png000064400000001541151171034310014560
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬT�Ka�h|E=i<D%�h��"�x�5T�[B{�"*��z�TA<E/L�`���^�Q�+>���L�e]c[h?�ev����E��QgS><<hvww�E"�������ȨR����2���mkk[6������J�y����';[ZZ�h4BUU<??������������i�V��M@4vMNNz�z�������
''����ixzz���{������E8;;���>���|{xxx�=22�d�ZA�VCnn.�
��R)������k�������
WWWs���jfff<������&�����?�"N���!��������4;;�!�٘�omm����Ž�=���]<>>f�o,����3a�
"M���� ��8�@
�=|����G$?��Q�h�\^\\@(����)�b1[}}�+��(u�0#�1������Ʋ����A�܆�Ċ%@�I}F�Э�0Se�>c��1) lhkII ���qu��QzJ���g.///C��.��z||�x�]a~�(V,KT���XFR���-y�tnnn
�LB"�l�e �5h6����hjj�E��N$�Խ^/;���6G�B,,,L�Lonn
(�[8N���Kl||�{�"����-NO2�r�������@����-◄�8��-���f_����䬭��N����&دprr�+��p�y})��ꪴ`IO���9�����_���uְ�IEND�B`�assets/images/emoticons/laughing.png000064400000001641151171034310013615
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<CIDATxڬTILSQ=��-�� 4J%T�T���)F4(1D�V0.ܰ01�SW�Bc"1�w *�ƐP�81��Z�iE�AAQ���>�Т"Fo��}��;�{/C��$�lB?�U�t��jx��h�3
��\���#5#�9=sO}��VeT�g�Yf���#�y5�o��خ[�25X��B�V "twsp��xb�¼�de��c��V�� �����s�u��C�@�b���{D����g,�{���=��y��͋��i�#���](�-;j!�M�c
S�M9�a(]TO�2��{�)h�}w���e���d�S���|ꇷ���g����*�,���?2�j���ß
W�P,d�qC4�'���\+�8�z2j���Px�C��RHN�bB��K�}�w
!=���CO�?Ց����DA4q�7�X��-ϫ�wl�@ECdت�R�"۪�E��=���Qok+����)dP�d0'+`i���?6����|1!$bD�Ky��
��m�zSpx�S�4V6
0�T~"e�E3��V�R��e̴��u:eHԑty"qD�,[��<<��@o�U�Z>ͫͪ�,��bt\����vz��0�K
�%�C��\}<R7�lnٶ���k�q�~ހ�o���h�
�wP��j5l)��{6�����v�e�Ŀҝ3J
���;?�YG*E�0`�J��[t��ι����oď��1�ùqc��v��Qmx1��W|�BĘs8$)��}Yj�42���U
�W̙�^B�;�������h�f1'�aX�B+�(���a�4�a.8���5ۀ}�\k��+�M3�݀�W�)��]Ć��IIEND�B`�assets/images/emoticons/mrgreen-grey.png000064400000001237151171034310014423
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<AIDATxڬ���yQ��z�x%H$6Q�!*Q�$����Z�Ԋ�?
t"шx��
�zd��w�{ݟ����d\�̜ϙ�3��˅~S4����7��L�w�N��n���A���
���p8�c��Xw*a�n����d��ٶZ��R����% �UB5JX�X���wr:��R�n6%��tT�V�j��U�a�B��j5�l6�xOaC�T*I%��rA*�,��K���~�z�����|����y<)��xL.�K�"�p��˾�f�)�)��u2�L�U���F��f���d��_#DڝN����b:�z}%���F��4F�Jm��-�l�r�ܷ��|�@�Q��ERF�J)��n��l�i�>�����D�H�h4J��wB�����I���n������2��k2���
�u8�&6��p�P(D�@�y*��H&��N\t~~~���V�i�a0�>Kw�t����%��P���n6>�T*u�ݼ60��j5�1,�j���\�:���x�<}�|ɡ�X�Z����b�5�+�Dtʯ��B}��c�IEND�B`�assets/images/emoticons/mrgreen.png000064400000001647151171034310013464
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IIDATxڬ�{HSQ��^7�4�h�b�*�,,K+�b�=}�(
�(�EPb�Q�°E��hР��3Q͈�a���|�S����tΝ�m�=���:�|��;��a��Z�,b>>8������bxe���;�Ա<�,��5��Ek����I\�W0
�a4���y
�*�?yc6Jr�x)�߇� �/V�,���EU�����6;WT��T,0@�WH��y�!!�$ߜ�Ҳ:Ӗ�s�D��7y�չ��b@�V�������D�'A
U*�5G
*��w�E8���������Q�d@Wc���|��][�~O<�s�U[��>�M�<���֒���Q;M�am�; ��(m�0�ϟ��+�U�%7�ss�!�yxɐ��ψ�~���_��t-ͳd2��{:-۲�2�?�
E.�����l��$q�Nnt�Ƴ��2�pO���9u��y�Ò��uVd)��p^1���D�G0�ʤr���7FU"'�Vib���i6�#2
�����w���*� �
����6hX��:��]῀ҹ��=�z����-η����ʪ�FE
9m6\�wd�R-?
x0,�[��9�]�ye���Җڊ��,�'%�5����)f���aϼ�Y$��:
����Z�u9��`I���I��:
�O6�4��A,<��!
�̎�ǛLO������Ս���MW�X>��M<p?����0<�a����٥�&뾭g�c�c?�4ض����Gu��]��O�Nbab�GV�*�rC�U3=}��?�1��
���iIEND�B`�assets/images/emoticons/neutral-grey.png000064400000001431151171034310014432
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬ��K�Q��Ϸ=|�D�����"�Z����h�0�?
\��BPp1R�f��5>�
�R�G��ʹ�Ᏼ�E.r��|~��=�������D�T��f�k�b��l6�2��+++��Q��p�oooP�V-�p���d�j��V�A�R���
]�J����sss�\.��H���+�R�M�߿����[^^���y�^��Cpvv�xvww�����'
Iϲ���s:�:�BAa��@�������(x���dip�z�Z��@
�Z����|�F7X���
A$�3�Lu�v����rr��6;;�Bs�ݬ�����s�@@��9����&�ɵ�}ex����h4��\.fff�8�0u�<��t�b��~XF,��|xa]�n���i�~������(���G�Kp~~�|uuEu����9���J�^��?{������2Z��x<c�D{42�������x$�yyy (����^__C�ۅ��s���Dv�R����rEc��,2;������;����h@&�����5�2�>�I��l|PgXl6k�ibd�t����r�hri�k�Ij�
�t[�T��k�\\\`D���
�a�>F$t���m�DȻH%���Q3��SE��?���0|��`���K
IEND�B`�assets/images/emoticons/neutral.png000064400000001627151171034310013475
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<9IDATxڬ�MLA���R)-�D�BI,Tă��hLl4F���HbL�J�'�!<��B4�
~���J��
A��ni���3K�ZN�d:���~;3�?�Qi:��}��,}�UcCo�}c���LNb�vd�ڽ�{��gZ��M[:��IO6�3Cw�
�FEL��*�ܽq>^tجzde萞��0>.bxT����N]�J��o�8���%Q���Y��s��kL�b�&�:À�Ȓ)"CHt���+��b�{O��������ݷk��^N�&�� �ˮI��eDBQ��DLO
hj���Ͻ�R��
TS��Ycw˕�ΚU�.�GwǮ
��X�9L:иce:�^���:W?�=�o��R8�s$�UԎ����Ă���>�Ca� ��4ߡ�{�K������~z��YX�
p��dW�N
�EX�H��'ّ�b��'-0�/�H5��)�jX�i�++��S�n�@�y�������Q�,Ɉ�A�(0������}^�W�$D��0E��lD"*��?e��}z����W�E�q`��;��^� �ˀ0/!�b���bG�h���{�z��C�Š��ގ�1�ӣ<B~�1 a���k�lNJ�8y����� ���Y:��UH�L��AL���L�s3�`p��M��1
�l�檺;���0B�
���Vf������-}@��v�ﶹ5����ԒnS��Zo�9Q��
=��Ѡ��L����
b.!;k�6n��b��U[��;=�w�ၧ�y�T���2-v�J� �L�~���b��W����2�IEND�B`�assets/images/emoticons/pinch-grey.png000064400000001521151171034310014061
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬ��K�AƏf��HVH�J%A��.�ڵJ�\�m}�-[$n�Y��.�,��
e �R˾��30/V^�p��A��33�U�Z��94�~|zz�]\\L�R)��ё|yy)�T*�����;����M�V[�\����v2�����xeY&��J&�����)�����)���ޘ���e0�������l�y<jjj����������G*����E777�P(�$IR����jraa�'ن��H��p���<�|~~���*��Ď���d&������J�` �h4:?66f��T�������H������B������k[__�ǹ+������c�8W����6�E���N���lvJ���GGGy`(��b_�>������jzzz�P�L�̤+��b@0�b�"��<ex}}-���~�"
kkk|���{:�7.)@a�z�7�`G���|.l�;R�F�1�V���Wn
@��c`����xyy�6�/�P��w��L���]���v�?@�G��Ix�
��o�]7+L�d��b@�R��<*�
lG�c[Z,�́�����]*�JtwwGsss�b�X,,�NNN��
0�>=��e���#�I��j��xve���}h�����E�^oc����n�P� �K�#E�m_�D�����ơ̯T((���������"�`��A$䵷�gGFF�q����`�u�`�22�w��\IEND�B`�assets/images/emoticons/pinch.png000064400000001705151171034310013121
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<gIDATxڬ�YLA���m-���R�`lj<"�(1x�M�&>�1Q��'��Dc���^( 1��W<*�R���S46V���ή�Lq9�����ݝ���~��:��a��
��v�?\_��|�5x�`�3����}�Vljʜ���g���L���ǁ��7�U6{�xV�H���xȴ[@�:Q���ݖ0�7�.۾�|rJF�o���Ξ�{dQV�s�' ,q"1��SUuT�HP�k�!�������lG�_�C�=��J��zt�Ң
Xp�D��$���R�j����=����y�`��\����ﶛU'+�V��e�
�LB35�V��d��h�%���&'�u�T%˻�i+�~V呤D
f�J
m�1�����!P��()�B����0��o��]9s�0����Z;H['@u42ޚ44����l���k��Gu%����U��C$?�A��&�CػT��i|�g��@8|���-M.�a�cV�09�)6Kۇ'�h��i%02p@�]E�4.<���1�x���T�v|0�ة���:����O#
h
*h�[�^O�����j
������!
)i�~XX,�^tD�b}��Y�Ⴥ���"�ꨯ���W��h�������E"h�~SP��&���q�54D#X�a
���
�W
O�S`��f���-�]�x�+�ATD�ݟ��$<&��~�R��T�W28W�f�i��N���0�f<9��9?4-��"X��
�&M�z�6��ǹ�m�x� �4^,\���_*�K��9Lm_O�Ny�9&�K��j��7�B�0_���Cn_�5�V_�k����}n���U�w
�_��Y�"�IEND�B`�assets/images/emoticons/question-grey.png000064400000001561151171034310014633
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬT;HcQ���O@?���H�#��.B���+�qm��S����,�i�Xh�()��2!Q��F��((��;3p/�v�ǻw�sg���;�O�|�����p�B!��Ɔ��䤎���&�)d�XV������>������ž��4���,�F���<���pvv����c��rMk4��^]]�NNNzJJJ�v����A�V�������i������5xxx��b��o�d�f���MMM��jL�R�>����3<==A*����m�D"������Z�������
���BNN,..Bww7`�j�f�{�yAA444PI����!bm������l� g�all��A�������c�����y���S�����Y~&Ykk+ �|���q�G�yyyP[[�@�&I�>�F��Me͔FM�oWW�Q����J��bf9����:��OF
���p{{n�[� �N�ʦpɳyI��@__�&:���
q��צ��"ޤ ���Ȩ��r����=���%�Q���}&-*%�ƕ�����F1+�D2
rl�HJ7=>>r���&J@_Z��(U"���!c(��������g.q���GّJ�r�*�����)��������8w����///���;N�GGGp||��b�d<�;11��mmm,/�
�\�c�0��Q�����s��/��/���CEE�qq��$tvv~>��\E�:I��qy�VWW'p�����~����`��R��D7IEND�B`�assets/images/emoticons/question.png000064400000002045151171034310013665
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬTmLSW~�mK���pP�1dZ�l+�"*��-���쇑%�˶L��?~���ɖ,Y�t�?�1)�d4)��b+�Yh@ZZz���{�ι�t��7y��9�y��_!OR��!���T�2����-:�B��l}��&P۰�S�퍡yF��{Βǃc��f[����q}�J���
������i�'�����ٹ������I����#��o;������sꞢ�i�tR������}���V<���C�����z��o�ߊ;��f��&��d�F�c^J+
2Ki��$1�^�;x��'��\���b&X.�����樣���Q��G��1To�/��O��/�=�ES�
uyh�<���Do*�d\sw}�e!��
"MW2SE\g�f�'{;����[U��
��"���&2>�{�R=u_lin2Q�\��fP"��+U
���"tz5=���h�Q_�c�=��p*�슓eSM�J�r$�����9���S�©b�q^ǣ��?~ՙ�����mE��*#y�mሌ��%���{�Ъqd=T˂f���j������(RɲW��3%�N).�XX�lXS�t�G&4)
U��
�VB�(#UP�Ԇ@��-u͞�>Q-ZY�H�q��qpeA�.�%c�M�g<W�Ó%|�iϐ���xDBJ��NQbI��Z �[�R��I�4M,���ojb8�S�ј�o?��D>۹�53��zL��
�C�'��K�հ��QJ���\ρ�߷��F�U��ޡSW�m>�7������D4��;2�@l>���������|�,��z������o����W[���uń!*�5��~�������}��cǗ{�d��[xT�q(]���
��W0Ep-�a{�Ǐ��;s�f�(m� ��^�6`+j[_��I,��}�}����%o���IEND�B`�assets/images/emoticons/sad-grey.png000064400000001567151171034310013541
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬ�KH�A��fe���E&X7���Ma���r�w�L�Vw���Z���*h��
ы�ɢ'A��2{9�3�L���w`�f�|�}4�1��K��������̹��ٵ���^]]Y5
TWW'����[ZZ"���+�����|�ɤcyy��F]����d2���;\^^��� ����\���]YY��W
��~���bQzzz-���~��f���
2��R)X]]%��ccc�V�5(!���������E�`v~~�Z[[���
C���~vtt�������4�7�Vp�E��`0�iooW����en�B��70~Z���y�x<PZZ
6�
���ŝd90�H8]����E��a"W?�����`pp�z=��
[[[.bH
��E���(,�����-RF���N����"hhh����. <88PE�s�ʷR���f����U �������K��&NdZ�����ݝU @uFB�Xc�%L|1y�r*�|8�h4&�����]�U"@///�*�h�۷��8�$�\k�]�M2�I˅w1d/c�E�^�j5�����/@
�t:
OOO|����lD�uVP�R,suttp����aff�gR�L��ECCC0>>����]C��D�O������@�JJJx]���bF���������:���������p�|eeeJ[[^��B������!�����$N���+����誨��J�a8+��p|?�Ģa���I���^__�[UU��ᱍ'RSS��������!�2f�'IEND�B`�assets/images/emoticons/sad.png000064400000001734151171034310012571
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<~IDATxڬ�kL�W��K��%l�-
b%Q��(,%�TM�˲˗}qN#��|�}�ٲ��/�Ĉ1�hl�
n/�����ub�xc�x����9�s��U!�q'y���>�﹜�<�����v�LČC���W��{o\����Y�yQqe���X�rC���ʗ5�}�Vz3±�W��Ć�?y֮���r̦,P�
��~0��oN�ӻ�i����9�Cw>���TG��n�z�)c�?�R�A*JWp�}��ҁ�(���4ry4t}���h+�J������6�ґJ#5�۴�ح��EW)��C>�6�v�#sh">a<{���u)���ld�3����l1w���4em�w ��<�n~j>�ƚ���s'6�s����u{�<��\H�2\MCf��QL C�ϟ,�ƭ�-ù�ߎz8C|�~�#�y�����4l��R
��4,��
!3�<Gy&z���5`oO�ݶ��G0��eQ��79��\��2���m׀O=����4ۙ
fRNs��=[��'aKZc���~2@ �*�3��4C��{ML�=�0֟�^"�����I��&�3eΙ$T�I
#{A���Ҁ�9��C�2�D�(��ȅ�x���g�QE�(�^�.�����M݇����i�O;G�nPB��g�_?@�
�*�ׇTl߶�[�U�*?����4��Pl�1��#���Q��B��p��v��'x�nֺ������G�t�oih����*��4ʐ�d�0IXT)�&Xt�S�{�ę�܁�������s�1d��0B�-�F�j��1X� JK�s��k�V��L���:��d���=a5��p�[�{|�6`�:�l���5-���w��^0��i�-�IEND�B`�assets/images/emoticons/shocked-grey.png000064400000001532151171034310014402
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬT;HcQ�h�-QQ,�DQ+�Q��Qh
�n��ZX.h�
�[W%X�+A��4>�X����省�H��.�/�w��s���i�?��������g}}ݽ���zzzj�zyy��p8�mmm��������s�������;??�}eeE�D���TVVFoootttD��������`___���������h������̔=& zzz���[Z\\�ᱡ��555��ONN����ѹ�9m_koo��k��������irxϫ����G���O�ͦtww���
10Y,���MNN���qi(???��������(�G���)�b����OOOSVV�����$~<��Ճ\]]u��Z33;):V�8����z��
����ֺ��4�o��!i�8�I0����?�qvv6����L�������Ņ=M��dR� 7?�1��x� ����5%:ӃS�j����+�������Pqq�j0ljj
G�QGii��������OMM`9��ajll].W�{����I [01��>���{����Ģ�ܯ�2��P����.q��zz���������@��V�[*�N���F����$�{`�m���a8p����F
:;;�[�:��R��`�Dp����p�p�r|-//+���2�xD�������J^����������
"ZW����x���ʿ��j�u���H�IEND�B`�assets/images/emoticons/shocked.png000064400000001700151171034310013433
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<bIDATxڬ�YHTa�w�qF%2Ӵ��j�T�Am# s�H+��
���(���)"���zI(�H�I[l��r��i�\Sq����}�N7W"�s����w��B�?E��b��
������em^g�#s������'nr�g�;2sv6&�M� Շy�r�3�/���v��^f�͉��
$CAD�ۏN/�xa)<U�c����%�_]�W/9��؛��d�p!�7"R�xwk��_�s�܍I��
Lz��J�k�L!�ّ���4B�҈ԛ��y�Ld�!�<�M��ő3�f�o���e�?�E��t���45��#9��
��G�?£�qS1���O^>�j�av�O���7�m����
�����mA�Q��G=މ�Fm�yYa�zr���%����m��V� �I)�AU�N�Z��:��
:����S��-
�5悻�
�s̈*˖�S�Zt�4�U�Ϧ�(͜��*����y6�,�0<�6�il"��K
��aV�zW���@텹},g�ju�kt���Ss��OS���a4��
���$�M���Kp�fd[��噫�:��P�PN9ʶچ�dP_
)<D��}ҳ�;����jlj��G#�?xY�ij���s�O �'E�E��&��o��>�&y�ʆ����0C�{��uBV&<
�ld�I����{��1T����s�l���e=m~�F��� ^�X3#ee�����t}��|de�e�%��)�c�nK�&p��]���j�Y־��۸`8,9�^�\�Y�k�#�Q���a�D8�$X�O�y|-6`;�f:M�5�Ive��n����`����`CIEND�B`�assets/images/emoticons/sick-grey.png000064400000001557151171034310013722
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬ�;HcQ�'1���
QD/�4��DL'h���Z����N�f�@*�4; ��6�����߉M|��6q_�;p�ͽs��3�1����4��^&�I��~���{}}����TC���R��p�8�ι��ʙ���D�^Cf��H$�[\\����QEEY�Vz~~���c:88���r��ᎎ��%%%���edd�_VVf�x<d�X�`0����F�T
����q@����h�6� xtt��������������)���677ikkk;|+//�U���'���D�h4z[[[)77W�z{{L83|rr������P��W�ٜ0�qoo��#y].�K2�L6??/laaA<��������(??�jjjhuu�����kkk�1���Hf&
`��G���
̷OP��
���֦j&---
��ܬ��'��i���hT�T���B��`2K,����J������k*C�x}}�� �ߤn{��9eڂ$�
7����_�������
Ⱥ[��ݥ��G�MX� �Q�% �L0���i��ńt��QB����;�������[�uf�v{��D777�`hn||����hll�����7t���H��544����zCCC��G[uu�-t����uxxHggg����魗9�[l<��p��`�,���}�A1�����8��Ѩ��SAA��Pjƍ�����ƷhAo�����ONN4H��M\�_����Ja��IEND�B`�assets/images/emoticons/sick.png000064400000001726151171034310012754
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<xIDATxڬT]LTW����]�Z��X~���%H�6M��J�u�)�5� �Sۧ�Dc��4��6M�ҤR
�&M$
&��.����Bw�eﹷsz)+�Mt����3s�;g�a���U�y��ť�}`��z_���Q�|��;s�B���+�K��:3��x�Y��d�QM�˾�zZ��U&��P��U���19�11�!�q|_S��`c[n�[������4|������n7�)�v]cH�4,&4�g9����9Z<�v��*~z04��=�n}�6�*���b�|���eOM��u�����\8��~cw7v|v�s��n#��d���qַ��e"#�A!���/��=M�|{ y2����LC�m��W�ӽ��<���ݟK�
X�FD������z.}�6688+��|�x����n�۵ۄr4Q�����Z��o�)�����65�Q�1fvxCj��L>�lf��n��1p���y�|m�
��W�����_W��j�fF�FQt�
�*TT���� ���*U�T�V�'#,x�0yʱDF�%C���[]e�-l�'ED_J�H.j�-�������F�4$�)r�E��A�*�*l�'���4��"�
����k~TU�pD��$mr�R@]!�F���6�3?OU):�)�*=~�Z��S~���'%;
:��o���O8fx�A��\�j�&|³*"s�A��=
�eow�j���p��Kwka�S3�3E�M�r�(_1]F6�x���<�;���h�5�C�v��"V٩�$��\��3��!�B�t��>���/xs�9�6��!)2�ff'������W���F��tW?x|_��h[1
ؚ�w{���}Y�G��\�1�,�IEND�B`�assets/images/emoticons/sideways-grey.png000064400000001530151171034310014610
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬTKH�Q>����
k�n��(۔Q�Ш]�
!p�N��PвEA����YY"�Z$�T�
��{@D��s����jf.����s��x}}���T�|xx�f2�ፍ
���^��ɉ��&�)������]kjj�YUU��x�������Ғ/��{zz�l6��h���g��r�J�hww��v{ddd$X__��)���gfff�����t:�e@�a���t}}M���t~~������$)Tx||<��\.��j%�J��J%�������nooy����ɹ��o���?,�6
����-���TYY�ƣ*�����#�VKmmm���jYXX�w��2����������-���ȟ�������hkk�
�ʱX�a��!����U>��7P��ܧ�����q�B�;~�����fc�q9ó�3����S������A�%/QA�+gĿ���)딆������pF
8*V�X� ���p��Lw�D"�?BgOOO��&��
~�'9��������
R����Gh��w���|���ec}O�o�S
�����M:��K&*)Z�!(��na��^�F��������tuu%;�������佌}:�����$+b���٩��Z2E'@�C�1�����P($'&&��D
�q|��������`0�^��2����)e�Y���d�]�r����M���N7�p�
�8��?`�u�`L���jXIEND�B`�assets/images/emoticons/sideways.png000064400000001721151171034310013646
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<sIDATxڬ�_LSWǿ�ZJ�H�����:1ij�fԑ7��}0$���8b|�=m�nj���t�-�h�lѩ�Em��?eQ���9w��[��d1zr��{�}����0�.���EUI<���s�����y�`�W�{-�����T�����|eg^�35]�L�ptd0���-��?�����
'�J�`P�D"�������
_�7l��XQ��ܬ���ަ#���\��m��> �f}3�Cg�S�1
]c�+���w����ʓ3����m�okI�5�.Hy&B8�_|��2�r(�6��':���8cߴ�[,�0-��Mɼ(��ǃ-
龪l$Y�`�F�S��6lB��ǐ�yX��/��9�}��{�����=���
b�Le�LCV�.5=�� d���j'n�q"$�,_�x�v}��|�A�����R���z�� (���&PaG���
��g���o���p�福UV:���j��'D"XQbGG�ۏ/�.?��-.�-�I��L�t9��
8���x2��N)l�S~��`@048����d�ҙ'e���O��<n;�
C�ݓ�U293k�CU@O3���P<�,��reM}���XJ����3cSaB�U�b��4.w�VU�k�m��Iy�A��e��GCDDc6
�@m���NP\��;wRDa?��D�D{(��v��KH�d֤e���� Ms�(�?-�{��7�7�>�#��J���/��=v>V�ޛ��T��7�τ�/��eFT�]5a�42'&tc���-��>���B��*�0S��ut�T�,��9Lo_W:�B�%2�ΓQR$���E|��,Ihl������9����,ڒҥ�J���ێ�$L���CIEND�B`�assets/images/emoticons/silly-grey.png000064400000001415151171034320014117
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬT;kbQ���4&A,"ƀh��F�be�i�*�v��1��D��E~�Zۙ`g$��d�bDR�<1��3���n�݁s��s�;3�|3��x��$�?3��jV���7���f��y>�Y2���lֳ�����
��*�
������8��4�����X�V����TJ��z=:}}���g�d2�"��N��sloo�d�X`yy�������"��qx{{��<���M�
��f����nr�@�����*<>>R�`�"�Hs���j!}�E7�F�����VNNN��a�h����cl6�pzz
,J����www)Ճ��B�8@"����KKK
��A��Og����j�`�I6(
��N�n�x�FvttD�`���0�L�����]F
�L�P�*��2�F~y�Jx~X����H������x,|&9�
��B��:��$�y�T*����h4����'������WWW���)�r�L�4Y�D"!����rRD�^lI!B�N�P�v�M��צ�&���T*QF�?�{Jجb��A���|>��?����S�������F�x<7L>&��LU|yy�)���P(�5�bqv�M�3{�d��@�TN�aw:Z���8}�_Ǘ�h$�b��c�������������z�
����b�ڪ
�ͦ�IEND�B`�assets/images/emoticons/silly.png000064400000001433151171034320013153
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڴTMHTQ��{3�fT4dT�Z�?�W))��Ha-�E�h��0�B�EmĈeP-�ZT.""!���Ȳ�(Ŝ
�Q�/u���_��Px�{��|�;�;����yV�����6�wg�琑/�-y�����]'j�kŐ�r�ǯ;nV(KFv�j��f�c
��7:v:��V��H�R�CQI�O�
�%�o��N��aLhx�|���Og6%`���S��&CR4|�1����9��L�Aw�u�1���4�%���RV�L�m��-$λ���_�/*`O�W�Krv�ZS6��2"c.\YQ͖�,�&"�.?�gI\���B��Iq��^ʊF�&�x�oa�,��7��lu:��2v�C��0�U�.+O)�-�Dډ,2mE��mh�>��b�[�K�(�g�A��I�VL7���G`��7(z�Oc�6�d�E?�+,��om�,
FI����')�d1H��7��įk��
;bab�:S�2�]���ݒ
A�������g�(� ��d��t
u�8Y��I
���5-!3���ۭ���g�nWޟ��q�D��78X�;�x��� G��^E-���c��%��f(<�sH�x����[v9��%2�iޘ;{ք5ϗ�E�Oi�����fH�ɔ�Z
�Z� S�&k__�e����`D9r�F�XIEND�B`�assets/images/emoticons/smile-grey.png000064400000001475151171034320014102
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬTMHbQ>�,�\$��
�,[TF�ЬZ�0u1P��o9�Fq2w
���Ѵ�ї�b�h�"V����^s;��gՅ�{\��w����x~~��\�6���3S*��g��b�8���������ѝ�����ުJ�z���qkkkm�k�٠��<==A�P����d2���l`aa�N��������!Lb�����$ ����!�HHX|��G���R�d�x<;4d�ZA�T20A�r(�e�^'I�(����;��Q�#�V666֦��X[[t8/U
n���noo���N�X,���?�8Cxzzj��r^��8-Ύ��>1��0666���(L&�v:J�d��5�kP��r(Z[[c��<#D-����@�-:./��
�|x~~>��h�mnn�P�w���FC2-U�p:���f
)(�N|uu�=�$2@�^���b>�EI���V�}(��&]]]�i��<���A,��)3Y^^�`0Ȍ��y
D��mě���j�Z�2p`#S/--A(���[��v ٤P����o�Fc��Z�,D,��rғ���*��Y�j�Q��'=�
^������Ot�@�"��-��X��B]`H��J��>z͗�����埜��� �[���/�,�d2}|}]\\����aooo�����alɈy�J�r\.��L��������+�_�� 0�ϣ����IEND�B`�assets/images/emoticons/smile.png000064400000001626151171034320013134
0ustar00�PNG
IHDRrP6�tEXtSoftwareAdobe
ImageReadyq�e<8IDATxڬ��KSa��}�W�f*X�4
�P�|i&)�H��D*�$�~�Hz���^�D�̈4$��m�e?�˙��p�R�������s{�;���?y�ܝs>���yI�`���?�S��?���n��2���>h)Z��̍��6���7���7&j�u*UQAI�50��e��+��H��7��pWM�n$%p��c�nadD����k����t�YV�&
n�f1�^6�{~�L��և�`h%=�N�,K�jt��MU���S`��m�e�+�"u1�
B��J�#`����<Y�g�L�;�Y-&�;�Pۣ���3ją
`iUh��o�G�d�Wq@��9��x�ֹ�WC92��ב���&9�'IHN�v��L�`����~�*�X�أ�pOw&�7�a�]Ƃ=��Ul<~�W@��A����y~�ϡ��H/|c�J;��`tؚ�-:fsU�dj�E��UtG�&~"�b �B$�˹x?L�������Jr�FF�X�ेL��@�����3�CC�n����W@��/:��H��d���=~XZv����!��_l��4��ҊhK�K<�^�!�.��ÿ�ڴ�NSK�u�6������7�"d)���<��p-�?(Ro%����l����rQAR-kn�=�����'Exl\q�TE6�~�ݬl}X��
��ɒ�!t��J��m�Vd�0��b�
�����f��aho��
sY23R�lE��%p8$���;,�G��Zr�vy5��}5�cFc�l��|�g�Y2��|������cZ݁w���u߳Ͳ�5@�G���XIEND�B`�assets/images/emoticons/Thumbs.db000064400000106000151171034320013056
0ustar00��ࡱ�>�� ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������
'$
!"#%.&(:)*+,-/701234568B9;����<=>?@AC����D������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Root
Entry��������0a���#�@n256_8e65b9d01689419f*����256_669f186d0c087eb8*�����256_bf6d79ba6d8e7497*��������
O
��������!"#$%&'()*+,-./01����3456789:;<=>?@A����CDEFGHIJKLMNOP����RSTUVWXYZ[\]^_����abcdefghijkl����nopqrstuvwxyz{|����~��g{4 "�ፉPNG
IHDR��
sRGB���gAMA���a�IDAT8O��]lU�3�t��a�%l��������u
���
)J�JDy�Kc��}�M}R�L(��cb�H
F�4Ķ6PX�*mY��ර��
l?v���ζ�b��̹3��s~�c�=�i��?�@E^vO�2r��a��`
��^N�J������{�J�m�-p��x@�<�3�
�=�yG代�=;QU�BIqL�@"��oY�YD����涷��/�ԟ��7���C�}���Ҥ��O��!�,���05ڒ�����}iL����y�����ל������CuJ]�a�\���`A`4����Π:Դ���N]t�>���m��+�����o��Ѽ[���{`s�
��`DL̓Vks�`w3-,���x�bY��s�H��*0��X�D�D��q^>����f���{�M\#`�[�a��h�sa�ܗab0/x����=���;�]i�����l���)����"�M�b
�?�6�Ǣ�j�v�-��I��~,TjMr{��i�D�l��Ł�o�(/Zo�b�Dj��A�gBjK��C�}B��L��*����K�{���C�LR[*7�n�,Fg�'vj6����ggj7����&��9�t����&�܄��A��Rh�@:c�hcI��|�5�R�Y�,�4�ų�]9��`��l@���_�1קTT!W�ߵo���|�9d���
&�'t"�≝�TY�qiR��U`iYuo�ovg��U��W��hv��4�������}�;̏]��k
��wc�pz�^}�c����_F�!ϫP�ss�,z�z�~{d�v�#;�0��a�7�8�Q,1����P�_ ��d7��3 m_�Җ
,���wE�M����aEV���ޮp�̎ʍv��"&�t�gؙ%u[:��|�H~���nMM�-��T�&�w�� �������IEND�B`��t:XS�PNG
IHDR��
sRGB���gAMA���a1IDAT8O��O(�Q�ό�_��OJC������3�4�IV���[��d9+�4�QOQD
��/�O ���w��w��z�ީ��3���9�{�1|~~��/����q��������[[[���cֳ��4�ݾVRR����3�
!��nffƳ���䍔��K������C�4�677��������KII��k�Hpoo�5<<<���mmhh������������'������9����c��ňE������y����6�����tv���"���[�t���R`dd���!��a���� OEE��sD����a4�����TPP@���֩�)�9/����Κ���씍@UhZ����������%��A|yN0D����Juqq�xfo��ܬ�ߡ��v#��$s��VC'@�UKK4TT黺��4�
������,���aQ����5,:�W��0'&&�ܤVy{{ӏXVV��4=e��JL����i�������o�6LNNʌ�p���NJsjj��D�u�����'G����9�v1c`
:ؠa��lX^^��"����1V)P0����"�wO���:�b��rA����u(���rI�ttt���~T���{��١��"?���7lkk�qq`p}}-O��v�����K���tuu%z�(������E.�'�9��khhh0))�ZYY)/A��E:p���uD��9(�R7==홟�w���Qff&��f�'����������#��v�ܾ�p$q�I��Ɔ�!�eddh���k���n��&D?���ERIEND�B`�7IV��h���PNG
IHDR��
sRGB���gAMA���a�IDAT8O��]LSg���E8��R����2#�g�Y��0f7v�dK��.��f�-���$۲ݖ��d`H0c��f�*E��4壴��!�}�y��o�!�^�ON���yO��yB��80�Q�9e�Icd�㮻�e�C����[,5�چ�G��*l�Z�!��2j��Gs�ÿ��e���3�>��;5�������Y����Oo{[?�:x��+Eϕ��S�C��m_]j�����͓0E���c�B
g �)+~��@h��?{��b����1��������~�v"nk���AQEa���eɤs��z3 ɥ,<�z\�s���Ų��EFΤ�?|�q�9f�ۍ��TP�����(1
�w"�pT�1�Q
�5�h�9k�RG:72��Î���P� *����<����oD06!q�F��ƨBS�c���Pp�|8��nin�ӷH��
cO�����a*,�3@���ߢ3����s��0��n5��d
�5��h�ٸf��q�dޡ�Q%��"`t�v#�s�|tr[Q!_>�9�k
���������:c�����IDa���HŁ�J*ss2�B��I��B�fF�����Ř�Mfk����gW]�{�?�`���rQ���^2�Z�+�v}��wTk�m �M
��2��&�a;�������sH��Lb�e$5f%�d%Q��%\E&�V�mRgӒ�,��m&����i$ᆴ#�;��b,���U�wWן��$�Բ�t\F&)C��&�e��u�f36� �$�H�h��Ȩ���V���X�ӛ��:��`���M!��A�Q�'�$���/��,��<���|.~�֣gb���2c�����O�^���^{E=IւL��@J�>��N�$�yD�6��__��[?V�:�\=��/�QY*��X��A�pV�8=�;/?���*6`�#��N�ޛ�3��[^���c�e���?`����y���6iIEND�B`���&c��ՉPNG
IHDR��
sRGB���gAMA���azIDAT8O��_L�Wǿ�_[l�ѡT�#��!4u
J�������F�>o{�f�Y���e�Y]4bB�d*Run@#"dHDP��ߟ�9���",˲��n{﹟����s!�O����{�w�߾�\��q�7<�{1���E˫��Wn��u�[k�2xbrC��>}2����Ǝ�W��
�XW�F^N�)000���8�D��4�}��o�,�o�s��Y���{����ӵ���=Yp�P��0�
FL
6��l�$z'��o�(,����J>�|~��TCPh�_5�256_b99d5a73f0a57e4f*����2�256_b3dec282c1f0dc80*������������B�256_d09be29e973dfd95*����Q�256_a791af02a8467265*������������`�
E!}(�UZ3AM$ z'2�37��?;>���D*U�1������D��VY� �G���cv����a>
E*�*�^\�xg�����?�l�3K���u}���B��,��5bk�4����C�Sαϯ��3��H�G�v��G������#et:+ߚ����בZS��� T�
�[��ą�/M�+����>m����<VW�eCiL7�U`M�]�V�I�#���I_��tK�x��S��Fd�J
�0�--��9J$�=���-��-�7[��ٹ����EN�)z
eK�r��t�pcڀ��`&,<�2�l��(�J��Nw��bL�3>5�S��0
b'�]��7�3d�|��vfI`�Ɲ�mwП%a�� j��y�%!���s��O�'���������+`AQySi�G������W2c�J��=��>�k#�&
\�- ��`�̚�z��1��,.�J�G��ڥ$8w�}ڄA�t�[��f��C��O����R?�k\����8���ѯ����!e���F�ɠ�ȉ��Pf(��c�FM�Y�����+e����`�,ڼ���
_��]��̀�|�W].�IEND�B`�pg������PNG
IHDR��
sRGB���gAMA���aIDAT8O�T9H�Q�x�4�E�H��"����g��6a+�-Ia�E�F,���b�clVx%(��1���#���|����5���/��}����t]����������Hı��k?;;3㼮�.f�Z�:;;CMMM�����\��;«������O����v��Z[[����^__���b��������VVV~�yU���ёkfff�������P^^�|{yy�qO�������?�z��/���1bd9�����9&��l6*,,�����^>>>R:���}Z[[����~���O����8??��h4PQQ�����`"Mӄ����鉒�$]__S(���2mrr�cqqqJ.��\.=��'���ǿ�=G�wuu�3l���`0�
采��lJ����
J�N��677�#�GFF`'k�n�[R�^�Å�al�poo����"!�{$D���Ý���3�\\\����� E��9�S�����h��&��ϒ�@
���e�������
х�d���l�Z�GuY{5�3�2�B����F8`#���-~5[uu5���K���)H��
E=����P����9�D�H$(�J�C��\H`-���������`[[����Nwwwb�K����411!$��a�#�y
�ʔ����x�z{{-�Uii���jv*Lx�<c����������-==="�T�BD���
�����T�ZYY��kjj���BHY�t~~N�+������K!��r���q3�jkkc���+���$�w��#0p˚%IEND�B`�n,n��0��2�PNG
IHDR��
sRGB���gAMA���aIDAT8O�TKHTa��;�3:Ne���*�(�d�[�Hjg�+�L"��
��E��
���Mm����6Z�YVZ:g��;�wfҔ������;��!���'���ݩ����L���ܸ�7^���pkە6��%$��C�o�on*B}]!�k��?������Ѵ�h������d���--k�kY/�̔+�t��b
�7���ҙ�"B&;�Z���P��ٛyx�%�@��I�C �0����4YYcM|��~⓴�-;N}�d9l�ag��w�.����z�~�Q�u���S���g�������Ub�f���x�B�&7�o
�tg��@�q���������W���L�UJ���<;�.DH�4p�X9�%.��=������Ԡ�T�}���$!ϙf+��Q�����P3_I8��� O�F@��Z�b����Y��JB�(�H=���û�u�L�_=_�Ȼf�.qc�4> V܆�:�C�p|�L��)m&�Z2)+ RσB.��I��LӒ�S�+��ϒ��~�Ý�fS#B�T�pH1�y��@P��W�T����ljq������iCJT(
Qmd��C83�)�7[v��pˠ|
y7�mK��lYpI��pmG��61�L�t�L��-[���Y�z���hCE!�
b5�,�s�f<������4�"Ͽ{�Voُ8��*5L�\�O:���sћp��8����=���3$�$5��g�G-nB��d�%
��iE>���7���Jk��bIEND�B`���
^[8��PNG
IHDR��
sRGB���gAMA���a�IDAT8O���kbQ�GE���TIჀK�JHkk�6��V����~QH�&�v)�,.�
���">@4�F��o�sI��.K>�g�Μ9�,��#�F�������6�N��U�A���
����!���=>>�I�D^����
��>�����|d6�I��p����V+B�|>���;�z?s�����P(�:??'�^OF��B�����lT���=��wP���Df�����ݱX���8�f3n' � )�$�����}q�@
�J%�Z�ʕJE�t:e���j���r�\��|{{˱�é`7��햗�N�)�ɨ���f)�Jq���%Kf
��8'''\%������H$��p���Fهz"�����s�����X�ո
aW��CZ��{tt���MA�����`��(�LR��e?`�#��r�P!l�
L��t:�b�0� �b�����&�TN���t��/
>`�!K��&��@��v���c�Bm�І��a��h4b�j
q7��!ώ�`��`"���"�0v��x��n�K���d� a���k������cj�Z���A�...C6�Yc��f��&�/�x������ퟟ���u����E��!����IEND�B`��c��f
{�PNG
IHDR��
sRGB���gAMA���aUIDAT8O��iHTQ��{o�٬��RK-�rL��a�,4-+�)(�C_$D(�o-�E�_�C��I�H�E��iSꔍK����lo���H�D�y���9�ǹ�256_74fc8d54a57190f2*��������m�256_ea729fc0467c60a4*������������}u256_44b8e3727f3739f6*����������256_27ca25526516c3cd*���������.#�2�O����=/K�<h�kok�x^'�?.a�;#{�cENqk������K7��'���@���m�j[n� ���!>6dQ�'�]>���uþ���e53��C[�&߹_�<sl��>�mQ��s�pJL$A�+�w���M_�kt�������ə���0���#�N����Y��F����a�<$��^���9W]�N���O���8�c��N���+�M��`5�C120$�%�r:4F��9X��k���j�J�c*z�t=�d[�n:0ZRK@R�yK��l���I�FG��B^�:n_�!c�v�!o�*Mb8�*��u�P�Z���ղ�ճ`Mт�~c�)��yӒ���Gd�rT�&��/��
����g�������3�2�x�a§jR��?zh�R
J�I5u��~^h���n.��<�G#Q�D��
�$H�,�D�&�&/2��i��4n#�D���Fff8���" ~�n�"Q��GzQ�c?
�';����w
K�C�ꍭ�W�ͷ��������~�Q��eŭ�&$e4���U�rg�_xh8=�Tm����ys��:d��uz�w�ʚ�4�����p�D$��쟣��������{C�\����l�6o�@���PT�Ž��Ohz�C�����*��z�Xe�&i
u.�أ����(��_kI��ח������6m�Tw����.�����:���IEND�B`�]G�t�á���PNG
IHDR��
sRGB���gAMA���aIDAT8O�T9KcQ>Ѹ7"j
*�A���h�6JS���)AP��b3`�?��JlR&���i|*�]�w��xΌ��7/��g���F��%|�������������������������������������������������������������������������������������������������������������������������������������������������������xx�����\^^�����ONN�����+
�eee�Iq0����˶H$2����u���p8@D///txxH�����y<�pWWW���0��U�pww�7111VZZ��1effRJJ��^__�����������pybxx�_#�Ax||�644�[������4!���}zz2H766(�%&''����H�r=d�B����f�������)55�,��1d�!����$�ө�����½�����MoKK�8�4{zz$*���^!�Z�q]]---y�����x<���i���JBE
{�4����E���ѹ5M2���Yf@�l9�O8
���sG^^��9��|����ˬ�a�P/U38LOO��r�2���Bh��t�A�P�\���?�u����\�^�vvvd���⤢T�*���G��=����\��Z����8���s?����%�I�wO~�2����lUUU�LJnooijj
b!W��GGG������|���|r!�M�|����V�]]]?'#�v��耩�"2\��xa$����YYY�y>,�v�>����555�8����D���VWWQ�ϗ��Z_�h�[QQAEEE���/�����3:88����0/�`AA���K��`9�����v����-��;Fx��Ƌs�IEND�B`��R��_�^W�PNG
IHDR< ~�sRGB���gAMA���aIDATHK͔?hQǿinx-'t�R�C�;d���(7�f������
N"��4Cg[0H�
BȐ��3t��#>�g�����_����~���{�q�|p�4t��wl�h24��L�
�wl�s������a;����[j�d:d�_��@�^I��+��2d��C��=��-���� _���_t����,�$`�b��~�`���Z�v-���][S�"H(��I�ak��c�[>�vG0�r�T�P�▂�X��r�(+��V�dVohT�F�)�'��͗)(;���4h�W�>��OK�4����wo>�o�ŀ�ҁ���3r�������Z�P�
Ggʌ��_�J��L��(��We4Ϡ��Rҋ��.L���dK�aP
Z������L�b�p����A��eb�d?�/5m�bc�f���8CC��=���ߝƞ�#����
!ñ���m��̐=�S�k�X "�ݻ�
-��#��y�w̠�?�N&�����e*Jsb��FeS�c�ֆE��$���>5N��8̘��nY熢b�m,gɠfK��Q�/m$�w)%�X.�U*�#�o,��?#qq�S3�
����.�AIEND�B`��o,�7�PNG
IHDR< ~�sRGB���gAMA���a�IDATHK�T�KjA>�(�p�4�E�]�������.tQ��Bq�U����۶
"p!�h-,�B�@�4��t��Ղ�xfΙ3ߜ9sΘ�n7IX,��t:5�*èͬ��"F�d�hD�'Fm�F��T�aԦ#2�w���ԩ�����b�\!!
��BJ���>U=��A��t�A�x<�z5�Mzxx���[�v���P��� �j4��b1Z[[#�����F�u:���aM��f��:O@�N���p�l6���
�,V��r�]]]Q"��(�/A~�����9"\'��� 2��ggg�h6����� GV�T�X,�5�(�Jͳ�,_�l�|H�
����� �N�v�
�]^^��"�s$W�$[[[�L&Y9�>����3�(��Xy�O�:|%���&�!)Pt�,�a��1(Ze��a2�h|ձ.�A�
��Z-^@"8KY��#I0"�u�j��x<�Ⱦ����p�����swwG�~���'2I����� \٢��ų�].oB���"Z�7�D��z=�������Q�&��r��������R>����=�D"�&��C�r���KM��������bC�2��:�j�|ߴP4�v�^��T$Ň�y{{�oDDA�F�őH,�G({1�؈�c��J��IEND�B`��J`�3jXʠ�PNG
IHDR��
sRGB���gAMA���a�IDAT8O��klU�3�����%Ԕb�W����eS0�vC���
!�l��`|ߌH�F����1�����`�ii4��D��mB[��fіm��<=��mS�1�����=s�9G�m����eR��`O�KmU7:��U��Ł���Ov�ߴ�=���5��M�
256_2dfc822da17e7685*
�����256_18dd84dd46d279af*������256_4801a5b6618fd5ad*
�����-256_8a10300fd6a60955*�������������s�8yw,�}�G���u[6���ԃ@q>l���p��R�ЕB��7��<���Ņ���
�
t�!r�|�h�g��xHJv�6�1I�)ߴ��7���շN]Q��tv������#uv�
AvӤ"A�$"яב�f�$��������{�xt��GJ��2�e� ��/ޯ�٢�W��x%Ȋ���$����*#o��5�^<�z:��ec}&�T�K�侞��|8��ۇ�Q��<E��Q��N�7��cH�kh��^{��������-U�C����j�^�-ˁqߙc����R�p����*�]?�>9R�Nq��h\�ù�|я6eǹ�̱Z>���!Gw�p��=�c,Y��^sT�ѿ�s�=���*|���E��7�E�<r:ݬ��V�!�jö�S|���{cމ��'�)-�=���,o�
$f�Cs�A
���L[��X�0K9����a&M�3�9�a�!�X�(��<E�h��&~ձv��L7n��~�z���>=���x�5"��ӧ�E5�I45���Mh3&����f��!���?-��.�Y��uA�Ȑ]��ܺ�Ѳƙ�Mh��`f��q{|���b�L��Q/�(�Y
_�E���zd�>m��o:���R�����?������ϕ����e�����A��#�|]nm��\�ª"~���93�?a�㶅��}�\��-���Cc���
�P���&�O!�(�L{�IEND�B`���%� ���PNG
IHDR��
sRGB���gAMA���a;IDAT8O�T9H�Q���/�@�+P�������
�"���F���4��*`��
^�����U�<����|�ϊ���wf��7of,�a��?��݅���|XXX�WWWsR,���{233����y_������d||�>33S���K������'��ۣ��-r�ݤ�Xyy�`tt��e��+@����iKJJ����($$�������L���t{{K���411�����|�C�b���477���в��(
@�pUPN�(@���izz�goo����Da*����^XX(`������o���Sxx8���C5��iGށ%777m������V���F��FGG�f��������
Q{{�GMӾ���Y}ww�jkkeSdd$���QTT�l���2���y�755QGG¦�����n��eloo���l2���R��C�_W���������������f���DDDH�!�Y��ks~Ħւ��
�yrr��o+~�0���ï^�o�GFFL^����$�D���z�����
TJ����{)�����v◖�E�B�(E��n�x(:(##c q�y�Z[[���K�z�r�b��8>TCww7]__���
q�#�S��:Da���c�J.n
�F�(�555�Bvuu%W.�����Oܪ�7�WTT����V�U��
FP��2���
i���i�W���Twuu�q i`
P�
D]�v��˸��A�_\��iii'�\�tttD����1�H����/%ht���E���pkI�b�fgg�݀�7!��s7���RIEND�B`�3��������PNG
IHDR�sRGB���gAMA���a�IDAT8O�U}L�u���wpw�x��
]��Y�Җ0\?�Be�n��*�6s�e�W��U:e[n���֤4=k
�q
g���rw8@����|��n���������s���D�+��R��U�duU�u������#�i��h�G��_��#�8Ӏ��,S\"������$oH�?�~,/4��@w��[rgc]�=�K�q|��B�S�=b��Л8Ej7��D_�e��B��E-�B'����j��:��4���3����E��[����nA^v*L�HN����$-L�o�0���:��nW�uj���a�j]n�%8�f@�X�r(�^hz�(~�A��1�mX�[vuj�r�
��c��;�����5�}3!���|x�JF�Qq���)0|H{e��Q=�"������?A��Z����M
��2ta�|h�Uʾ)�v)���:q������,G�!�@����5�o�uk�
��
f3Vn��y�}�0��S8�!�8l�<���&3����,+-w9��Ŏ;�� �ڋ(�^Jր��4���@�c���ܙ�������7���q+a��ê��(�b��Ebh��@�\6wr�kW�fmtJ*4�mjB}b��-��B^��I��ˀ���xvP�g��y�h��J*F�K�&E�L�&Q���#[���OCz�>�c��:��b�̚�H:v��� ]��XT�
��M��*L��I���?�c{k
_(3I�!rn�����W5��ŀo��k7���Y;
�/�j��
�uW>�>�S����n��B�xEH��\2����|��5�7�̛ўY�`��új���ˈ�S���;jwݒ�x��q�v��_q��j�{��6K���@�5�|,�q
�ʶ+]���-}�ᰗ��b�?1�v���ƚ=�?z|�E�'&���>�I̋S�m��ˉ�X����Çv����Z�h��7-9
H�ÅIEND�B`���~��z�PNG
IHDR�sRGB���gAMA���a�IDAT8O�TIH\[=�QT$�`��Yqhp�(�
'l�ŕ���FA�����.]A\qX4��ݴ�#N[�8�8���ڴ1�,r�q߭�[��sK#���+G555���������Ԩ�����
���hmm}�Wԕ����F���[loo������)�������J�Q]�PQ���@�բ��[,,,`ww�����
::{{{lG� �i�Ժ��`6����+����vxyy�����E����b�%������"..�W777�s�������122"�SdG[[[hhh!!!����pvv�&���)���D���B�j���ܠ��Ø���ł��l�t:������������{�geeall)))|i{{��������[\\$�B:V�U������~�Ӻ���rگ�����Y!/z���p���/�����Dii)���������.tLLH�����B����"''�S���~||���룢�����Cc���;(e*|DD�O�꼽�U58w2"�3���{�m
�PW///u�������:G���C��#2�����7�W��� 088���vZeTL2YtN��ѿmO+�Q-+++�����s���Y%',�Z��>55��-2{��
N6���d�,����_���
���ៀ8��� ��U�l6��g���Dss�b�dS]]
�=$%%�CCCM��(;t���&��Ǚt���=):#Ij���cc�����I����4466��`_+*�����_mm�gmlc3
�Qa(�$��G
G�-�������������
$����w��}J���(��AX__Gzz�'ɻ Y�/r�B�G��M\�h��---o�
��O�W�����U�/�#��s�IEND�B`��?Ӎ
g��@�PNG
IHDR��
sRGB���gAMA���a|IDAT8O�T[L�G��/,��b\�E�(`ܤ7��t76256_b323e38fa78b6c2e*������256_dc18a95e897ffbba*������256_56d351e0f1980eba*���������256_e72186331fbb1745* �����5�C|@^�����S��Vc���A�;!$��i��
���)��K�X�,��L����6����g����7Gb��s⽄�T�������ʶ����?�����4��bk���߄
��n�fe�E��"�5]=�mK�����P贂i��)tv%p7��g���;;�Q�<*�A�"�Zs���V���ݓ���45�4j�
5���J�t�^����~^Z�8�5��n�OG�'��˵s
[i�$A�%1�t&��S:�jH��$�ڟ�x2x$q��T����s���wf��o�>r���AA��Qﮁ�/��B���Ԩ��P㎚����֊3儝�����d[ �^������澱ߋ�P}>;X�ͺ:U�d�b˽[��7�D��m΄w]nFo�ld��M��Ă��Jn�m�;nW�
�Dg�
�r�(Z�ʜf�GBnn�Ãϋ̧!�
j�kN���U��"��`
���I�l #C�B������&u��O��v��"�s�``�[?�PS3u,�/��Q�)KzI��Vdb��CȇH�|�-�cl\�cQa�s BW�7��# =�B#G�*z����&�_hZ��O�
��*֬�~KX�qG���$���&(Ӕ��4�/@�%��-��G�y5�CW��!��4<z���oΕ!l��e�o���f!!���l���gsEF���KI����[�?Pw��,[N|���牗�J��؉К��V�I
*e��Wp�'w��3`�b{w�NO6l9$t0W��a���P�#��pq0`���
'��f��3��5Jj�Q�=�!ܯ�Su������nv�u �:����ܾ�V`��ޠ����IEND�B`�z���6�Z��PNG
IHDR��
sRGB���gAMA���a$IDAT8O�T9H�A~��
Z��(b*�w�F�QC4"�����
����
!"#����%&'()*+,-./01234����6789:;<=>?@AB����DEFGHIJKLMNOPQR����TUVWXYZ[\]^_`����bcdefghijklmnopqrstuv����xyz{|}~��V"���6��X�[A��,RDQ��i�=�@��3�����k�ev?x����7o�y&]���K�������E��ښ���(~���ZQQQ���"���틍�
�-1����vzz���ܜ�n�S^^��������6�����ᘪ�������ߖ
"�����ߗ��ekhh
�����d�UH������fff�<����7���
�c�vww566ڊ���b���d�y����A���t}}M����
veddH�B�����V��YWWG������$D���$�\.!FFF��...hvv��:::�$�p���p����PH��������;�omm�KKK���ӝN'�.�"3v\XXp���RLL��3�шV)�!����B���n/((@�TU�o6�
c9 ����$7)) ]I���UVV�a<>>.-��y�^�
���bl�;>??��*�#)�R� $B�ƚ�
�I���ӓ����2%%Eü��|â/8`
���f���F��Raaa�
�\8�"V���v�itt���Ƥ"����
I8���iwvv���"��GvVUUI�!�B妽��<��B�]]]�k�����l���O�î�������AB
�.!"D�8a�����fh``�����TqHLL�A2�
�#�*w�nyy��8(����xiii���,�rzzJ��Ǵ��G555._
�Q`WWW����L�������999W`�
D�U�20G�czIEND�B`��j��JH�TщPNG
IHDR��
sRGB���gAMA���a}IDAT8O��_LSwǿ��?mqs����&U�������8\����e��`4�4�f�1����m.h�I��0J�V�6�n@#"�
FJ��w���
`3O����s��sN~���I)�<eA`f*��{���Ŗ�D�����=�/.Y���o�mؼ�mŪ��9���:0K��� �|�ˆ���H��<��䢨8RH�M��;�s�4���k��`�WK
�[��*��������Z[����|8�h�&-ӄ��H�8�2����7����J��[�k��@O����c��]�q�2fi�4�H�#?�Қ�*�!��� ���q�Xt�+e*S���&'�?~s���*���σåa[�.�����B#O��|2�,��/:�:�*�������]�r�u"��d�L�[r��%Rۢ���t��|�:Y(�ֺd���ud�3�h?S���Y���` m�W{��(Bә�ֽ[?G��l��`Y6�5W�M�_�
�}_�(�.QQ���x[��px���%�H)GO/g�ʂ��ZH�ˉ�̲���P��Ud�&-ˢeC����Zf�}F�}��k�[�
��per���0�,�JF�TЦ��2��s�Xb�q���+��R@�?K$R�&LrTQ�!6����k�3S���LTn�c7����Ic�G9�·�A�I Y0�M�(p����`Iies��]M��)��m��;�#T7����
A�1m�1��[�i3�5��vS^ߚd�uj?j=]Î}��uoAMʊ��7
�Л?��w�����<��ٶ���٦ ��^���_��#��,�/s��k�������!��`�_32{�^����U��Z����6`���Z�"_�>#IEND�B`�{��V��PNG
IHDR��
sRGB���gAMA���a%IDAT8O�T9HcQ��K46Q�$.�B
�B�n5
Q�l�B��r��XOee�*،
�!"*.i�.���K�D�s��I�03.����;�{ϻUU��K���g���ɷ������m���~Juu�f}}�Rqq��d2�?��Dxss�>???���쬭�%��J����F���tttD[[[���:���3++���VA!;�<�xQQ���������h4������������������C}��� �Z�###�]]]6��N���b���h4J���twwG;;;����������/���|�yzzz���I�87�r�������`����JKK���������r�����.�8}����W=<<T���TN:O����A����0*M��������^z�pmm�����RSS%
����kz�����]__���AJII�=eee5!�\88t���uD����$*,,���]��!
Y333E�����(D����Ԕ�q��l���k+����D��Hq=�c�9N�!Z��'�<,B���������mb� R���P$��.����ȕY*�\%9N�6Z40�@��!^PUU�&������I���{��!6
"����
����H�|�������rnuuUc?�����@��0��0��ۣ���94p�O���}ttt���� �#�����0y�^�م�a1EQ���
���5vp���q��bC�!����"��8L.͡���ssР����Egii)���4
?�+]]]���)�����}i�(�ˑ8������(�쿁�7St$�6�IEND�B`��~88�2�)�PNG
IHDR��
sRGB���gAMA���a�IDAT8O��YlTU���Y�P#E�S@��ނc��0*%���Cx�>�_jL|0E|�ECq#�FԤ�Ŗ@Z,j�$S�b���X�n���v��z�3�L*��$g�?�{�=� �e�A�ӪY�������]
�=�<t�70��������$�[���/�U�V�Nw�256_dd69462f9e8ff1ec*������������$256_9c6ad64192d0200e*������������5b256_d1a16d577d81ae98*������������C�256_15bde01cda369793*������������St/(Hv����L����/;�=��>t�����Ӱ0:�!~M�oUl�ng˞7�Z�����t10ys���#�n�������e�(�iZ04Z��N�������;y���Mߒ�8����G?�}�moJ ݰ��Ĕ�s�SlW9�ϛh�.#��5m
sGCݑ���ϼ�ҷ���"��\Z>������`P��)A����q���K!z!����cN�W�
�~B�����t�)�X�
'N�>���
J��WQ��%��:y�<v��,!�hǍ�S�ɑ�0y��ˑ�榐���?�n�3?�[,&���l�,N�����f
s`|���&��@�wL�K^z�(�X���K�b�q{jt�҇ˏWT�iwav�3=��3h^�P�Qj���O�C^��
�(<g�e+V'��
�zހ��;Z<x��J>�X���Wg馫f�L,{tU��X�o��T���Z�-��k/��C^��#��1�ۢ��'C/�E.�H��ȥuh9�M��Y��>����Ï���g���L����Gf���?��P���^��k]�k����
c.e`y��-�.����
ۂ.#OzVCf�U˰���띫�=�E���;����{��U��p�%,�(/��!��1�Մ����c���J��9���<�~з$�����G�%H�O@�U3�s:z�MLiJl߁o��-nE�W��h�:k�VT
,5,L�2q�]����g���*��؟��ˬ��.�&���
��&���v�Uk���`��M|�tOB��IEND�B`�J��=e���]�PNG
IHDR��
sRGB���gAMA���a�IDAT8O�TKK"P>��2��,�Z�0��M��ƅ��Vn��g-j٦"��-h.�Y�H
C�ED�$�L�5�;��b���ʽ��9����;�O|%����t�B!��Ύ����
������nߨ��
�V��(|yyq�������{��������2�����9Q4����ձ���%%%��\� ���z���
���rQYY���ۛ�f2����`0HOOO�������
2�599��t:-���TZZJ����i���!=>>��f���aJ�ӔL&i���plvv�Gee�D��<�leee�������EZ��������~?moo�e�H�yyy9����$����qh@H�6���]"�dӬ���o���&9�XV�Yx���������Mgoo����|D�:��ZZZhkkˉ3��Dl�7A�h4����V]]����d�\T�,RR�*b�^/���m��瀣�j)�
7n����`W��땥�x��ϲ���&�3dG��i�)y�*M�
�8\��
h�\��/�R)!�h詩)�ť�%�|8�I����E#+X__�^�^��KUUU���
�F���}p�8���ippp��E��ؗ���,��ۗH"���� �Y��
�������4[�¯����J�t����؋��g������_�@����F&�IRG�<��@mGGG�>�r��FuÒ\��mllLp�CCCC�����٤���IEND�B`��tD�
��jÉPNG
IHDRrP6�sRGB���gAMA���aVIDAT8O�TmHSQ~��]��jj�5K#'���f���7����dBՏ�����)���(r*e���L
�Y�LӲ���m��s;�� ��ޝ��<�s��^AUU�+p��ީ�?���.����&W�=lt8g�q�`b��1e�[�ym�N5#�k�i�(�u%<�s�Xm�H[����"��h�咡�O��n ��lG���SK�,M����0��|�7Z�Ԕ�;P��dYÁ�����
r�B�'C���l����#+37_G�f߿N��^b;}�h���2#��rP�B��T`�#�P���Ӳʆ}�̙Ќ˽�������n$�#���
[�
�:�ʼb�*�A�^�l�ӛgN��~�Ї�9;����U�HcI���|�c��_(�#>7=���e㠍�@z�"�m,�5ܬ�ն)�D���B�hD����R��������q�/�m��E.���G ײ�/�%�ɑ�7��s����!��
ƣ�k�
�TV�� Hq3�!j�3�U���f�T��`���T��_��g銌���W��Evl+���{Y��d�;�v��+K�ʳ�ۃ�
.@��J�
��+CpB���*X��q����r[\#�^��d]m$,4jy
ڕ8>��n�'09&AW�~�����fc�wO��S��ЗL���:)��%�=m\[%�8�G�ehz'���K5��1��ݛ�];T]�Q$kX�kX'v��ݚ����+j����7/�ӛ���F�ӛ�'#&��)����T�zU����I��a����b
�j�&G�c¸��������E��iOgu����k��ڞ����lY_i��[a�ln��k�!=�5(IEND�B`�\DC�.��'�PNG
IHDR��
sRGB���gAMA���aIDAT8O�TKKQ>ITD���&"H��fa\(͢�E
>H6n���b%�B6�K�U�@�F)���F
��bb�A�[�A�;�LϹ3����R?��~s�w�w�
�K"#���rwwW���q����Ȅ����ҹ��ZOCC����"���%NH�3����t�����z����F<���>D"X]]��fskk����bi��'�������!wyy��!;;T*P]�T
nnn�<�?�8000���$�4���C��n�X,��h�Z��
� �#������%����w�V��t#��nwocc�5��f�AGG#�/��
]]]���������UUU���I
c#ПC��L��ׅ��=E�Ѩ��xx��X {�Â��fff����O�,������o---L7Bz����U���%���6���@c�d����Ld�
d�2Ѕ��Ha�0��
X�tkoo�H�#-{zz�;�)v�n�|�L&_S)���e0�h/?B&�!�Hs�,�`�EEEs���o���X�@����pqq�>Œ�N�5&��IZ�>EB\���f}Vn&P��������Y),�_��~�������Ii��t���'���6��G�Z��ZIn���cc�)�t8�2~kk���ښ�eeeb^z��p������|GSS��H���15�4Õq+++���Ӊ$� !�
SSS����N������P�yQܯ����lss�$�C��"��/XS^�x٫��kEIEND�B`�P�.�r�T�0�PNG
IHDR��
sRGB���gAMA���a�IDAT8OmT[le�涳ӽ�SZ�-ZdSҖn��[Q$B1���� A��K��`4`$��E�Jb���>�QL�*RT(-��Ж�uw���uvv�3Kx�$'��s�w�s����t���(Q
�"8l�Mf������"�1������V#ä)P.C�q�]�>@-$���u�
-�J\M���5�ryE�e��ZњW�)�j2�����3I��4%�#�(TY؝/�}�`��6����;C� �������;4�/�
��w�S�t�By���86�������,�%�*E*�4@g���T7ϭ�_�6��7��h9p�SN
����ٛ����UL256_2a9181dfd55b426d*������������ah256_65d21aa3d9b150c7*������������w�256_3bc6d541384ac490*��������������256_c97a41301091030e*���������������ӡS��ڑ�)�jFz|�?0��Y�yU����}y/��Tג��( P��r־�9��+&y(��
����Aj��"e�^8��P>J�۠�n�t�,mu�I�%���(���%[�|����ꐞ��{��Z�eB������Нp�~��U�qo���a���b�P$�S{31,��ރrR�)ȕ
��+�����;q��LEN�XD����G�@�7�V-CO��3�4����Ɯ%
Y�lN32)�
MO��v��������ƧI�1�D�
��Ntww��L�0y$R*�j��lpB�f�8Ǩ"�mH�������
k��{���5�ݬa��,^�Blj�h]]�Lߗ$͍��d�SF!f���ː�Щ�5����:�]v�Bh�aD�A��
��C�A�y���C������f|��_+Y�b9���$���16�
��N���h�}�T��Ȑ�1�0��ߋCg��
�0�vY�;�L�#�Y�&[ʑ����i�u�N���[@�)Ad���8z/��)��s^�y�Cpl/lD�N!Uw�e���KlX�9"M��.�&鄊Թ��~H6
gz��
0#��<��B{zM�s+��-���\
�Y�a�`x㈩����}��9�|�"��$v�64�ܝ���P����{v�&��8|��@�y��U��iT�J�i�(��a�����~�}�sCJb8h�+�]?:��ܸ�Ɍ$ԗ
Q��87K��%|�t�v.|[>���L?Pz5�C��c@�@��t驏����T���]��H�h~$��=���{1z�J�o��]p��(�"�1�'X�\������%��%s4p\<:�u����=���'(�*<"b�<�'���Z�_t�Wj��3��(7z<�@�i��d����
IEND�B`�����f]'�PNG
IHDR��
sRG�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������B���gAMA���a\IDAT8O��YL\e�������3��eQY
d&�}l�c�4���>��F�&�6M��mS�U!�23l#��L�0�v��w��A�z�/����=9�|�
�Bx�&}�p�6&�Wm���j�S�ێ�Lq?15ۖWRg,,oJ��{er�Or86��>
�wo5���a��VU&G^NR�#!�!����_d1nbP�x������8ur���i�c���W��e�,��i;���� J�%�ΫP���i��{>8��KW��S|�vjf��@��r�ן7~����)��b{�u�
)�Y��X���ǣ�b�� &'�8g���O�Ҳ�E
-F�}�{w��x��P_V~�L�Z��B��C!�Dl��M���+�Ȕ��%�2T���{;;��JdI@NJ�`���zm4"IXZ�Eaɉ��I:"[���0%-���XsCs%QX����X�3��'zkk*��SBh�Cl�6��pQdclh�<�_H>� A��q�!W��J<��D_�Ȓ��3#�b5i�E��hq$�q��|���OH�:@���,��K�X�ώ��w]�q/H������aq�<�#�䜢�y6���
�ڏH�Hg�H�DFXwlb� bT�y+X����(Qx��
�r�|�-R2H�d�$�Dž5�$`|���v�8%9eE�����&죿K�m�/���
cbQWe�{��v���56Q'sk�+6��g�P=��f+�v䔤c�d�z��<�`���/�ַ�\Xm<U4M����CP �Am����Ops\����x�p����?�aY�+C'����^]���c~�I���zePi/B�j1J�+]�������c��CW�v�Fw��(WD���92g5���1��3�!����v[f#�����q�+��X���\{�Z��G�"Cd=;V�ڻ��t-5f^��E��4�G嘰�A|���#�}n�9�O
p�z���~���[t[d��6�ӹ���͎���
u!h�Ԥ/@�?Yņ�����Ə�+�?�LLH����5q�n�Y��:�M�N�Rx��e��_�7�"����}~��/�˩�^IEND�B`���>�'��PNG
IHDR��
sRGB���gAMA���aUIDAT8O���/�Q�O[E+A���#
AI=��I#�D��Xۈ���E��bbѭ�MW���d��
(��M�Y���=��#�d�$7���;�s�=�{�*��������c������Xvww����0�;�������^
b���><<؆��ZGGG������GL���txxH������H
���FWLL��%T�
��쬥���399�TWWG���tpp
�x#�uJLL���#������[{{{73SRR�/
����utt�Y�VSII ===�HJJH8���������"�.--��ܜ��t���d����¬����b�XH����5���QBB��0�����ڢ��,����`0h�R�8�� �A����0�^/����K�
CVXXH8�H|���i~~ޱ��o�NMMY���I��
!�����Of�p~~Nqqq2�F#y�^+� �w���j�Z`�(fd��k��0+
��R�T�r���� ��X`0�)��p�%�?��䤔%�!c0�-@��Ud�wvvhuu���o�1�y��Rb
7g
���Z���8���Q�d
�?("---?��mllHm
`ZYY)��?���iQUU���W|M���ԌC���^�������
R¿��;i�2�)Q
�d�����Z���qB�999"pt�:�Y6Ǽ��F�`���x,�M 677��j��D�mxxX///��a������������7����iKOOO'�ƄZ�t:9��H###C���,~��ݩ���/���7���xZy8pw!Es(��ɉdV__��l.����+ӳP�\���p�},��`�͈�������]IEND�B`��cF{�h�M�PNG
IHDR��
sRGB���gAMA���akIDAT8O��YHTa�w6��h�l��B-��(e�S#�c
Z^z�!�|�z�ނ"���
"�HM�kh�Ԧ�i��VC��Y��9�ul"#��x����~�}�=����Ԉ@9w�~����vsE6���~��W*.��/X��=wƜ&G�3&
�����m���G��V,��B'r�04�pO{��1����o;����2T*��U�s��[w�ɋx6�&��a�d5s�f�Pu�1�~���?#�}��}�JN��4�ȳ�U
[}�R7,��$H�D4�#C��FP
J����7����ih��2�P�����Aׅ��V/S=�ܰ���b#
Ø&��i��Z3���(�80o������ϻjz�|U��
� �O R�.,xfи�� �Kln*K��z��f �+V���=�%ZyV$s'Hb�?Ʃ��s�j���j��v�xKf;i��OM)���5}L�!�%����vtڽ����^deچkS7���)x|.���X���X'��CX��tU&��i��á{�4G�j4�4 ��)�C�?)��QC����R�4P�:�tdM�
qZKʪ�%�Q�I����j�F�|5{Q�'`L5O#
�KW��+�eK��J���
x�\,`����5Zk3;j��M������p��7-���v=
��e@�:��_w��u��~tPx�}�O�c�e[��y�厭۴�X[pt�~g��
d*�B��"̇�H�ʈS0�������\���x8�B���.؝|8����W���*�&�R����!���u���W�o��I6dg�/#ҫ!�,�������WJ�l����M�h��i3C%��;`�M�w�%��U�7IEND�B`�adp�4P��PNG
IHDR��
sRGB���gAMA���aIDAT8O��;HcA�Ob|�J�Q j41V*^���4�E\� i,�Pl�T���XR���Q$�h��m4ј�Gv����Y�Y������|s�̙��f��?�)0�JOOO]��ێP(�\^^Z�_WW������� 466�����<@����[����D
P{{{����L&�����9���
�
�VUU�z��
����I��l&�z�������=�256_a3034e5656b2acc9*�����y�������������������������������������~L�x<?Ĥ�w���Ņ��v�
{{{;RAAAQf2���q�A���љ��������'������wvvrdZ�N����"�^VVFmmmd�������tژ����U�Ñ��*>�"�~D�VZZJ]]]U0�e��榣��;�fZI��@���c�V+mmm9����pXimm�
�B��;��@����z*܇�������yk�_ZZ�gl�v����
�*����F��
��i��V������b�4k�> �����Lbw9����c��@���C�/��r~~��q������݁��"�8N�D���$ό���,�������E=>>�M��|����&��recc��Hv�}||v��r�� ��)��b�X|�0���$9666+�;�D���ϫ488���Cdggg����Y0�P���&�����|d�����vww�uq���kmmMmii��UYYɛ!r����82����K����KJ�������,E@8ikkkc�xp�mhh�����S࿋�7�����IEND�B`�assets/images/emoticons/tongue-grey.png000064400000001567151171034320014274
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬ�MHbQǏ���
��"������¬Jی�.�M�i9`��L>Z=�pQ�PTTD�M/�/**��O{s����0s����{�Ҩ�
�siS������B_�����ׅ��C�F����"���z���~���T��̌$��$zx~~�255�maa�!��f(,,���w888���]X[[���&���u�h4>*���x<�%%%(����������� nnn`zz...䞞�x�D���������Va�ZA��2�-�E�Qxyyaл�;��`0({������D�~pp�^�w��v��Ȁ��vE�=66puu��#vuu}e1%�����C���Q�ᰊAW���RƑ�˲�b�TI�T�L%�X���ƺ�:���t�EQ�'''�N�ӱ3����Iˀ����SH*h�a�`ssS��3Snn��t0��X�iegg3Ң����t:�����v���:���@���g��r�544���pyy �������p
�f�JA�Le31�V].tvvr���(���@$���GV��AUUU+��6�m��n��^__�s(v�����ɤ!-A�������a�M&�TYY)...2�IL݀C�y4;;˼���l�%d�����Z���L���>mxkkK&���5�����||��'���el�ab$
�$����^,�
`+���@��3WWW���8����:�����bwzz
'''������<�R
X�}&�
X�+5557`�u�`�~+c;
�aIEND�B`�assets/images/emoticons/tongue.png000064400000001745151171034320013326
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬ�mLSg��-m�NEFu�RPj
��,��y�FQ#i0����D]�m���2g�d���b�͢��
_І��KhT�+(*������ܻ]L�[���'��9��y�s��!����M|�S�������kd��/�]**��/)�ښ�j]�ْ:���%F891R��C����e6�ͷ"�n� �Eq+�{�Qõ�˛�_�:��;}�u�C�ݞ�0[����T$ �Al*�ˍ3�Z<�]ݩ���K�dž�+N�������`�J��(����R
���(0���i�g|DzW�7�@!6�Vw���v��m��a�PQ5�G�j�s���,����f2�x��_�)�v�W�,
�]D~YH6��2��d�])$dP�]i�%�lRS�J�zT3��}��ε�b�!9����c����/Qτfo�4�)V�)�k(g�*�+��*.�Rc��I�B�ռr̛��@Ph7�;��ҁ�F�;�fпDI�����h�E�����J�_5~�Xr�mE��}�^3M����,{e�h�u�7�`���W����]LKGB4,`rFF�9!X\��Ԗd�S�K���b./S��{��+ۭ���z4�e@|��Q�S�;,�h��~�ȥ���yC�~I~+B�Sdݡh���]RT�8#R���`P�o��W�P��^oK[D�f(�R����/Iע��k?/TmT�i ����ܸ��:�b����m���'�G�b��OR�iM����`Su��?)�����K�̗1�GZ�s�;V�K�|ȴ�e��Qz��'"^pk����u��'�;τ�,#�Fi:��%�e���+�����Ѐ��7�F��Ԣ�V*vU���ן��7��7IEND�B`�assets/images/emoticons/unsure-grey.png000064400000001541151171034320014304
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<IDATxڬ��KkA�O↩��b�F���
T����.E��5.�`#� ��@M�6Z��
⾠��(��ڸ���|Û��<���0s�w���昄�?[z�������i���z����Dl&��
�555�v�=X\\����K^kJVx}}����///;x!���R~~>}~~��9'���GG�t^^^�[`8�1>>>RTTT��
(--M����N���twwGKKKtsss4444�Ig��zWWW��
���3Q__/;o��
���X]]SSSkX��8�����211��x<����A�����}��記���rX�_[m笎��6���
�J�
�-b����233);;�4M���
�-sP+&d6� 7����H�g��~�#=]&ǚ��rZ[[k����J�,_����0u�����iooOØ$D�Q[nn��I@|>_��du��� s�����l ���0n}nn.� �
����oR!�3̆���7 VA��`�A,���+���J��s
�Bxr2
F�8b��n���a����4�MMM���zxx�X,&��v_(BR@%�'''Ħ����EV�_YY���{���#*@ww7������1�&R]]������388�nnn����۸�n�ɔB(c����l�@���r�Frrr*aj��A��:c(����hxxx�f��|[��O���B
p������(����%q�$]�����V�5��z�\`���5�HӢ����]���%�z�7���LXIEND�B`�assets/images/emoticons/unsure.png000064400000001653151171034320013344
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<MIDATxڬ�YL�A��o�U/
�`)J(�b�QCJ�Ac�^H0�E�7|0<���苏DA���P�Lk#������-���&����o&�3�a��.�r�^�K94З��V����h�h�J��%�f����߬�M�
�[j�-�prb���F�������k!!>Ԫ@�H��A7X�nh�r�!�lu��S��#"�W~�u�~��bR�]w$w=ˀ���a�A0�9sS<ܯ��Tl��w�b4�J B�TF>[MŹ�>se�I
&��P&؞"�y���h�LS,~Q��
�]���URT��B��IX�@�k�B�:�x�i�<�o�W��N���������Z��ӣŎ�-x��
��Qbk_{>e�W�x�$=Ap� �����e2&�`9���Umz��p���t6�!�q���8��9'�
Q����n���p�'��`�/�k���u!�16�YTآ��&,��6�D��e:����0OlZ�E�1�u��'Z��A�>c<Y晔�Gыy��3"a�mP��i~��fE�<�
~P
����8yfc��}�Y��9�L��3̓�
JĀFK�}`�)���@
���,/��!��%`t\rm���Vx��D���c��]ӱQ�*�مL�3I�H����n��j�X�˴}�JMG�.]JB(�r8t~ZJ�㫡$ox���D8-@�G/<�T�P�)*�~��Q�t�J^E�'
�7".�{�N��pXq|����3�)`���eh�@`#9�#0�~|-7`����I��`������>R
��TIEND�B`�assets/images/emoticons/w00t-grey.png000064400000001471151171034320013557
0ustar00�PNG
IHDR�A�tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬTKHja�i�D����6��T�
-�M!���J�Ai�6킠4э���聑X�=�e�0��:������1��ށ���7sf��eY���Kx�я����[�b��FGGY�Kh��}����j���ĖN��wwwz|�j�%�ј����M*�F�����ўH$����z=twwSﷷ�P(�8�����]S��;-�Ţ+
-��A�a(�������n7=�������S>��MI+��}nn��;��|2+�����:���j�j�p���뫊D�����V����Į��l�����
�,�J��l�ќO��B���C�*��L&H�R�{�7�lf�Y��D�$:��������6�100@�E%
0D�QItx'9�E��t��d�|���;::h>���DƑH�����:��uzW�T����������e��1�[t���S*}||�0�����D�4������3�����������`0����^�ta�ʁ�
�)
�x@��=l��� �0B9�F��r�b�}}}�����������)t��
��!c���<�R�l�\��������9�A���$LMM���4����<�"��pX^^^$�Z��e������S̟d8H�W�V������]v@OOtvvRz����F611���Y#��q�`�___Oc;���� �h������_��".'��*�IEND�B`�assets/images/emoticons/w00t.png000064400000001467151171034320012620
0ustar00�PNG
IHDR�A�tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���?52��Tn�����iĩ�Bv6�c����2b��߹ݿ�s�6��g��={tS$.%�~G������~9E�-l���b��S�릥��3)�ޒ�AC��AN����~g�~�ás_,���xe��ލ�w.ENiM��p�Ll�JH�
�z
Wf��p�ⵜ�-
*z�1����[��!rW��`�������
��
�3L����kzg�jtM(��_^&�fw��?�r��b�����>w�-��4`������^���l�[m�y0��#V&seV��Ƕ:�
%
=MN��˥1\��Y/�U|�TF&FM)V�+��sʫ�UD��@ʰg�,��=뀱�D�Z�s�8ï�@����4�
�@p���0����II��k�
�@u����b���,&)�ͫF2|,1�I*�s2����ATB�<A�������%�t���/��gt�O�
4�����7���l��N?��`l�n
0�lQ5�Z���g�um|D�(����_��k�u��
d���U2k�U�k��cXS��&��ctî��p�5�^�8�;Z~\q�~`u��(&�m2�gT�(p_ǷL�TfaP�`a�d�6O^�e���ÉG��
_,0;]:���)����z�.���@tK)0���^2�IEND�B`�assets/images/emoticons/wassat-grey.png000064400000001525151171034320014267
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬ�MHbQǏbVf����Wf��ԒZT�&Z�W�k�J7-�.��j6�-�AE����T
Q�>4����?����̅û��s�s�9�����C����{��������������D�h4���&���o�\���bY���.V��T����̽��0�L&=CCC���C---���D��Ǵ��O[[[4::����7�����,{��\GGG���4��V��=��������)���y������P��|߄�^��z�A��������CE8hee%
���p�U��ݝ!7��� ���"@�����_���H$����F�12;;�1վ�:����'�NǷk��8D�����J���Zr8����,����
�^����Y0���X���
��q�Z���P�;;;���n�Ap�ߍ��U#H/xzz*��W�̕u��\���:���&���+����꿫�+�+�Jj�����fY$�'XBl`U�*7Q��YDU�ᡬ��r�d2HzxxP���]�}*8<<�D9
*��;�`�E�P-л������U�$I��Bdyy��P�!X@�����9���ir:�����EXSSS�z��"��Hh<��h6���a1�\$3eq�w�C0� �;22�4��P@`�"n�qs(o_�ht&�{P����@�G�\�c�v��ܾ�k����N�^�Q����O�}����S����:�K�IEND�B`�assets/images/emoticons/wassat.png000064400000001742151171034320013324
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬT]LTG���]`wqA#ZW] ,?]�%�d�ƿ
Ґ��I�Icۗ�%&��>j|�DM��4})M%&FB�F��v#Z���[ua�~w�{�;���U�4:�If���7g�9��sXs��9�������\��x�mqU�_����i����3'מ^��*��m�p�Tk���֍.�T��^�J��
F\��B�=�_��^Q��Ғ�Oc};N��@uq�ux%rr-���%T7��
(S*�tM#:U:�{��K��v��r{6m��g0�^B�h5%q?5JGk)M�Rc$@��a�{�4�]J;RD9�c�y,�4���~>�ڼY���;!���
�Y���)$v2���Ԡ���au堶Ɖ-e���k�q�\�0�WK��=����%�#��aa�QY�(�%�������~�iAc�W~
s��\?߰5��b&�����>$);�#~H�63DR�F\�M�����{�����U(����*��x��q�\�of�T�&�q��Enz{��y�ػf����+�|��ڜ/2
�X�fb�:`Ƞ�u��k�h�^�M�̦�JBޮ�UkJb��cu�\6ȶ�§xE��ڠ0tf��1
�d�@�����@����
H�@�@$0�d�*��+32�lNg�5����
���EL�M���rR�dVaC38K�+�Gv)�X�e6�C}N�0�o�����Y���Wg�NkВ�������NK��LfJ��T��]�0 s��/��w��P�н�9d�ՠN��N�V?��H�� ����|ొˇ8�s,������yN�$�9�6ǔu���T�VsX�}��<�YQ��
�
�
LL��X�����ݾk�}�KA�MDҺ�W�����`�u�`���j��IEND�B`�assets/images/emoticons/whistling-grey.png000064400000001604151171034320014773
0ustar00�PNG
IHDRbKv3tEXtSoftwareAdobe
ImageReadyq�e<&IDATxڬTIK#Q�h��
.E�^��F"��=z���!�9�U<y�9��ӈ�r2AE���F��Qи��W�zud|��ׯ�����2�N����]��ަlnn~ ���U��~)�5�ݾ\__�+))����y�����ɉkvvv���u�1���QAA===��6i�F숚�����O���tcc�=::�Z�66���$����o}xx@t~~N���t||�ʎ�Ǡ{gg���������F����d���黻�r��e/..����:l`�p�����M����@SS���������T]]]�t��/�L444D���TQQa���@b����~=l��R����繹9���C�B݊�T�Cq:�X,o8�7����
Uyy9�UUU^�K������J�癙jll4ޙ1q���
pqq�`�����4;;;&%
F8cq�
�������ka{zzZ�F���
aL� ���&''�;�����t��DjWWW����~^^�Ƣ`*�h
�`�nrr����SNN��433S[[[##�h=�<�%�&�:ƺ���3�U4h��Cmmmv(���z����D���b��Eo�`9�w�96����@�����&?!_�M`84�͆#�������P��w����-##��]"y��U���@탃a�ܶ���}�dee�
�+����3�)&0�Z[[M�h\��G�Ӊ���������l%���r��m��KKKΕ�O)vQQ�V[[�\WW�C�3ֳy>����IEND�B`�assets/images/emoticons/whistling.png000064400000001756151171034320014037
0ustar00�PNG
IHDRbKv3tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڴT[LW�f�v\���f�u���m�H����x�ji�B���5�/�}0�d�^���!M���m�Kt+�1�kK��M�b\����י9��̲CV���9�N�w���R�蕳�J�m���-}����G��w��{�5j����ZU٭�ZcK���t��X��s߶�|�ڰގ��V�
�N02��P(�����A禝O�8�>���{_��q�+a��]ŰXDR���D���:b�*~�A(��C�:N���g�X9)����\���2��*����n�-0����<�fa3�^��O�P~����p9q2����g���<�o�A�H��6n�1
A@���4^��C��YO�O���:dy:4��a�2��0����t~�6q�A�o��P�v[�S����jl��CRxE�A��Ȣ�>�),*�[Ɵ7/4�{��r�`���VX!��Ņ�u���ˋ��o��}�S68��tb잻��`>�C�?�@� ���N��u�*BdFIR(2059�^�D�A�Č@�y2g��'BY���V�hع��$ ��xf�;�xlV۲t��+ˆ�L��*aM��!7N(��se�6�]�R���b��B2<�wfN��M��`Z�y���zLb3%J�7�@
��9�$���J�o��Q���~[�^��H�ՠ3b]M�(CN5�ՠE�yT5�$�B�ݸA�/Q��\�)o����|_2���\�ٞ���+G�(�¼K��L1�`x���6���'��?�~�H�P����=�>~�����x�X
�1RY�8�}��[�aD�#Ќy���x
7�)��m���γ�k��<[}6X��Β`5F�&�ut�&1���^[��-��j�&,/,}���E+WJ�Ki��i�{BC
L�k9��F�6�_�W�ˉ��)FBIEND�B`�assets/images/emoticons/wink-grey.png000064400000001531151171034320013732
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<�IDATxڬ�MHbQǏfY�F��>A��$��ܹ�t5;] �l�2�h3��E1+C�6CA�}/�M�Ӆ��C���/�K���\���{���?W�F�s�~�����pyy����u����������Z[[������
���S���+�j*���xVWW����>��E������B����N���idddett�{ccc�S
���Mwtt(ccc�PUU
���#�����:6OF"��i�0��x&''����+N��t:�b
�b���p(+mmm%��翶��q�Z��]
�h4888�aP&`��j�ښ����%��H���v��ł�����===�
s���Z*��B�\WWG===���绸��ʯ�������-���ĄL�)(�pB-6���F;;;nEQbk��IePS
���ooo'��K*��rV����_Xi)����,��X��@���VYCa��~�@�+�����lsljjR���^"��U,0�>??s�B�����7��ҒT)R��a��x\�A]]]���߿��J������9�i�76L����
���-;�^XX����
P}}=UWWS(�
e�+
<ͻ�;:>>�����p8��>�������~�
�l!"=�0��������Z��p`�����&�I�R�AEcvpp�̒SSS3V�5�����Y[[��q:G��(�+e�Ybg%y<�?_b���T��z�}tt�bn���f���>kӿ?`�u�`�9�����IEND�B`�assets/images/emoticons/wink.png000064400000001661151171034320012772
0ustar00�PNG
IHDR��
tEXtSoftwareAdobe
ImageReadyq�e<SIDATxڬ�YlLQ��ޙ�,B��E�N��V�5��̄H-i&M�"�3��&!"�by(��hJ�����Ji;��F�Fig��sΝN��i��{�w~�}�;�4
��"#����c�뒧k�n:;�o���@n�*_������ט�,c�}��\�x���h�
9Yf����)���[B����zg����S���!�r��{�g�;ʼ�0%�
�n�M�!h�Fq��-�s�v�9q`�=��0`wG�g�.��r��XT0��
�J�7�c*ՈJ�
�����qiߑ�]�3��R�="�~땪Ck����BD3�`t��,�D@L`��0��p��3�W��`y���KZ�Tyݫƃ�*�pHL�A?{��\9�X���I/cā
���Xj�9�0����
]�����lͫȠtq�Y�+����bf3�G�������C$�Yu�Rۻ!���B`�h��f���b
?w��O�($��7�]waꐏ�&Xz>��2�EU���{$��~l����:�)��==2T)fT�C�`��AX�(
JXŷ>)��q`^���u
��k�S�~N�.�֢�a�%���CFn�J_X�l]���a��J�O �OM��:YQ�*3E
��O����?*`�;��̭�^������H\[�O�W�7}�*�z���ṁ�}�q�M���Ռ1��+s
8�rL0�DF�E�W��I��rث�.�%'������X�LO1�6[��6�"x!����9�پ���2
Ȟ*"��(Mg;���O
|*\%��n_#5ؗ�ή�^�i3�yN��5��~ 0{��g|m
OIEND�B`�assets/images/icons/avi.png000064400000001776151171034350011726
0ustar00GIF89a�
%$%21/]Z;kc?^]QlhRvlJ~hDseQsjW|pEwqZuZgggvvvxxxyyyzzz{{{|||~}~�pA�xG�{Y��M��H��M��N��T��_��L��W��Zߛ;ͻe�N��J��S��m��W��S��]��]��l��p��r��c��a��g��k��n��o��u��v��w���������������������������������������������������˳����̻�������Ι����������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,� sƌ�2e��Ȑ�5!��1�!�3o2fLC������9�M+GzXDS�eK9V�P1¨�4xr��#��n�:�N�0Y"��p͟?y�Y��˄.�4��:r�Hp��V�m��Ϙ
f�( ���C�
a6H`��a2>tQ��
�$J����+0���a@�E[r(0����4�r�� J���A��E|T��;assets/images/icons/bmp.png000064400000001764151171034350011722
0ustar00GIF89a�:O�;Q�=S�>S�`�a�$p�/x�Pb�_l�Bt�M�}m�ty�{������,��+��-��1��4��4��?��X��_��`��x��N��S��X��S��U��I��V��d��j��k��b��h��r��r��y��{��~��yʅ~τĐ������������荵☹�砹衿�����״�غ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�K �b��*U�\�p�
,x��C
Å3�|9R##|�\,���&^���r'����)Jt�O�4\�@��(�$P�����J0��CH�� ŃH�`�ᄛ��nT�0A�Z่�I!C�������~�h��A�0|��)�'O�&Iڠ��
£@m�D R�8&5J�L�(m�f3)ΝAq���"�3�Ϡ�]f��;assets/images/icons/cancel.png000064400000001753151171034350012367
0ustar00GIF89a�������**�!!�$$�..�11�JJ�~~�EE�HH�SS�GG�MM�GG�DD�EE�VV�[[�``�dd�bb�ff�tt�nn�bb����!!�""�;;� ����� ������!!�11�::�""�..�!!�""�--�((�))�++�,,�--�..�55�44�88�::�::�;;�>>�QQ�GG�JJ�QQ�^^�\\�gg�xx�xx�[[�VV�VV�AA�AA�CC�FF�KK�NN�OO�SS�VV�QQ�TT�^^�__�bb�cc�cc�dd�ii�ll�nn�oo�yy�ss�~~������������������������ć�Ù�ĩ����Ʊ�Dz�ν�吐瑑����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�k H���%w
��Ġ@$�
�&�EI
:��
4��"��`0�Egh��M����Z��
x�O(�8Q�� �l��&&H0Q�.p�(0pD
P���c�
�h��֊:~X��`�
/:�!E˖�|�``b�B��ѡ=Q�0C̟D��PQq�a-4�����k�;assets/images/icons/checkedout.png000064400000002321151171034350013250
0ustar00�PNG
IHDR(-SgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTE�1�ed����6�3�1�2 ��3��2�2�4)�6�hB�: ����F�A<�uU�3�cA�cA�8+�{_�pM깫�$�,鴥�ȼ�+����Ǻ����������K"�^=�\4�Ķ��a�K�Ȼ�a:����fF����{[ـf�{_��z�A�7+��5��5(�E?�.�,�
�
�8�/�6�6vb�FtRNS���������������������������������������������������������������������i�D�IDATx�bp&IYYs&0
�@\KQU}SQu{�@l$�tմ����lE\]���ICKES����ՅS��
�\�TT�Ł��b���į�#ά��&�,����@�F�,�B�J��ʎ<�����/T.�̬��3r���
++P=�;#H ����@��<D�
����8
����噍�L��j�M��������
������L�t���t:@�=��s�<@��rq�B�`�����āIEND�B`�assets/images/icons/csv.png000064400000001757151171034350011741
0ustar00GIF89a�M��T��U��g��k��p��{����閹�������槿������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!�w,������!*\hC�$P�a��
\
p@�+,�y@�Ԩr��.]���CƊ2X��Eȋ.Z�@!���0B�i�#�1,��C")N�8!�"Bh�0���K,�i��)\�P���`h�x����o�!6Ȍ�Z,��"E��2g�x��p�1p��q�F�1��]��9qܬ��Ç��=b�;assets/images/icons/doc.png000064400000001747151171034350011712
0ustar00GIF89a�+m$6W;WuEkgw�w��������������������������������������������������������ÿ�ڽ�滛뺮�½���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!�e,��H�
�'M���E��l� �f@��A�
-.HH� 1r����
faABG�,>����"@��a�C�
;
v����@|QD)�*f�H�Ò�_T�H1��.RD�PŏPؠ��
�8d��A>
�a�tF
�@"���$Gx0���b�L C��00)�i$L�Q2
;assets/images/icons/edit.png000064400000002263151171034350012064
0ustar00�PNG
IHDR(-SgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTE\�889333˘���I�ʷ������G{�*T�$;c%6Seee�ѫ���e�Ո��x������������ l���9s���ك\[]��WLr��w��[�6��.����u��v�]��j���������̹����������������������Y0���������ٓ��N_qS�8wI�7HZ)@Z8f;g�{�[ItRNS�������������������������������������������������������������������������U�IDATx�b�@��||l���b�P�ddt��va������+�+D
���@`$&� �����=T
�����",��n��f����a1Q`��Вe�
��)�?���;3P@teXX������P�FJ��]I�b(@��%�m5����`e��P@X����� �
�2��
�<��x@`0�*eQ�LpIEND�B`�assets/images/icons/email.png000064400000002432151171034350012224
0ustar00�PNG
IHDR(-SgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTEfff��̥�Ο������֠�����������������������Ҽ�������������ٸ^����î������������˿�������̳���������������Ӭ���������ʛ�����̑�ϓ�ٕ�����ċ���������������p�ٿ���������ؤ������֜��ϛ�ߜ�Ϟ�֦y+�����ߟ����ɟ�ϑ�Ùv@�yM���Y`�sw�vz���s��ۙ�虷ꙣ֙����ϙ�г����߷�߳����=��?��@���ܺ������P��V�������Ѫ�짬֦�٧�8��Ы�߰��ܱ�߰�欬έ�߭��{W�}�tRNS������������������������������������������������������������������������������������������������������������������������������������mh^BIDATx�bh�.�<F0
��$���t(#H �
|+3�L�@��"�%�MM,K�[(��c�$������@-,�E���bRn�!�L���R�Th./*��l�Xo��@-�"ua2z
iLAM��L����,l��Ɣo�PQ#���@@-~��[k���R&F�
(i6����rxq01P���O�[1����S��
���>�@�G"G*S,#@R|ٽ��c��n
�SS#��@@�Ø`҈AY���IEND�B`�assets/images/icons/eps.png000064400000001764151171034350011733
0ustar00GIF89a�:O�;Q�=S�>S�`�a�$p�/x�Pb�_l�Bt�M�}m�ty�{������,��+��-��1��4��4��?��X��_��`��x��N��S��X��S��U��I��V��d��j��k��b��h��r��r��y��{��~��yʅ~τĐ������������荵☹�砹衿�����״�غ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�K �b��*U�\�p�
,x��C
Å3�|9R##|�\,���&^���r'����)Jt�O�4\�@��(�$P�����J0��CH�� ŃH�`�ᄛ��nT�0A�Z่�I!C�������~�h��A�0|��)�'O�&Iڠ��
£@m�D R�8&5J�L�(m�f3)ΝAq���"�3�Ϡ�]f��;assets/images/icons/exe.png000064400000001767151171034350011730
0ustar00GIF89a�xuVch{]�8a�,p��%�/�T�B�<e�ek�kP�%[�+z�F|�G��������<��o��h��j��D��Q��V��\��_��`��j��w��~��y��w��G:�bV�.
�B�D�]%��*��)��W����|̵ئڪܯڲ�<Әo��S��_��'��������,������������������������������������������ڳ�۴�۴�ۣ������֓�ڟ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�S |%���P*\��Æ4���e��M�x����?Z,�
q��%C���c&�EG�
҃���/\�X|)�"0X�܁#���I�Д8��D�0r�X���D
7h4P�&��M?
r�Ń>�Xu�3U�@@�`�EQ$TH��Y$%d�:v�HD��R��#��Y,�*S�/T�hd��fT�=��t*�'M��m6k�;assets/images/icons/folder.png000064400000001652151171034350012413
0ustar00GIF89a����������������������������������������������!�,�+H���� ($�p
%0D�p�� h�(��
!<�H��@l\ɲ�(H�9�� H0��>L�IA�H�Fxp`�N�H���D�2�ʕ��N��T@�,�rV`�vc��ʝ+�!;assets/images/icons/generic.png000064400000001713151171034350012552
0ustar00GIF89a����������������������������������������������������������������������������������������������������������������������������������������������!�1,�c�(@�
�
,��
!,`(�P�+L��0�@ń[d$�C��/�Xq�DH�p%
4,
0�拕)L|���E�\�@��\��
$<p�`�C.T��M'@t(yaB�HY����
di�A�ݼHS|�aC���A
��/��(#K;assets/images/icons/gif.png000064400000001764151171034350011711
0ustar00GIF89a�:O�;Q�=S�>S�`�a�$p�/x�Pb�_l�Bt�M�}m�ty�{������,��+��-��1��4��4��?��X��_��`��x��N��S��X��S��U��I��V��d��j��k��b��h��r��r��y��{��~��yʅ~τĐ������������荵☹�砹衿�����״�غ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�K �b��*U�\�p�
,x��C
Å3�|9R##|�\,���&^���r'����)Jt�O�4\�@��(�$P�����J0��CH�� ŃH�`�ᄛ��nT�0A�Z่�I!C�������~�h��A�0|��)�'O�&Iڠ��
£@m�D R�8&5J�L�(m�f3)ΝAq���"�3�Ϡ�]f��;assets/images/icons/gz.png000064400000001751151171034350011560
0ustar00GIF89a�>�F�J�J�Y�2_�>U�+U�'X�/Y�1[�6]�8a�>a�Ch�Im�Qg�Cj�FN�S�P�
V�"]�&]�$a�6d�5g�;i�=j�>a�/a�.b�+d�3n�=g�1m�Fo�At�Lt�Rw�Pv�Hs�Bv�C|�M~�Q��p��~��g��}��\��Y��[��U��U��W��Y��g��b��d��i��e��t��p��r��w��{��|��s��u��t��t��u��u��p��w��|��{��y��z��~��������ϧ�卨荩ꍪꍫ搬钭锥�������������頻�������������������������������������������������������������������������������������������������������������������������������������������������!��,�] �d`�����+
�`$tu�Q�r\��
�HB��ŗ%��q�a�7*n��D��";F8pŤ
6�̡$�̙
!
\ӤF���q4E@����j4�����+
>P�@`@�F$$��G�,p@
�@�*aʘI3��'K"L4��$>u��a�`���Fq�4i��%��A�0p��5;assets/images/icons/history.png000064400000002402151171034350012633
0ustar00�PNG
IHDR(-SgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTE��������Ā�����pppiv�SSY��Ԯ������������,�ݻ���������z��������܇��eeeSYc����f���������������������������q~�u�����䣏[n��q]��������rr�������������������LLOkkm����������������ϙ�����k~���n����������������������~����뀛�ttt����������酤�999����������o�itRNS���������������������������������������������������������������������������������������������������������7fIDATx�b`��
��$11!�@1�;���I�� AD�A� �ױH� C2�����5###;H
��X���Q����(@1L����\Z|���@�b���b�bc��Q��
q&MMF�Pe#]/�
M�R�T�I�66a }&�TF�Qw�� A�`�
��+�kk����Ʃ������-���������c@1�yrss�%�J
����f8�Xr�fdC;�r���+]��IEND�B`�assets/images/icons/home.png000064400000001720151171034350012064
0ustar00GIF89a�oy~�f{���54���%�3�lh�BN�SB�aE�sn�we�����
� �#�&� �/�,�+�/�.�1�4�:�=
�?�?�S,�G�B�D�K�O�U"�c/�p*�|(�~?�{m�{\�yb��<��2��L��|��"�D�P�D��@�Z�M��P�k�d�y��z�����������������������������������������������������������������Ζ�͚�ש�ϷȺ�ʼ�������������������������龧������IJ��������������������������������������������������������������������������������������������������������������!��,�= H����=yAb��4tq"��5/�`aÇ(���`�*d�`B�A��
h"
�h���(x���@�
Bt���.W����
q*DS̗=����ցaȐ�g��;j�9+�J��m�����Ĝi�(G�n��E�92b�����;assets/images/icons/html.png000064400000001770151171034350012105
0ustar00GIF89a�=�=�A�B� K�N�_�P�c�3p�_�\�f�s�t�w�,l��� ����)��$��G��W��P��J��L��O��e��`��n��t��y��y���Ʉ�ɂ�ӗ�ܘ�ӛ�қ�О�֘�������萴����ɩ�έ��Ц�ժ�ء��������к�Ӭ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�S ̲%-[�\�0�N^�!�
Å-x��č!��\L�$��&L���̈��"ABTh��7_�T�h钤H��DL���2A��!��v �
~���ϝ���\p`�)S���DЬyB�"�'�h��
]��G��H�@���Re0��^.=6��@��ؔ�1�Sjv�H�FT(O�ę=��8nܴ;assets/images/icons/icon-user.jpeg000064400000040542151171034350013206
0ustar00��� �ExifMM*bj(1r2��i��
��'
��'Adobe Photoshop CS5 Windows2013:03:13
11:42:07��f�y&(.�HH���Adobe_CM��Adobed����
��yf"����?
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�T�I%)$�n��1�n
��N�N;K�~5��w�IM?�?X�z�2N�"��<��Y��^[���Ωi/�u��X�<��������u��fvA��W:1���՝��4��?�?Z�1�,�u��/a��+Ѻ'����ج9ַ*v����}�Fݎ�Z�]���IO���]�m�8=��4�#ȅ%�?���q��oG��N��v�����kՒR�I$���I%?��T�I%)y���wc��k�g��7kγr�U��.�߬8������XDÌ�����,qNJ[Xj�@��w�|��w�l��y.}�4�R@��ˏ>�S���_՟��2��l*��6��c���7,��+�7E�;}Z�7�
�;��[�nNvFr���_�j<��Vѧ �i��<�yw���c�緩b����`���8�ߣ�ܽ#�*�P���8�a�YE��GÞ1�'Q�����F���v!}�C����[�ϰͶW���S��3r�?Q:�M�d+
׆���7��
Go�O����~zwC����n/�w�>���Os����#|`�_���0 "�k��I)V)$�IO��T�I%)c����j��H�O��l([S-a����*,���fW��&,���e�hE���uv0��ҏ
c���C'6+i�]P��D!
�4{'K����ж:=N�6��gt��e�MU����j��k�é�v�1��`�
ǜ�I$��MI$�J��T�I%)$�\���>))��p�}&��H>
k���<�]X-2������3W9�Lh�W-���ü�\k
��Ty�p�dC���-;��;kOpU.��dW��ph��P���o�
��x���~��\d�s�!ʸ�d�".���)<2:V�oA��^5"����!7"�
��2#T@A�%�(
��I:��I$��I$���U�v�s�
��.��O܃^��us�qIL��}7m����Y[x|{��KrJ^�����#��V5yt�~X�-�
��k��5�@�AX)�cB�|��4�m>�䶡�TX��k����~�d�w����^3��k�m;�7;��g�5݉.��.���b��R�&Yd#��Fֆ��|Jc[�m>#DےܥcV�Y�߸�1�x����vX�;\<g���I$�S���?�zv�y�1���@ܒ�nKr��$�����,��K�o�>�\+?�p������R��߯�b�>i��:~�v�����/�~���>�`gL
�n���r�#t�8IIw%�r[�RM�6;����T�J���IN�I�D������n�~�+��ʇ�Z��nC#�b��Y�{K}@8<��E�7��~r�h�����kݸrN�칏�'_�)6���|�+���b����7Y�T��J��vT·5��s{��{O潩)��}�r���o�C�ǩΞd���~��)�����Vn���\���;�[����h
h�8$���܇*�cLs��)�=��k�g�:*y�*�+r꡵��:��K�ى��@�����%6[��{�?*J��`��؈I%?��T������8A
��2�5
��Jr]�r�݆<�<~�-��)��3�u��q���Ho�-t�)�oJ����O��GO����I)�kGd�$���I%?���Photoshop
3.08BIM%8BIM:�printOutputClrSenumClrSRGBCInteenumInteClrmMpBlboolprintSixteenBitboolprinterNameTEXT8BIM;�printOutputOptionsCptnboolClbrboolRgsMboolCrnCboolCntCboolLblsboolNgtvboolEmlDboolIntrboolBckgObjcRGBCRd
doub@o�Grn doub@o�Bl doub@o�BrdTUntF#RltBld UntF#RltRsltUntF#Pxl@R
vectorDataboolPgPsenumPgPsPgPCLeftUntF#RltTop UntF#RltScl
UntF#Prc@Y8BIM�HH8BIM&?�8BIM
x8BIM8BIM� 8BIM'
8BIM�H/fflff/ff���2Z5-8BIM�p��������������������������������������������������������������������������������������������8BIM8BIM8BIM08BIM-8BIM@@8BIM8BIMIyf
Untitled-2fynullboundsObjcRct1Top
longLeftlongBtomlongyRghtlongfslicesVlLsObjcslicesliceIDlonggroupIDlongoriginenumESliceOrigin
autoGeneratedTypeenum
ESliceTypeImg boundsObjcRct1Top
longLeftlongBtomlongyRghtlongfurlTEXTnullTEXTMsgeTEXTaltTagTEXTcellTextIsHTMLboolcellTextTEXT horzAlignenumESliceHorzAligndefault vertAlignenumESliceVertAligndefaultbgColorTypeenumESliceBGColorTypeNone topOutsetlong
leftOutsetlongbottomOutsetlongrightOutsetlong8BIM(?�8BIM8BIM�fy4������Adobe_CM��Adobed����
��yf"����?
3!1AQa"q�2���B#$R�b34r��C%�S���cs5���&D�TdE£t6�U�e���u��F'������������Vfv�������7GWgw�������5!1AQaq"2����B#�R��3$b�r��CScs4�%���&5��D�T�dEU6te����u��F������������Vfv�������'7GWgw������?�T�I%)$�n��1�n
��N�N;K�~5��w�IM?�?X�z�2N�"��<��Y��^[���Ωi/�u��X�<��������u��fvA��W:1���՝��4��?�?Z�1�,�u��/a��+Ѻ'����ج9ַ*v����}�Fݎ�Z�]���IO���]�m�8=��4�#ȅ%�?���q��oG��N��v�����kՒR�I$���I%?��T�I%)y���wc��k�g��7kγr�U��.�߬8������XDÌ�����,qNJ[Xj�@��w�|��w�l��y.}�4�R@��ˏ>�S���_՟��2��l*��6��c���7,��+�7E�;}Z�7�
�;��[�nNvFr���_�j<��Vѧ �i��<�yw���c�緩b����`���8�ߣ�ܽ#�*�P���8�a�YE��GÞ1�'Q�����F���v!}�C����[�ϰͶW���S��3r�?Q:�M�d+
׆���7��
Go�O����~zwC����n/�w�>���Os����#|`�_���0 "�k��I)V)$�IO��T�I%)c����j��H�O��l([S-a����*,���fW��&,���e�hE���uv0��ҏ
c���C'6+i�]P��D!
�4{'K����ж:=N�6��gt��e�MU����j��k�é�v�1��`�
ǜ�I$��MI$�J��T�I%)$�\���>))��p�}&��H>
k���<�]X-2������3W9�Lh�W-���ü�\k
��Ty�p�dC���-;��;kOpU.��dW��ph��P���o�
��x���~��\d�s�!ʸ�d�".���)<2:V�oA��^5"����!7"�
��2#T@A�%�(
��I:��I$��I$���U�v�s�
��.��O܃^��us�qIL��}7m����Y[x|{��KrJ^�����#��V5yt�~X�-�
��k��5�@�AX)�cB�|��4�m>�䶡�TX��k����~�d�w����^3��k�m;�7;��g�5݉.��.���b��R�&Yd#��Fֆ��|Jc[�m>#DےܥcV�Y�߸�1�x����vX�;\<g���I$�S���?�zv�y�1���@ܒ�nKr��$�����,��K�o�>�\+?�p������R��߯�b�>i��:~�v�����/�~���>�`gL
�n���r�#t�8IIw%�r[�RM�6;����T�J���IN�I�D������n�~�+��ʇ�Z��nC#�b��Y�{K}@8<��E�7��~r�h�����kݸrN�칏�'_�)6���|�+���b����7Y�T��J��vT·5��s{��{O潩)��}�r���o�C�ǩΞd���~��)�����Vn���\���;�[����h
h�8$���܇*�cLs��)�=��k�g�:*y�*�+r꡵��:��K�ى��@�����%6[��{�?*J��`��؈I%?��T������8A
��2�5
��Jr]�r�݆<�<~�-��)��3�u��q���Ho�-t�)�oJ����O��GO����I)�kGd�$���I%?��8BIM!UAdobe
PhotoshopAdobe Photoshop
CS58BIM��
�http://ns.adobe.com/xap/1.0/<?xpacket
begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP
Core 5.0-c060 61.134777, 2010/02/12-17:32:00 "> <rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rdf:about=""
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:photoshop="http://ns.adobe.com/photoshop/1.0/"
xmp:CreatorTool="Adobe Photoshop CS5 Windows"
xmp:CreateDate="2013-03-13T11:42:07+07:00"
xmp:MetadataDate="2013-03-13T11:42:07+07:00"
xmp:ModifyDate="2013-03-13T11:42:07+07:00"
xmpMM:InstanceID="xmp.iid:E00FBF81968BE211BE3BA11E3B4224D6"
xmpMM:DocumentID="xmp.did:DF0FBF81968BE211BE3BA11E3B4224D6"
xmpMM:OriginalDocumentID="xmp.did:DF0FBF81968BE211BE3BA11E3B4224D6"
dc:format="image/jpeg" photoshop:ColorMode="3"
photoshop:ICCProfile="sRGB IEC61966-2.1">
<xmpMM:History> <rdf:Seq> <rdf:li
stEvt:action="created"
stEvt:instanceID="xmp.iid:DF0FBF81968BE211BE3BA11E3B4224D6"
stEvt:when="2013-03-13T11:42:07+07:00"
stEvt:softwareAgent="Adobe Photoshop CS5 Windows"/> <rdf:li
stEvt:action="saved"
stEvt:instanceID="xmp.iid:E00FBF81968BE211BE3BA11E3B4224D6"
stEvt:when="2013-03-13T11:42:07+07:00"
stEvt:softwareAgent="Adobe Photoshop CS5 Windows"
stEvt:changed="/"/> </rdf:Seq> </xmpMM:History>
</rdf:Description> </rdf:RDF> </x:xmpmeta>
<?xpacket
end="w"?>��XICC_PROFILEHLinomntrRGB XYZ
� 1acspMSFTIEC sRGB���-HP
cprtP3desc�lwtpt�bkptrXYZgXYZ,bXYZ@dmndTpdmdd��vuedL�view�$lumi�meas$tech0rTRC<gTRC<bTRC<textCopyright
(c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ
�Q�XYZ XYZ o�8��XYZ b����XYZ $����descIEC
http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB
colour space - sRGB.IEC 61966-2.1 Default RGB colour space -
sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing
Condition in IEC61966-2.1view��_.���\�XYZ
L VPW�meas�sig CRT curv
#(-27;@EJOTY^chmrw|�������������������������
%+28>ELRY`gnu|����������������&/8AKT]gqz������������!-8COZfr~����������
-;HUcq~���������
+:IXgw��������'7HYj{�������+=Oat�������2FZn������� % : O d y � � � � � �
'
=
T
j
�
�
�
�
�
�"9Qi������*C\u�����
&
@
Z
t
�
�
�
�
�.Id���� %A^z���� &Ca~����1Om����&Ed����#Cc����'Ij����4Vx���&Il����Ae����@e����
Ek���*Qw���;c���*R{���Gp���@j���>i���
A l � �
�!!H!u!�!�!�"'"U"�"�"�#
#8#f#�#�#�$$M$|$�$�% %8%h%�%�%�&'&W&�&�&�''I'z'�'�(
(?(q(�(�))8)k)�)�**5*h*�*�++6+i+�+�,,9,n,�,�--A-v-�-�..L.�.�.�/$/Z/�/�/�050l0�0�11J1�1�1�2*2c2�2�3
3F33�3�4+4e4�4�55M5�5�5�676r6�6�7$7`7�7�88P8�8�99B99�9�:6:t:�:�;-;k;�;�<'<e<�<�="=a=�=�>
>`>�>�?!?a?�?�@#@d@�@�A)AjA�A�B0BrB�B�C:C}C�DDGD�D�EEUE�E�F"FgF�F�G5G{G�HHKH�H�IIcI�I�J7J}J�KKSK�K�L*LrL�MMJM�M�N%NnN�OOIO�O�P'PqP�QQPQ�Q�R1R|R�SS_S�S�TBT�T�U(UuU�VV\V�V�WDW�W�X/X}X�YYiY�ZZVZ�Z�[E[�[�\5\�\�]']x]�^^l^�__a_�``W`�`�aOa�a�bIb�b�cCc�c�d@d�d�e=e�e�f=f�f�g=g�g�h?h�h�iCi�i�jHj�j�kOk�k�lWl�mm`m�nnkn�ooxo�p+p�p�q:q�q�rKr�ss]s�ttpt�u(u�u�v>v�v�wVw�xxnx�y*y�y�zFz�{{c{�|!|�|�}A}�~~b~�#��G���
�k�͂0����W�������G����r�ׇ;����i�Ή3�����d�ʋ0�����c�ʍ1�����f�Ώ6����n�֑?����z��M���
����_�ɖ4���
�u��L���$�����h�՛B��������d�Ҟ@��������i�ءG���&����v��V�ǥ8��������n��R�ĩ7�������u��\�ЭD���-�������u��`�ֲK�³8���%�������y��h��Y�ѹJ�º;���.���!������
�����z���p��g���_���X���Q���K���F���Aǿ�=ȼ�:ɹ�8ʷ�6˶�5̵�5͵�6ζ�7ϸ�9к�<Ѿ�?��D���I���N���U���\���d���l���v�ۀ�܊�ݖ�ޢ�)߯�6��D���S���c���s���
����2��F���[���p�����(��@���X���r�����4��P��m��������8��W��w����)���K��m����Adobed���
��yf��
���
s!1AQa"q�2���B#�R��3b�$r��%C4S���cs�5D'���6Tdt���&�
��EF��V�U(�������eu�������fv�������7GWgw�������8HXhx�������)9IYiy�������*:JZjz�������m!1AQa"q��2������#BRbr�3$4C��S%�c��s�5�D�T�
&6E'dtU7��()�������eu�������FVfv�������GWgw�������8HXhx�������9IYiy�������*:JZjz��������?�N*�Uث�V-������'G7ڋz�2�l���Rgʃ��|����_;����mFK+2O�eh�j< Rϻ�U����:�K=��qE5h&v�&�H�_Fy'�ɚ֙ ֮��Z� yzL�ΒS�F�,�8��m�-�`I��Y��r�X�2�=�USv*�Uث��N*�Uت]�?0i�^��u�JOJ��&�V�i�W��?
�������.��1��7�@s��Xa��c�M�����o�T��t
)b�^�8�tme<��M��u'���v��.�^��⯪�Wb��]����N*�Uث�_���2��y_Cѡb��W2MrG�e^*�I��*������?�/,h�n��U���Uە>�~�`�5��C��߇��[y[����˖���[osp�y���$��sk��[��^�Ft(�̇b������G��s�rK�ˡ���L�X�}L�!P��r��q]�J�����34��=����c��^��ãu!���n9�����\�j��е����{p�M�,,bv�d��f��Wb���N*�Uث�?�!|���}�-����l.J�,�Uezo�����6��e�0�û��iLd�����K�zn��>��x�V��g`h+���'4:��.C?���e�t�+JN0��mL��Q�%����k�Mƕ�B.,n�����A��S��0�N2p�"���?ȟ5y{SS�#jZ-Ī�ݨ���p�셯���W:]/jc�W�c��uytr��x�����b�|�e�D���G��R��n�gf9ggj��&G���`��f��q����N*�Uث�Ż�ͭ��e11�
�}��w��(��qٓb�۸d�Daaϒ�<W�:[����˧���/QC�B
�K�B�2�3�e�O�x4dgi٤��;�gS�8�0��/S���K&����v*�U��N*�Uت�լP43�x�P��r1�qᐰ�169��O�%�������OӜ��Y�Fc$�4-r�
��Y�����&I"���m)�f�2���������̲�;X>'pX���9ggi�\�G�-z��(}Rg��lΥ�;v*�U��N*�Uث�T��Z,W�ot��Ͳ3��2��S�3]�1�66�\��������w�8bQ�4�gb�7k�5��V�~�I=��w������E�{�Ɲa��$�p��L��t�6�N�Kh�vs�':m>�]l�$��//jv*�Uث��N*�Uت�%�?��~f����.#��]�B
��+S�Q�I���T��~��C���|���`� ��N�A�69�T��ӧ��(G�A'�� fِ�S�'�J_�&�I��`�W��
hfvv�Y$&}0��'Y�@p��'�%����O���Ήӫ�+
�<F��x��Wb���N*�5�FB^S�_������Y8/�G���qU���
�1��j⠬�*����P���}Rқr�b�v9N|�6��q���Яn5��x$'���ڟ<�����/�?읶]|D.?T�س>1YZ�0(�ă�Ά1Pt��l��8�u��'rp�k[�O%���?�*�;����?�8��3G*�CQЎ�1U����<��yDR�p�*���S��'����*��b��1Wz���ia$�FS���7�8��*|����MSD��N��4��K?AJ�ɾ�z��r�_g{�r/��yI�S����z���LU��U���r���G
���*�b�����l'?��튡C�����]�b�����AԚ�|�-�������Rl��Q�����*�S��]�b�z���LUJ�J"����*�b�����i���T}�1T���Z2Ё]�LU�Sw����2�/~^��m����A���|-�i�'��g���#1����I_�ث�DJ�5���]�b��1V��1U;�?p�¿q�Y!Ǖv�qW���o�o�0�礎���U
�b�y�8�[G_��¨8�#�*�Sx��n�<���`�b:P�o��|j ��銿E|��M}�
�pV{�i$�&�I�qT���]�C���o^��#]y--e5�b��-�j���U���Ʊ��} f�*�Z�Y�<bt�b�K���v�������A�kAM�b��o
��8�u;�b���T�̾]�ˢ]h�����xȝ#uu?��wV�^'��O�C_j���-Y�p(�P�-�t� ��8��ӊ"�(TPTl*�<U.�
*}I?�78�K�V��������
��ż=�TtZN�|�\���⬐i����aC����N*�U=F*�Kxd^,����7�X���QŻ���ykQ����#��/�3]O�o����*����G�Ur��eA��⨈��s)�I��wZ�}�me�X�D�U1F�Upt�]����N*�Uث�WUi�]��1V�Wb��]����assets/images/icons/icon_add.jpg000064400000012647151171034350012702
0ustar00���JFIF���
&#
/ #'),,,160*5&+,)
*$%),),,),-,,),),,,,,),),)))))-,,))),-,,,),-),),),,,,����"����R!1QR"Aaq�����#2b����Br�$3CSst�����4DT�����cd��������1!1"AQ��q��#2Ba��3�CR��?��"
" " " "
"�%�6��cy�R�|�\��q:��~0`����v
�g?&f�~��$p�n앱��'�b��k��������E���;C�zEV�V���4�����������������������b�18��cs��PU�]�4����3
r�%tW�����j�^ܿ"�l�!�1v'l��zN��g�I]�65�Y�ܣᱮ�@�5��Sl���h�Yd��y��3/f]x�z��v��4�W�e�ʣ,�ǁ���ڠB͖���s�1�Ե�c$��د����=cܻ��O�NjvaסA�sR����j���~e����{|����v���7`����< 6N��O岉G~Q�V�l�d�",�����������'�zJ��KRb��GK�����\��f&�"��
2r}_�d��4��WT���F���W���f$�5$��s�u�H�g��T[ Z�m���G��^9�ȴ�E
9"S���,ֲ��%�����$ĵ�LJpW�ى1-x�0F�K�KV$ģ��/j�/C�`������t�! �N���tt�j���ǭX���
��3�5�d�Um��wY݅�t$�K}&���Ի������;�q��\c��9��PFpB�.D@D@D@Wʋ��#?�p���j^��>op�#��K_0ҩVhˍNrMI9�:�~���$����q��tX��Z�Y����r�8a#�V�$I$\�z#'3�=`\�.X�-R9\��/*�ļĭ��3Ę�J�d�bXU*�L�/q-x����rlY-U^���7,�ZC�AʭL�B�%�
�� �&̟���>IǂO�y��ƭ��֨��&oM�=�ƲG@k���w���.���E�2��T�>��"%�P����/kf����9��!LSo����e?(�����x�6�<#��V(�m��*n���ܒ�TQ���r~'S��^��J��Yf�xD=�|�<�mh\ሓ�A�p��}l��n��^�8F�J:.St��v�Lq��O&�|O����7���a�$�;Ks��v�3f�}O����7��݅�����e�;jv*k7�\}�X��\}�[
�/��^o��o��#s^�Z5�݄��F�����)}�7�_C��Gt��7�Ѯ>�&�Z5�݅����v� �2���;�����5�݅���\}�Yo��o��7��#�����u�݅���\}�^�އo����_o���Ox����L�C#Z$
��4�4PG��T5�s�\ey�np�t��K����o�v.{��l�2_�\/�t��[�5LR��e��ԗ��Pk��z��fY�_9������-R�$��'zZ�%�T�U촞��ܕ<��-VQ�i<�,�ǻ���]:U�Qɬ�)�bb��fQv����z�.I\�J�����1%bJ�h�23G;>�\i�MA�b�w`��9��U�W!���wv�C����pT�Up��;N�ܛ���)�
�.
��i�ۗ����#
����6�ݹ7�
��nF��QG��O�ܼ��6�ݹ`H�j��}�s<���=������#���*%�C�c�ܧ�+����W�GK-�p�*,���͕����M}JJ�jd�����xC��B��F�f��M]��Ң<�> L���4Z�d���kT�����mD��}��k-�%�R���k�h�5��J���~�#z�H�+�F�z�Z�_��aRAٔ]��Y� �&���G.w��j.V�0����2$q?I��B�*���!y�ru�+Ԋ�Xd�A:d{�䌢�V&���;!yA�vB��2��X�+e������)�
��V�
M�rPjod{��F
�ͱ�T���w2�Z'lm/sA�khڹڴ(x���(c�恭j�GYe�q��e��ƥ�̑��lb8·���I�W+�$��I�}5"�a�A�9���W��m�?
�?B���e�G�����SM_ٟ�eR���m~'r�P�O�E�|��g����Y���[��;E��K�C�����#ۣ�Wת�{C�k�-"�#QXkl����߇U%��eߔNm5^��Q���_:��@懴�4���8!t�&C�:{(���受��ԪVq����O
��CQ�L!(X��)��]3����?}���J�*FGG��^
Z!s��5-ڮ�v��'����z�D\GxP9cf�gc���S�>#�O-6�0�7�t=�o5F��S蚑��냏�>bz�řDDX��k�\5hT��:��'�O��N[��#)�-:�R��J�7
i-4q�U�k���WE\ �'Q�)Wr�(3]�v���iݢ�W��bv��S�\5�wi��Ŷ�ӽ��#�c;%{��=J�K���w�bK���w�OJ
�^>CԽ�j�R%�o�Yó�N�'t�q��]�u~!�c���r����,��p����qF=���VrN��G�X�F�����K�V~�<�R���XU*�05�^�,�u�a�IX�&#)�K�)L'g֢��K��7������X�?�"�ڝ=r�m{�5��d�e�|���M_���1��$���W�
kA�K�T�O����ڭUK����.�kꌥɝU.rx
ۢ�;F���N���]j��&���¬sK\5����u˩}J�8���yx�����26�VԹ�#?�����}��@>R �ӵ�է�S�}v�h1���{��8Tx����)����C��j".�DDL��s�Z8�v�
��Tl���al�hp�x��Ø���'B�D�G���!қ��K�u�s�\?s�����"���{+^q��E3�����wSWk����ܙ�n�m;��w3i�M]ebU�G6r��O�j�{������V+��]�f���ަm?���GS97�=��5c5���
$�9ƴ��һ�=��g��o,��d4��q�R:��`���c��>��l�j���6zz6�?"&��_�H"�wJ�$ź`��
S ���e���"����Gg�z�=v�Er�m{�o�[����E�{|�]�s��cÏ��Z�mz�Y[^���������|��T��7Ǹ���+�nt�Ja:���F?�?��j��9i��^�����m�_c�?~|�7K��Xd1�ǺW��Z�k�)J��A��
��b��*�*3it�s�J\�L��ᴶA��ZO�i-��h�b�[1��א=TU��ó�'V&�ߓ�������������O��Iy}�fDD�p&R\{�wV.���vy�|T�+�n�FvW"�#�IL�1��K����eN!I��t =��UV<�ZAsu�WdmYG���S,><��,���+Dr�k!`V�+�&��"�V)��^�F�n�w�o�ռ���c�ᎍ>���Z�d�H�X^�6JOC���)ڪNM[�9�I��0X�V��߬�UK/�&z,��_�{��%�K)e0b�\kZ�j=����2��*�[8�&ZTW'��ϝ߷`�J!�X�%p��\)J��U�-?���oU�TۂlG|Tliy��M[!�džL���kZ�jO���Or?�n�c�%���mV:�+n�3i1�j�Zr[��W�,��
����KpS�)S�H�k��Y��ѭis��I\��<��)B8\���b�5�����xaW���C����<��̅��A��<�h��h:�R���|�1�o3E��Wܮ5��ĺv�q��-D@D@|d�-1���3�8��TV��bRp��L����VI
v Zx����5�uW�mvH�Ǵ9�Hp�TK���g|L�@&�TV�Mh��٭�:�'b����V$,�^��E��^Ql���)�
/h�����81d�ƫ��2Y"2�f�O ��WG�Z�+�N�.>Y��Cl{yy�4���,w8<mv�Y
x
����#Aư���<N�nu��x�B�UC]YDɨ��9tP�c��}�֥��%�7���bC�97�Dۮ&���x���Q�!��s���T��]8�&e-=Ryk������1I��pS�4�JF�
��$��$��Jͷ'�m���6UT��H�`|�*4G�s���{}�X���s�t�)����ָ2g&�l~'U�v�(��a���]K���i3�띯��vɯ���۞3
�
��{J�����5�hkZ3�f��k�}Lo��SdnxM3���v�Y����~�o�`���$F�9�p�-��<|����5���߈���5\|9��,+b��{U�*2^,K��
̕�z�|�pdӤ�ӂ��3���p�o��g(��UL��LHc0ւBty�W�E��C?T-�./���?��|/�_�>}�h�����u�.��FyF�*��͆�*�9k&�I��ծ[g�o���Y���-��}fi��\6<��~6�d���־����|�B����X��hU��ŋ%,�{O��`�Ŗ���k����G�l9i��`��i�N��͒frU��_Z�&���$�#�Ӵ�?�1쵋m�Ј�e��h�ky^�P������S���I�����n�{�|�Y��Yy���*z�vC�L�q�h�'�C�U��Z+�$����&����-\iܚ|���h��̯p@������4Q�h��lE�mҵ��Ti�J�W�DE�� P��S�C|��0�A�v������Q��B��<�p�@T�����~�~�lǑ���Z��o��&�u#�hۙ�:�W"L��(����'�|A˻^���F�5�Ƭ[ݙ�{��\��ثw��r�Ȼ!�-O� h���9�JB͑/9啭��O���<��[��_��^|ˢ�tOh��;�_EU�œ6h���})8g�@�R�.i�R���0�ᯛЃ��V()#���8q�E���S��|�)�ɍk�5���DT4����������������0��asC����W)�l���]������r�üvo�G�6�6q�����Z)뗛#���W���,m�X��5�mDU�K����assets/images/icons/jpg.png000064400000001764151171034350011724
0ustar00GIF89a�:O�;Q�=S�>S�`�a�$p�/x�Pb�_l�Bt�M�}m�ty�{������,��+��-��1��4��4��?��X��_��`��x��N��S��X��S��U��I��V��d��j��k��b��h��r��r��y��{��~��yʅ~τĐ������������荵☹�砹衿�����״�غ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�K �b��*U�\�p�
,x��C
Å3�|9R##|�\,���&^���r'����)Jt�O�4\�@��(�$P�����J0��CH�� ŃH�`�ᄛ��nT�0A�Z่�I!C�������~�h��A�0|��)�'O�&Iڠ��
£@m�D R�8&5J�L�(m�f3)ΝAq���"�3�Ϡ�]f��;assets/images/icons/lock.png000064400000002213151171034350012062
0ustar00�PNG
IHDR(-SgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTE֬բpppܵ<gfcwww̙��:��UܼZ�����m��D��`���_[R��rӠ��y��q��U�3��P��vȖ����ԡ֬0ԡ�B͚��k�F��{��X��lǬX�P���߬%��~��zte8�ؙ�ҏ��ٜF��|����������������������j�E;=tRNS������������������������������������������������������������ /�_�IDATx�b��FFF
��|~#~�@A�YYŸ�L��
���ps����X @A�xy9AL�0�q�2)�3�`ѐ�7�4�� X@T��B���
��<<�J�`��[qr�p�,�e����&�
������
�F�[+��Ĥ+�v@A�PoԷ`��*RbL�@IEND�B`�assets/images/icons/mid.png000064400000002032151171034350011702
0ustar00GIF89a�222666:::===>>>???BBBCCCGGGKKKMMMOOOSSVUUVWWYZZ][[^Z\_[]_\\_^^____aaaeefiiijjjkkkkklmmmloqoortttvvv{{{~~������������������������������������������������������ï�ٺ�ž�������Զ�ܿ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�A �ČA3Z��ԖO?a���JC�1ph�iP�KN�X��D
?.t��H#
0P���F<U��d���"$H���#G>e�����(,X�E#��]y� ��hQ�Bp�T�"�
4ha�HB�;p�d���3�(*#�:p�t�
�"���О8i�@�D��L�t��5n�>
P�2a&H*MGM�:l�!����
ԁX4Y��HP9h�,f(����A;assets/images/icons/mov.png000064400000002013151171034350011731
0ustar00GIF89a����� ��
��0��:��2��4��;��K��@��J��N��M��U��_��Y��N��B��I��K��Q��Y��[��^��i��l��p��b��d��f��k��i��|��n��p��v��|�荵υ�ݍ�ڜ�ΐ�ՠ�Ǧ�ɨ�ʪ�ʬ�̮�ͧ�Ѱ�α�ϰ�Ѳ�а�ִ�ъ���������۷�Ѷ�Ե�ٸ�չ��ܠ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�o G�A>l���V)[�f���g���ڪ�Ԥ2��4l�c
B�Ta����#>tX@��U���!C�*�XY���#Pw�"�G��8�
AI�4c�@��TQ�@bb�G9j�x��@�Wz�Z� "?tڠ(�A�W�M�ҡ?s�d0���
�8RIQ�:nF8@C�$t\ZT��_�$ �H
�у�iX��Q�2UJ�t�>pؠ1#�.Z`\>0
;assets/images/icons/mp3.png000064400000001761151171034350011640
0ustar00GIF89a�RLRYSYZUZ]X]a\ajejkgklglmimninrnrsnsupuwswxtxE�ET�TU�UN�N\�\Y�Ya�aw�wy�y�~�����������������������������������������������������������������������������������������������ƅ���׀�Β�ԕ�ܑ�鋕啵�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�!�b��0a��Ȑ��4!� Q�!C2o2f\� ����9�
�$7@X43�eK9P����;8sr�aA�h�Z���,Q"T`�F��;r�x�C��&\�O9LXHق����k����B��#��А
�?~6X��59�D�D�@h����7�"3q
&V4|S�s
HA$F�+p2���,Vd��ͤa@;assets/images/icons/mpeg.png000064400000001764151171034350012074
0ustar00GIF89a�>==',V5R~EoObbdtss
X�^�P�h�g�8[�k��}�Qj�T{�W�1^�?a�L��}��}��E��T��g��c��I3�UX�nb��Oê,¶X٢}����������������������������������������������������������������饾��ͮ����������������ֶ�۽�ڒ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�A ���/`�\�P�
Gt��
Å4���!��\U��
=���̋��
ԇ�5X�8��hQ�@���X�f˔��9
䢅-x�(�R%�\ab�����F0`Bŏ3+Ź� ƅ2t�@��h<��AD
)]Դ�AX@"!�`O
p�ℒ��!`�!@d��yRN��P9���E6mb�fC{M�;assets/images/icons/mpg.png000064400000001764151171034350011727
0ustar00GIF89a�>==',V5R~EoObbdtss
X�^�P�h�g�8[�k��}�Qj�T{�W�1^�?a�L��}��}��E��T��g��c��I3�UX�nb��Oê,¶X٢}����������������������������������������������������������������饾��ͮ����������������ֶ�۽�ڒ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�A ���/`�\�P�
Gt��
Å4���!��\U��
=���̋��
ԇ�5X�8��hQ�@���X�f˔��9
䢅-x�(�R%�\ab�����F0`Bŏ3+Ź� ƅ2t�@��h<��AD
)]Դ�AX@"!�`O
p�ℒ��!`�!@d��yRN��P9���E6mb�fC{M�;assets/images/icons/no.png000064400000002321151171034350011546
0ustar00�PNG
IHDR(-SgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTE�1�ed����6�3�1�2 ��3��2�2�4)�6�hB�: ����F�A<�uU�3�cA�cA�8+�{_�pM깫�$�,鴥�ȼ�+����Ǻ����������K"�^=�\4�Ķ��a�K�Ȼ�a:����fF����{[ـf�{_��z�A�7+��5��5(�E?�.�,�
�
�8�/�6�6vb�FtRNS���������������������������������������������������������������������i�D�IDATx�bp&IYYs&0
�@\KQU}SQu{�@l$�tմ����lE\]���ICKES����ՅS��
�\�TT�Ł��b���į�#ά��&�,����@�F�,�B�J��ʎ<�����/T.�̬��3r���
++P=�;#H ����@��<D�
����8
����噍�L��j�M��������
������L�t���t:@�=��s�<@��rq�B�`�����āIEND�B`�assets/images/icons/odg.png000064400000001771151171034350011713
0ustar00GIF89a�%%%==>AAAGGGLLLZZZ[^b]`faaailnnnnrrry{'��q��
�
���&M�ZW�a������������#��T��T��b��h��k��d���v'�e1��)ߤ|�f��������������������������ؠ�ǫ��ë�έ�ϯ�ϱ�ǰ�ѱ�ѳ�Ҝܶ�朑靣�ֵ�Ӷ�ӷ�ӱ�۸�չ�ӻ�ӹ�Ժ����ٰ�Ⲣ괣�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�E u�A2+��P�O��4X�F���%�0Ѐ�Dbu�H�ş)2�,�bd����((EӤCh���y>��$L�%6:@�PL���%�(X���!@�(��@J�>5��
"�X=ʑ
&>2x�Pb�\����0Q!�#��I
$X���bP�a�@�A�R��� ?�
d�a$G�҃G7j`�=0
;assets/images/icons/odp.png000064400000002000151171034350011706
0ustar00GIF89a�!!!"""444666AAALLLLLM[[[aaabeichplormpvnqvprvqsvzzz{{{z|~~~}I�d�CK���sqٙx����������������������������������������������������������������������������ʕ��Ʀ�Ģ�ʦ�ͬ�и�̷�Ӷ�Է�ݹ�Ӻ�Ӻ��ʸ�Р�ۣ�ֵ�쏆�����尪��Ⱦ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�7 <Sƌ�0��p�%Lsb0��˔�)y0
!!=d�P�xF�
?N\��G
�4�S AI}�x�A#� i���.5:
���L�،�C
J�x*h�5i���`әK�4R��#E0h`xV�%DDiӄɒt�NReN�,t�TA8S�DO�@�q%Ȑ�!!����2�l�Q�NH��`A��>~��"� 0��
6;assets/images/icons/ods.png000064400000002026151171034350011721
0ustar00GIF89a�../3E=P5?D
GbZvCEFRRRCI_ac_bgbbbdeggijkkkkmpxxyq�=s���75�H=�O��to�1s�-0������������������������������������<��0��$��$��$��
����
�3�[��D��S��o��ui�hM�:&�|%�D*�K>�P/�_)�\1�gR�M���������������������������������������������ǥ�ȭ�è�ˮ�Ŭ�Ϭ�а�ƻ�Ɨ��Ӧ�ֽ�µ�ѷ�Է�ֵ�ҹ��ֹ�ٻ�ٽ�۾�ٿ��ɵ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�� D���ASID��0Z��HX0�Ѧ�gAI��^��]��:T�rS�����D@�$�4Z�\��P�O���S��.R2y` �a�\="$HMRd8�G�4UB�GJ@�X���
�Ny�4H
"H��C��l�
uH
�#P��0$�!o�ISHʎ'Th��H#Uج1c(�&,T�pćJ�
%Rt5G�"�W�[�]�gO�O�R��i��ȼH�N�:��;assets/images/icons/odt.png000064400000001747151171034350011733
0ustar00GIF89a�&#///-@)9JM}2DR7EP9KZ4Og=RjLKJ@XoJ^tE`qKcPewZ�$d�Si�[m�Tq�Zs�_w�[z�As�X}�`{�_��^��^��Y��p��b��d��b��g��i��i��l��l��t��x��x��a��a��g��f��n��h��i��l��l��{�ɀ����������������������������Ã�˃�҇�Ԇ�֊�э�ԏ��ݙ�Ǘ�ȗ�ɐ�ؖ�ђ�ڐ��榱���ˠ�˱�б�ј������ʱ�ѱ�Ҳ�Ҳ�Ӷ�ұ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�G H�����6thBċ6nԠ!ƃ�h�F��9s�|H���
ȈZ)
�U�T
H�'O�8�yb�I<�@#)�$J�1��An%jĨ�=%!8���@M&(p
��(W�����
v�Y�`
3`d��P<w�,��G�)�'��!��T)S'L�9B�"J�dт%��^�:
;assets/images/icons/pdf.png000064400000001760151171034350011711
0ustar00GIF89a��^@�fH�uX�pT�sY�z_��r���������������������������������������������������������������՜�ܣ�Ŵ�靍����㦜������������뾴�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!�|,��H�
A 2h�a��/Ȩ�c�<�@܀�Ǒ$� cà�!N��(�Eʆ
�x�E�i�pa���.h࠰2��,C
2����x�3n�Hq%O0I
6 Ӧ��`�� �1S
Đs���
�7oА�ң`T��8���!7
~�A$I� (@`��:jЀ၃
N�P�
bW� 0
;assets/images/icons/png.png000064400000001764151171034350011730
0ustar00GIF89a�:O�;Q�=S�>S�`�a�$p�/x�Pb�_l�Bt�M�}m�ty�{������,��+��-��1��4��4��?��X��_��`��x��N��S��X��S��U��I��V��d��j��k��b��h��r��r��y��{��~��yʅ~τĐ������������荵☹�砹衿�����״�غ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�K �b��*U�\�p�
,x��C
Å3�|9R##|�\,���&^���r'����)Jt�O�4\�@��(�$P�����J0��CH�� ŃH�`�ᄛ��nT�0A�Z่�I!C�������~�h��A�0|��)�'O�&Iڠ��
£@m�D R�8&5J�L�(m�f3)ΝAq���"�3�Ϡ�]f��;assets/images/icons/ra.png000064400000002010151171034350011527
0ustar00GIF89a�""="5!,-26.37-3804805:46948<7;?-K1N5\5<AC_O{/ZTTUYYZ^^_NcvJeYfndfmdgmjjjfluilrlouap}gpytuvY�Z�W�a�f�k�s�*x�.~�r�w�w�y�z��Df�Mg�Rj�Sj�_q�Zq�o|�l|�u|�������)��{��n��G��B��q�뀀������������������������������������ɫ��ŭ�ĭ�Ů�Ŭ�Ϯ�հ�ѱ�ѳ�Ѷ�Ӷ�ٸ�Թ�պ�պ��ֽ�ػ�ݿ�ޠ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�q �(O���3�!�T�n�re�P�=��5+V+T�JI�#P �;t�сÛIe�TX"�$F^����#Da�\��cM���
@i�`����)P2$Ѱ�C�e�u�H�
�����H�i��� p@N�
ͽ0DH 2$�Pa�P'K��N�QcF+PP�(�&LsOD��A�
<Y��C7|�̡���Ks�ic��1`�x�b%����;assets/images/icons/rar.png000064400000001751151171034350011724
0ustar00GIF89a��+R�g~�Us�Wv�_|�^{�Sr�Yw�Yw�^{�Yz�b�`}�y��v��f��e��d��r��w��{��}�ю���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,� �d`��.i��H�$tR$l�d��D����Ch
�N-Bԥ��%ި��a�11~pyäH�!EXht��>���å�"
eƗ9�ظ�cA��a��S:����@)'Hx�`�B�:$�rDȊ<p���@B$[�|�ҥ
)P
L�7hƈ S`b#q�s���%�T��� 4��5;assets/images/icons/rtf.png000064400000001747151171034350011740
0ustar00GIF89a�+m$6W;WuEkgw�w��������������������������������������������������������ÿ�ڽ�滛뺮�½���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!�e,��H�
�'M���E��l� �f@��A�
-.HH� 1r����
faABG�,>����"@��a�C�
;
v����@|QD)�*f�H�Ò�_T�H1��.RD�PŏPؠ��
�8d��A>
�a�tF
�@"���$Gx0���b�L C��00)�i$L�Q2
;assets/images/icons/save.png000064400000002374151171034350012100
0ustar00�PNG
IHDR(-SgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTE��������jjj��zk�8��'d�2�z@P�(���u�B�Ə��Ӕ�a��M��W8�H�6XXXVVVٿ���i��<��;�ɑ�sў1�iܳ=�븍m!�⾘oFFFּv��ƿ���M֧1SSSɜ&�~"Ѯ`Ҷy_S9WSM\N5dP*���i
pV#ҹ�PJ=XRE[[[��0\\\YYY��-w[gU.��������@�Ywww���7�-s@�-+�M�?3�V�6o�H@�-mQ�.9�
h�?�&�#�V�V������-�#9�':�'M�@#��+������]��s�����y��\���������̯I��������-l��r�������������������c��ztRNS��������������������������������������������������������������������������������������������������������������������������?�&�IDATx�b���������b����t��
�/(���e
�0A6�@1Tz�\��R�)@�b�,��B
���%99��2
ď �6�U4rp� �J7w_����2>��
3�Z��$V^����͝���@ �F�O5p
��N)$k�VH�7�
Y*$��
irZҚ����W�PS��3�:
���6�&z�,,`�P�RD���iD�i.��IEND�B`�assets/images/icons/search.png000064400000002250151171034350012400
0ustar00�PNG
IHDR(-SgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTEnfl����������Ї��^^^ی@���z����Q�����������������������OOa������������Ċ�����ʣ��������������������������������������aau��U���sst�ess�{{{�}@�������ux��MGtRNS����������������������������������������������������������������������ǜVo�IDATx�bp�ff%ea&
��|)nm^SY77���
I�[���9�D��[�BCB\�R�
������|���`�6��WQ�ce �
=qN[NF���0Ԓ�q�f
����(���@�Xx8��YM����(�b����
�H�K�� �7�b��|7�b�G���+
�
��$Q�n�#+w�ʴIEND�B`�assets/images/icons/submit.png000064400000001744151171034350012445
0ustar00GIF89a�ޙ$����/�0�=؈\�A�V�D�p�w�|����������������[��S��d��e��g��Ȫ����¨�˩�ʪ�˯�Ŭ�̯�ͩ�Ӱ�ϱ�Ҳ�г�ѱ�ִ�Ѷ��ۺ�ҹ�չ�ػ��ߵ�ɩ�ͭ�Ͱ�Ӵ�ſ����ݖ�ɵ�̷�̼�Ӣ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,� $T��.N��ȐP�A��#&Ȓ�B�'
;F0j(��#.Llh8�3c��
��H=l��E�t��h���7��eG4d�p����0�5�0��p�$TP�E���,�`��,[��4'@68
��Rn�;qY�&�)p��I�F
�/\��]�B�%F����;assets/images/icons/swf.png000064400000001776151171034350011746
0ustar00GIF89a�
%$%21/]Z;kc?^]QlhRvlJ~hDseQsjW|pEwqZuZgggvvvxxxyyyzzz{{{|||~}~�pA�xG�{Y��M��H��M��N��T��_��L��W��Zߛ;ͻe�N��J��S��m��W��S��]��]��l��p��r��c��a��g��k��n��o��u��v��w���������������������������������������������������˳����̻�������Ι����������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,� sƌ�2e��Ȑ�5!��1�!�3o2fLC������9�M+GzXDS�eK9V�P1¨�4xr��#��n�:�N�0Y"��p͟?y�Y��˄.�4��:r�Hp��V�m��Ϙ
f�( ���C�
a6H`��a2>tQ��
�$J����+0���a@�E[r(0����4�r�� J���A��E|T��;assets/images/icons/tar.png000064400000001750151171034350011725
0ustar00GIF89a���;��I��C��N��O��F��M��P��Q��S��T��\��S��Q��S��V��U��Y��_��g��y��v��b��i��l��o��r��s��r��t��y��{��}�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�- xd`����h��"|X$��
�G���(��M�IQz��%�aB�3-tx�c�BVx��T�f��i"C��Fo��!����>�̸1�I)h�@pa
�#:`��F
*�CE� 6@H�
a/a3%J�%
&���珜5g̐Y0�R<�Dc@e��,"���T8�a@;assets/images/icons/tex.png000064400000001757151171034350011746
0ustar00GIF89a�M��T��U��g��k��p��{����閹�������槿������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!�w,������!*\hC�$P�a��
\
p@�+,�y@�Ԩr��.]���CƊ2X��Eȋ.Z�@!���0B�i�#�1,��C")N�8!�"Bh�0���K,�i��)\�P���`h�x����o�!6Ȍ�Z,��"E��2g�x��p�1p��q�F�1��]��9qܬ��Ç��=b�;assets/images/icons/tif.png000064400000001764151171034370011730
0ustar00GIF89a�:O�;Q�=S�>S�`�a�$p�/x�Pb�_l�Bt�M�}m�ty�{������,��+��-��1��4��4��?��X��_��`��x��N��S��X��S��U��I��V��d��j��k��b��h��r��r��y��{��~��yʅ~τĐ������������荵☹�砹衿�����״�غ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�K �b��*U�\�p�
,x��C
Å3�|9R##|�\,���&^���r'����)Jt�O�4\�@��(�$P�����J0��CH�� ŃH�`�ᄛ��nT�0A�Z่�I!C�������~�h��A�0|��)�'O�&Iڠ��
£@m�D R�8&5J�L�(m�f3)ΝAq���"�3�Ϡ�]f��;assets/images/icons/tooltip.png000064400000001354151171034370012633
0ustar00�PNG
IHDR(-S+tEXtCreation TimeThu 5 Aug 2004 20:24:37
-0000��
=tIME���� pHYs��~�gAMA���aDPLTE���s��)9�s{{c)){ss����!1�)�!c�9��B��!Z��{��ƭ��)�R�)��9�k)B�R���k����ν��R�{��9�{������J�s��9Z�Z�s��9�B�9�{�9�k�J�������B�{!��1����J�J�9��R����1k�J��s�kBk�1��{��k��Z�)1�{��ZƜ������c��!�s{�9k�)sޭ������c��9c�!1����!Z�){������9k�!�Z�Z�ޥ�����)B�B�9�9R�w��tRNS@��f�IDATx�c`/gk�̬l�NNIMKK����cb���U��|�@"�!�aa�**aaa�Q@��&>>>�~�@J90���E\݀����'�������������������X��X�������������)���gƠ���RQ��
�44Հ(�
�u���@YEEH��s00HJIK������KK�]*,"*�B
�prq������
A���������bX�+�yXOIEND�B`�assets/images/icons/trash.png000064400000002151151171034370012256
0ustar00�PNG
IHDR(-SgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTE������������������������
Z�tRNS���������������ܘ��IDATx�b�vfNfff
������������(@@f.NFvFfF�b�cJ�0�0023322�H������e
P��� �@ VV6F���`ec�dd �
F �
�
6 f� �
66VV�-W��U\�HFf>���`e`��@��u#ط�-�C
�v&i�Ҩ�IEND�B`�assets/images/icons/txt.png000064400000001757151171034370011767
0ustar00GIF89a�M��T��U��g��k��p��{����閹�������槿������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!�w,������!*\hC�$P�a��
\
p@�+,�y@�Ԩr��.]���CƊ2X��Eȋ.Z�@!���0B�i�#�1,��C")N�8!�"Bh�0���K,�i��)\�P���`h�x����o�!6Ȍ�Z,��"E��2g�x��p�1p��q�F�1��]��9qܬ��Ç��=b�;assets/images/icons/wav.png000064400000001761151171034370011740
0ustar00GIF89a�RLRYSYZUZ]X]a\ajejkgklglmimninrnrsnsupuwswxtxE�ET�TU�UN�N\�\Y�Ya�aw�wy�y�~�����������������������������������������������������������������������������������������������ƅ���׀�Β�ԕ�ܑ�鋕啵�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�!�b��0a��Ȑ��4!� Q�!C2o2f\� ����9�
�$7@X43�eK9P����;8sr�aA�h�Z���,Q"T`�F��;r�x�C��&\�O9LXHق����k����B��#��А
�?~6X��59�D�D�@h����7�"3q
&V4|S�s
HA$F�+p2���,Vd��ͤa@;assets/images/icons/wma.png000064400000001766151171034370011734
0ustar00GIF89a� '''<u<6Fr~jeeeooovvvk�o�Zr��
'�/�0�W�Wl�e
��8��o��[��^��e���M=�`X�ro�.�K�]6�l.��-��@��Y��k��jԨ��g����<��c��������������������������������������蒶�������������秿�؋�������������������ۮ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�U ��e�.]�\ȰF:lT�q� Å���#��\T�c�"A��Ӈ�����'O�4W�,� "EX�X�&K���(�ɰ�@Z䔹hi&��x0
���bpHJ�^ܹJC�&, 8� ����(Hc
�4%D8�KC�NL� 1��Q�$��ʼn�
=N�iZ0�4is�T��pBE
Ԧ�l��vӆ��5j;assets/images/icons/wmv.png000064400000001765151171034370011760
0ustar00GIF89a� '''<u<6Fr~jeeeooovvvk�o�Zr��
'�/�0�W�Wl�e
��8��o��^��e��}��M=�`X�ro�.�K�]6�l.��-��@��Y��k��jԨ��g����<��c�������������������������������������������������؋���������������������������ۮ�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�O ��e�.*\h#7p\e��
G���R CM,��AdH�
>zt�F�EF��cG��+T�XtԨ�!,K��a����G��d�P�-o�X���IF<EN18(�E/�X��qa��O$�1�@�"ݥ����'�R��Q�"(QLp��DI������-Q��ٔ�Mu2�
� ��4kb�Q��6�3;assets/images/icons/xls.png000064400000001767151171034370011757
0ustar00GIF89a�z[vEfcCyup�"q���������&�&C�J�?J�8@�F�"b�>t�1X�WA�AU�Uh�h|�Yv�yx�yX�,a�.b�9_�_r�Qf�fn�n}�}z�Ax�Fz�L��5��B��o���|�u�fG������{��7����^��~��b��a��e��i����x��X��R��w��v��N��tŝ4ש��6� ����������������ƅ�͆�ʊ�Ń�LJ�ȍ�ɇ�ʊ�̉�͉�͊�͎�͓��ȓ�Ξ�Ԛ�՞�Σ�է�د�ڪ�в�г�Ѵ�ҵ�ٲ��غ�ڸ�熢物����������ˡ��Ļ�ٺ�Ȑ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�_ 3���1e�\��� J,@�Å��p��'��\|�� �0g�tH�h����X����(6�ܹ���q��q#J��������A��I�5*V��qd���иy���E��HJ�(�1����d�B`�.^T��*
&>X
bDΤ��4h0��u�h�|J� 6옳)dW�[�b���(P����?~�;assets/images/icons/yes.png000064400000002326151171034370011741
0ustar00�PNG
IHDR(-SgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTEMMM���+�-�����������������������n{���9�3����;�2���<����D�!��ݢ���՝�٨�ٮ�����������%������!�
�$�
�������/�/��4�+�����(�&���(�l��l�9j�l��q��w~�y��r|�s�Hg�<T^pW�+N��N�'X�j^hc�1\�1]f~��ȓ�搙���Ĕ����ћ�ᖡ˘�Ύ��|����{��{�G��ۈ�U������K�%f�;�^tRNS�����������������������������������������������������������������������������������������������.&�IDATx�b�&(`��,��������
��:����l�@`}S ��(��*�
�@bf�<�|z����4t1�yYX��A���)F��g`�
��pw)
M_$�1 ��A@BK��Tvc�
�X5nff?�K��b�
Q�c��l��k���
�)z�A�l>�/#�
A9Y��@/_��(;���!� �[d`�)���rIEND�B`�assets/images/icons/zip.png000064400000001751151171034370011744
0ustar00GIF89a��iކ܅؇
ن$ڊ"у5Ԇ3֊5؇=ސ&������"���
�������������*�-�#�8�;�3�9�8��"��#ևI؈CݔAŋhŔyȘv�N����
��"��
��*��&��&��+��-��,��,��.��2��<��2��6��6��;��4��7��1��4��5��7��7��:��9��:��Z��B��H��B��N��E��A��A��C��D��O��^��P��T��W��k��l��m��l��d��j��B��D��E��G��O��I��J��L��M��M��N��T��W��T��U��Z��Y��Y��Z��[��\��_��b��g��a��x��|��i��l��a��b��d��k��t��t��r��r��u��yȢ�漡�Ջ�Ї�Ӆ�Ԇ�ӂ�ݫ�������������������������������������������������������������������������������!��,�a �d`��^�3(,+�Z$��%ϤGlh�$H
�\DY�D%%ܤ)"�</hDi#$76$����3���#勘
�sF8�ְ��d����N<��q��@F.Tp��=$T���� F�x�A@�DS�� 3�"CL�FΜ;h̔!S`",{
�C� �S8�TE�
�O,P��5;assets/images/online.png000064400000001764151171034370011317
0ustar00GIF89a�:O�;Q�=S�>S�`�a�$p�/x�Pb�_l�Bt�M�}m�ty�{������,��+��-��1��4��4��?��X��_��`��x��N��S��X��S��U��I��V��d��j��k��b��h��r��r��y��{��~��yʅ~τĐ������������荵☹�砹衿�����״�غ�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������!��,�K �b��*U�\�p�
,x��C
Å3�|9R##|�\,���&^���r'����)Jt�O�4\�@��(�$P�����J0��CH�� ŃH�`�ᄛ��nT�0A�Z่�I!C�������~�h��A�0|��)�'O�&Iڠ��
£@m�D R�8&5J�L�(m�f3)ΝAq���"�3�Ϡ�]f��;assets/js/bs3editable/css/bootstrap-editable.css000064400000052644151171034400015740
0ustar00/*! X-editable - v1.5.1
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
* http://github.com/vitalets/x-editable
* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
.editableform {
margin-bottom: 0; /* overwrites bootstrap margin */
}
.editableform .control-group {
margin-bottom: 0; /* overwrites bootstrap margin */
white-space: nowrap; /* prevent wrapping buttons on new line */
line-height: 20px; /* overwriting bootstrap line-height. See #133 */
}
/*
BS3 width:1005 for inputs breaks editable form in popup
See: https://github.com/vitalets/x-editable/issues/393
*/
.editableform .form-control {
width: auto;
}
.editable-buttons {
display: inline-block; /* should be inline to take effect of
parent's white-space: nowrap */
vertical-align: top;
margin-left: 7px;
/* inline-block emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-buttons.editable-buttons-bottom {
display: block;
margin-top: 7px;
margin-left: 0;
}
.editable-input {
vertical-align: top;
display: inline-block; /* should be inline to take effect of
parent's white-space: nowrap */
width: auto; /* bootstrap-responsive has width: 100% that breakes
layout */
white-space: normal; /* reset white-space decalred in parent*/
/* display-inline emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-buttons .editable-cancel {
margin-left: 7px;
}
/*for jquery-ui buttons need set height to look more pretty*/
.editable-buttons button.ui-button-icon-only {
height: 24px;
width: 30px;
}
.editableform-loading {
background: url('../img/loading.gif') center center
no-repeat;
height: 25px;
width: auto;
min-width: 25px;
}
.editable-inline .editableform-loading {
background-position: left 5px;
}
.editable-error-block {
max-width: 300px;
margin: 5px 0 0 0;
width: auto;
white-space: normal;
}
/*add padding for jquery ui*/
.editable-error-block.ui-state-error {
padding: 3px;
}
.editable-error {
color: red;
}
/* ---- For specific types ---- */
.editableform .editable-date {
padding: 0;
margin: 0;
float: left;
}
/* move datepicker icon to center of add-on button. See
https://github.com/vitalets/x-editable/issues/183 */
.editable-inline .add-on .icon-th {
margin-top: 3px;
margin-left: 1px;
}
/* checklist vertical alignment */
.editable-checklist label input[type="checkbox"],
.editable-checklist label span {
vertical-align: middle;
margin: 0;
}
.editable-checklist label {
white-space: nowrap;
}
/* set exact width of textarea to fit buttons toolbar */
.editable-wysihtml5 {
width: 566px;
height: 250px;
}
/* clear button shown as link in date inputs */
.editable-clear {
clear: both;
font-size: 0.9em;
text-decoration: none;
text-align: right;
}
/* IOS-style clear button for text inputs */
.editable-clear-x {
background: url('../img/clear.png') center center no-repeat;
display: block;
width: 13px;
height: 13px;
position: absolute;
opacity: 0.6;
z-index: 100;
top: 50%;
right: 6px;
margin-top: -6px;
}
.editable-clear-x:hover {
opacity: 1;
}
.editable-pre-wrapped {
white-space: pre-wrap;
}
.editable-container.editable-popup {
max-width: none !important; /* without this rule poshytip/tooltip does
not stretch */
}
.editable-container.popover {
width: auto; /* without this rule popover does not stretch */
}
.editable-container.editable-inline {
display: inline-block;
vertical-align: middle;
width: auto;
/* inline-block emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-container.ui-widget {
font-size: inherit; /* jqueryui widget font 1.1em too big, overwrite it
*/
z-index: 9990; /* should be less than select2 dropdown z-index to close
dropdown first when click */
}
.editable-click,
a.editable-click,
a.editable-click:hover {
text-decoration: none;
border-bottom: dashed 1px #0088cc;
}
.editable-click.editable-disabled,
a.editable-click.editable-disabled,
a.editable-click.editable-disabled:hover {
color: #585858;
cursor: default;
border-bottom: none;
}
.editable-empty, .editable-empty:hover, .editable-empty:focus{
font-style: italic;
color: #DD1144;
/* border-bottom: none; */
text-decoration: none;
}
.editable-unsaved {
font-weight: bold;
}
.editable-unsaved:after {
/* content: '*'*/
}
.editable-bg-transition {
-webkit-transition: background-color 1400ms ease-out;
-moz-transition: background-color 1400ms ease-out;
-o-transition: background-color 1400ms ease-out;
-ms-transition: background-color 1400ms ease-out;
transition: background-color 1400ms ease-out;
}
/*see https://github.com/vitalets/x-editable/issues/139 */
.form-horizontal .editable
{
padding-top: 5px;
display:inline-block;
}
/*!
* Datepicker for Bootstrap
*
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/
.datepicker {
padding: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
direction: ltr;
/*.dow {
border-top: 1px solid #ddd !important;
}*/
}
.datepicker-inline {
width: 220px;
}
.datepicker.datepicker-rtl {
direction: rtl;
}
.datepicker.datepicker-rtl table tr td span {
float: right;
}
.datepicker-dropdown {
top: 0;
left: 0;
}
.datepicker-dropdown:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
top: -7px;
left: 6px;
}
.datepicker-dropdown:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #ffffff;
position: absolute;
top: -6px;
left: 7px;
}
.datepicker > div {
display: none;
}
.datepicker.days div.datepicker-days {
display: block;
}
.datepicker.months div.datepicker-months {
display: block;
}
.datepicker.years div.datepicker-years {
display: block;
}
.datepicker table {
margin: 0;
}
.datepicker td,
.datepicker th {
text-align: center;
width: 20px;
height: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
background-color: transparent;
}
.datepicker table tr td.day:hover {
background: #eeeeee;
cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
color: #999999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
background-color: #fde19a;
background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a),
to(#fdf59a));
background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
background-image: linear-gradient(top, #fdd49a, #fdf59a);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',
endColorstr='#fdf59a', GradientType=0);
border-color: #fdf59a #fdf59a #fbed50;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #000;
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
background-color: #fdf59a;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
background-color: #fbf069 \9;
}
.datepicker table tr td.today:hover:hover {
color: #000;
}
.datepicker table tr td.today.active:hover {
color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
background: #eeeeee;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
background-color: #f3d17a;
background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a),
to(#f3e97a));
background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -o-linear-gradient(top, #f3c17a, #f3e97a);
background-image: linear-gradient(top, #f3c17a, #f3e97a);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a',
endColorstr='#f3e97a', GradientType=0);
border-color: #f3e97a #f3e97a #edde34;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
background-color: #f3e97a;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
background-color: #efe24b \9;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
background-color: #9e9e9e;
background-image: -moz-linear-gradient(top, #b3b3b3, #808080);
background-image: -ms-linear-gradient(top, #b3b3b3, #808080);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3),
to(#808080));
background-image: -webkit-linear-gradient(top, #b3b3b3, #808080);
background-image: -o-linear-gradient(top, #b3b3b3, #808080);
background-image: linear-gradient(top, #b3b3b3, #808080);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3',
endColorstr='#808080', GradientType=0);
border-color: #808080 #808080 #595959;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
background-color: #808080;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
background-color: #666666 \9;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc),
to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',
endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.datepicker table tr td span:hover {
background: #eeeeee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc),
to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',
endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
color: #999999;
}
.datepicker th.datepicker-switch {
width: 145px;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
cursor: pointer;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
background: #eeeeee;
}
.datepicker .cw {
font-size: 10px;
width: 12px;
padding: 0 2px 0 5px;
vertical-align: middle;
}
.datepicker thead tr:first-child th.cw {
cursor: default;
background-color: transparent;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
display: block;
cursor: pointer;
width: 16px;
height: 16px;
}
.input-daterange input {
text-align: center;
}
.input-daterange input:first-child {
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
display: inline-block;
width: auto;
min-width: 16px;
height: 18px;
padding: 4px 5px;
font-weight: normal;
line-height: 18px;
text-align: center;
text-shadow: 0 1px 0 #ffffff;
vertical-align: middle;
background-color: #eeeeee;
border: 1px solid #ccc;
margin-left: -5px;
margin-right: -5px;
}
textarea.input-xxlarge {
width: 530px !important;
}
assets/js/bs3editable/img/clear.png000064400000000775151171034400013220
0ustar00�PNG
IHDR
��,�bKGD���̿ pHYsHHF�k> vpAg
�КIDAT�5пjSa�����g��������������PG�ޗWP�薥�h%RpВB���h
4����Y��}�`ņW�
�Ʈ�B@⍦���<��-!��TT��M�9��>hZɨ�iM�h�R���\��W<o�^��"8T��|�<�X���No��T���Q�R\.>\r�-�����B�mc��.S
��Ru2|�o\��Ka�b�w�'Ý�ټ}1���f?<#5{�Z
�%I<�Rd��?��Ve��=>�O��R^�%tEXtdate:create2011-02-14T11:12:15+02:00�j�%tEXtdate:modify2011-02-14T11:12:15+02:00�V�:tEXtSoftwareAdobe
ImageReadyq�e<IEND�B`�assets/js/bs3editable/img/loading.gif000064400000003471151171034400013524
0ustar00GIF89a����������FFFzzzXXX$$$���������666hhh!�NETSCAPE2.0!�Created
with ajaxload.info!�
,w !�DB�A��H���¬��a��D���@
^�A�X��P�@�"U���Q# ��B�\;���1�o�:2$v@
$|,3
�_#
d�53�"s5e!!�
,v i@e9�DA�A�����/�`ph$�Ca%@
���pH���x�F��uS��x#�
�.�݄�Yf�L_"
p
3B�W��]|L
\6�{|z�8�7[7!!�
,x
�e9�DE"������2r,��qP���j��`�8��@8bH,
*��0-�
�mFW��9�LP�E3+
(�B"
f�{�*BW_/�
@_$��~Kr�7Ar7!!�
,v
�4e9��!H�"�*��Q�/@���-�4�ép4�R+��-��p�ȧ`�P(�6��U/�
*,�)(+/]"lO�/�*Ak���K���]A~66�6!!�
,l
ie9�"���*���-�80H���=N;���T�E�����q��e��UoK2_WZ�V��1jgWe@tuH//w`?��f~#���6��#!!�
,~ �,e9��"���*
�;pR�%��#0��`�
�'�c�(��J@@���/1�i4��`�V��B�V
u}�"caNi/]))�-Lel mi}
me[+!!�
,y
Ie9��"M�6�*¨"7E͖��@G((L&�pqj@Z�����
��%@�w�Z) �pl(
���ԭ�q�u*R&c `))(s_J��>_\'Gm7�$+!!�
,w Ie9�*,� (�*�(�B5[1�
�Z��Iah!G��exz��J0�e�6��@V|U��4��Dm��%$͛�p
\Gx
}@+|=+
1�- Ea5l)+!!�
,y
)�䨞'A�K����ڍ,�����E\(l���&;5
��5D���0��3�a�0-���-�����ÃpH4V %
i
p[R"| ��#
� 6iZwcw*!!�
,y
)�䨞,K�*�����0�a�;аY8�b`4�n�¨Bb�b�x�,������������( Ƚ�
%
>
2*�i* /:�+$v*!!�
,u )�䨞l[�$�
�Jq[��q3�`Q[�5��:���IX!0�rAD8Cv����HPfi��iQ���AP@pC
%D
PQ46�
iciNj0w
�)#!!�
,y )��.q��
,G�Jr(�J�8�C��*���B�,����&<
�����h�W~-��`�, ����,�>;
8RN<,�<1T]
�c��'
qk$
@)#!;assets/js/bs3editable/js/bootstrap-editable.js000064400000720771151171034400015413
0ustar00/*! X-editable - v1.5.1
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
* http://github.com/vitalets/x-editable
* Copyright (c) 2013 Vitaliy Potapov; Licensed MIT */
/**
Form with single input element, two buttons and two states:
normal/loading.
Applied as jQuery method to DIV tag (not to form tag!). This is because
form can be in loading state when spinner shown.
Editableform is linked with one of input types, e.g. 'text',
'select' etc.
@class editableform
@uses text
@uses textarea
**/
(function ($) {
"use strict";
var EditableForm = function (div, options) {
this.options = $.extend({}, $.fn.editableform.defaults, options);
this.$div = $(div); //div, containing form. Not form tag. Not
editable-element.
if(!this.options.scope) {
this.options.scope = this;
}
//nothing shown after init
};
EditableForm.prototype = {
constructor: EditableForm,
initInput: function() { //called once
//take input from options (as it is created in
editable-element)
this.input = this.options.input;
//set initial value
//todo: may be add check: typeof str === 'string' ?
this.value = this.input.str2value(this.options.value);
//prerender: get input.$input
this.input.prerender();
},
initTemplate: function() {
this.$form = $($.fn.editableform.template);
},
initButtons: function() {
var $btn = this.$form.find('.editable-buttons');
$btn.append($.fn.editableform.buttons);
if(this.options.showbuttons === 'bottom') {
$btn.addClass('editable-buttons-bottom');
}
},
/**
Renders editableform
@method render
**/
render: function() {
//init loader
this.$loading = $($.fn.editableform.loading);
this.$div.empty().append(this.$loading);
//init form template and buttons
this.initTemplate();
if(this.options.showbuttons) {
this.initButtons();
} else {
this.$form.find('.editable-buttons').remove();
}
//show loading state
this.showLoading();
//flag showing is form now saving value to server.
//It is needed to wait when closing form.
this.isSaving = false;
/**
Fired when rendering starts
@event rendering
@param {Object} event event object
**/
this.$div.triggerHandler('rendering');
//init input
this.initInput();
//append input to form
this.$form.find('div.editable-input').append(this.input.$tpl);
//append form to container
this.$div.append(this.$form);
//render input
$.when(this.input.render())
.then($.proxy(function () {
//setup input to submit automatically when no buttons
shown
if(!this.options.showbuttons) {
this.input.autosubmit();
}
//attach 'cancel' handler
this.$form.find('.editable-cancel').click($.proxy(this.cancel,
this));
if(this.input.error) {
this.error(this.input.error);
this.$form.find('.editable-submit').attr('disabled',
true);
this.input.$input.attr('disabled', true);
//prevent form from submitting
this.$form.submit(function(e){ e.preventDefault(); });
} else {
this.error(false);
this.input.$input.removeAttr('disabled');
this.$form.find('.editable-submit').removeAttr('disabled');
var value = (this.value === null || this.value ===
undefined || this.value === '') ? this.options.defaultValue :
this.value;
this.input.value2input(value);
//attach submit handler
this.$form.submit($.proxy(this.submit, this));
}
/**
Fired when form is rendered
@event rendered
@param {Object} event event object
**/
this.$div.triggerHandler('rendered');
this.showForm();
//call postrender method to perform actions required
visibility of form
if(this.input.postrender) {
this.input.postrender();
}
}, this));
},
cancel: function() {
/**
Fired when form was cancelled by user
@event cancel
@param {Object} event event object
**/
this.$div.triggerHandler('cancel');
},
showLoading: function() {
var w, h;
if(this.$form) {
//set loading size equal to form
w = this.$form.outerWidth();
h = this.$form.outerHeight();
if(w) {
this.$loading.width(w);
}
if(h) {
this.$loading.height(h);
}
this.$form.hide();
} else {
//stretch loading to fill container width
w = this.$loading.parent().width();
if(w) {
this.$loading.width(w);
}
}
this.$loading.show();
},
showForm: function(activate) {
this.$loading.hide();
this.$form.show();
if(activate !== false) {
this.input.activate();
}
/**
Fired when form is shown
@event show
@param {Object} event event object
**/
this.$div.triggerHandler('show');
},
error: function(msg) {
var $group = this.$form.find('.control-group'),
$block =
this.$form.find('.editable-error-block'),
lines;
if(msg === false) {
$group.removeClass($.fn.editableform.errorGroupClass);
$block.removeClass($.fn.editableform.errorBlockClass).empty().hide();
} else {
//convert newline to <br> for more pretty error
display
if(msg) {
lines = (''+msg).split('\n');
for (var i = 0; i < lines.length; i++) {
lines[i] =
$('<div>').text(lines[i]).html();
}
msg = lines.join('<br>');
}
$group.addClass($.fn.editableform.errorGroupClass);
$block.addClass($.fn.editableform.errorBlockClass).html(msg).show();
}
},
submit: function(e) {
e.stopPropagation();
e.preventDefault();
//get new value from input
var newValue = this.input.input2value();
//validation: if validate returns string or truthy value -
means error
//if returns object like {newValue: '...'} =>
submitted value is reassigned to it
var error = this.validate(newValue);
if ($.type(error) === 'object' &&
error.newValue !== undefined) {
newValue = error.newValue;
this.input.value2input(newValue);
if(typeof error.msg === 'string') {
this.error(error.msg);
this.showForm();
return;
}
} else if (error) {
this.error(error);
this.showForm();
return;
}
//if value not changed --> trigger 'nochange'
event and return
/*jslint eqeq: true*/
if (!this.options.savenochange &&
this.input.value2str(newValue) == this.input.value2str(this.value)) {
/*jslint eqeq: false*/
/**
Fired when value not changed but form is submitted.
Requires savenochange = false.
@event nochange
@param {Object} event event object
**/
this.$div.triggerHandler('nochange');
return;
}
//convert value for submitting to server
var submitValue = this.input.value2submit(newValue);
this.isSaving = true;
//sending data to server
$.when(this.save(submitValue))
.done($.proxy(function(response) {
this.isSaving = false;
//run success callback
var res = typeof this.options.success ===
'function' ? this.options.success.call(this.options.scope,
response, newValue) : null;
//if success callback returns false --> keep form open
and do not activate input
if(res === false) {
this.error(false);
this.showForm(false);
return;
}
//if success callback returns string --> keep form
open, show error and activate input
if(typeof res === 'string') {
this.error(res);
this.showForm();
return;
}
//if success callback returns object like {newValue:
<something>} --> use that value instead of submitted
//it is usefull if you want to chnage value in
url-function
if(res && typeof res === 'object'
&& res.hasOwnProperty('newValue')) {
newValue = res.newValue;
}
//clear error message
this.error(false);
this.value = newValue;
/**
Fired when form is submitted
@event save
@param {Object} event event object
@param {Object} params additional params
@param {mixed} params.newValue raw new value
@param {mixed} params.submitValue submitted value as
string
@param {Object} params.response ajax response
@example
$('#form-div').on('save'), function(e,
params){
if(params.newValue === 'username') {...}
});
**/
this.$div.triggerHandler('save', {newValue:
newValue, submitValue: submitValue, response: response});
}, this))
.fail($.proxy(function(xhr) {
this.isSaving = false;
var msg;
if(typeof this.options.error === 'function') {
msg = this.options.error.call(this.options.scope, xhr,
newValue);
} else {
msg = typeof xhr === 'string' ? xhr :
xhr.responseText || xhr.statusText || 'Unknown error!';
}
this.error(msg);
this.showForm();
}, this));
},
save: function(submitValue) {
//try parse composite pk defined as json string in data-pk
this.options.pk =
$.fn.editableutils.tryParseJson(this.options.pk, true);
var pk = (typeof this.options.pk === 'function') ?
this.options.pk.call(this.options.scope) : this.options.pk,
/*
send on server in following cases:
1. url is function
2. url is string AND (pk defined OR send option = always)
*/
send = !!(typeof this.options.url === 'function' ||
(this.options.url && ((this.options.send === 'always') ||
(this.options.send === 'auto' && pk !== null &&
pk !== undefined)))),
params;
if (send) { //send to server
this.showLoading();
//standard params
params = {
name: this.options.name || '',
value: submitValue,
pk: pk
};
//additional params
if(typeof this.options.params === 'function') {
params = this.options.params.call(this.options.scope,
params);
} else {
//try parse json in single quotes (from data-params
attribute)
this.options.params =
$.fn.editableutils.tryParseJson(this.options.params, true);
$.extend(params, this.options.params);
}
if(typeof this.options.url === 'function') {
//user's function
return this.options.url.call(this.options.scope,
params);
} else {
//send ajax to server and return deferred object
return $.ajax($.extend({
url : this.options.url,
data : params,
type : 'POST'
}, this.options.ajaxOptions));
}
}
},
validate: function (value) {
if (value === undefined) {
value = this.value;
}
if (typeof this.options.validate === 'function') {
return this.options.validate.call(this.options.scope,
value);
}
},
option: function(key, value) {
if(key in this.options) {
this.options[key] = value;
}
if(key === 'value') {
this.setValue(value);
}
//do not pass option to input as it is passed in
editable-element
},
setValue: function(value, convertStr) {
if(convertStr) {
this.value = this.input.str2value(value);
} else {
this.value = value;
}
//if form is visible, update input
if(this.$form && this.$form.is(':visible'))
{
this.input.value2input(this.value);
}
}
};
/*
Initialize editableform. Applied to jQuery object.
@method $().editableform(options)
@params {Object} options
@example
var $form = $('<div>').editableform({
type: 'text',
name: 'username',
url: '/post',
value: 'vitaliy'
});
//to display form you should call 'render' method
$form.editableform('render');
*/
$.fn.editableform = function (option) {
var args = arguments;
return this.each(function () {
var $this = $(this),
data = $this.data('editableform'),
options = typeof option === 'object' &&
option;
if (!data) {
$this.data('editableform', (data = new
EditableForm(this, options)));
}
if (typeof option === 'string') { //call method
data[option].apply(data, Array.prototype.slice.call(args,
1));
}
});
};
//keep link to constructor to allow inheritance
$.fn.editableform.Constructor = EditableForm;
//defaults
$.fn.editableform.defaults = {
/* see also defaults for input */
/**
Type of input. Can be
<code>text|textarea|select|date|checklist</code>
@property type
@type string
@default 'text'
**/
type: 'text',
/**
Url for submit, e.g. <code>'/post'</code>
If function - it will be called instead of ajax. Function should
return deferred object to run fail/done callbacks.
@property url
@type string|function
@default null
@example
url: function(params) {
var d = new $.Deferred;
if(params.value === 'abc') {
return d.reject('error message'); //returning
error via deferred object
} else {
//async saving data in js model
someModel.asyncSaveMethod({
...,
success: function(){
d.resolve();
}
});
return d.promise();
}
}
**/
url:null,
/**
Additional params for submit. If defined as
<code>object</code> - it is **appended** to original ajax data
(pk, name and value).
If defined as <code>function</code> - returned object
**overwrites** original ajax data.
@example
params: function(params) {
//originally params contain pk, name and value
params.a = 1;
return params;
}
@property params
@type object|function
@default null
**/
params:null,
/**
Name of field. Will be submitted on server. Can be taken from
<code>id</code> attribute
@property name
@type string
@default null
**/
name: null,
/**
Primary key of editable object (e.g. record id in database). For
composite keys use object, e.g. <code>{id: 1, lang:
'en'}</code>.
Can be calculated dynamically via function.
@property pk
@type string|object|function
@default null
**/
pk: null,
/**
Initial value. If not defined - will be taken from element's
content.
For __select__ type should be defined (as it is ID of shown text).
@property value
@type string|object
@default null
**/
value: null,
/**
Value that will be displayed in input if original field value is
empty (`null|undefined|''`).
@property defaultValue
@type string|object
@default null
@since 1.4.6
**/
defaultValue: null,
/**
Strategy for sending data on server. Can be `auto|always|never`.
When 'auto' data will be sent on server **only if pk and
url defined**, otherwise new value will be stored locally.
@property send
@type string
@default 'auto'
**/
send: 'auto',
/**
Function for client-side validation. If returns string - means
validation not passed and string showed as error.
Since 1.5.1 you can modify submitted value by returning object from
`validate`:
`{newValue: '...'}` or `{newValue: '...', msg:
'...'}`
@property validate
@type function
@default null
@example
validate: function(value) {
if($.trim(value) == '') {
return 'This field is required';
}
}
**/
validate: null,
/**
Success callback. Called when value successfully sent on server and
**response status = 200**.
Usefull to work with json response. For example, if your backend
response can be <code>{success: true}</code>
or <code>{success: false, msg: "server
error"}</code> you can check it inside this callback.
If it returns **string** - means error occured and string is shown
as error message.
If it returns **object like** <code>{newValue:
<something>}</code> - it overwrites value, submitted by
user.
Otherwise newValue simply rendered into element.
@property success
@type function
@default null
@example
success: function(response, newValue) {
if(!response.success) return response.msg;
}
**/
success: null,
/**
Error callback. Called when request failed (response status !=
200).
Usefull when you want to parse error response and display a custom
message.
Must return **string** - the message to be displayed in the error
block.
@property error
@type function
@default null
@since 1.4.4
@example
error: function(response, newValue) {
if(response.status === 500) {
return 'Service unavailable. Please try later.';
} else {
return response.responseText;
}
}
**/
error: null,
/**
Additional options for submit ajax request.
List of values: http://api.jquery.com/jQuery.ajax
@property ajaxOptions
@type object
@default null
@since 1.1.1
@example
ajaxOptions: {
type: 'put',
dataType: 'json'
}
**/
ajaxOptions: null,
/**
Where to show buttons: left(true)|bottom|false
Form without buttons is auto-submitted.
@property showbuttons
@type boolean|string
@default true
@since 1.1.1
**/
showbuttons: true,
/**
Scope for callback methods (success, validate).
If <code>null</code> means editableform instance
itself.
@property scope
@type DOMElement|object
@default null
@since 1.2.0
@private
**/
scope: null,
/**
Whether to save or cancel value when it was not changed but form
was submitted
@property savenochange
@type boolean
@default false
@since 1.2.0
**/
savenochange: false
};
/*
Note: following params could redefined in engine: bootstrap or
jqueryui:
Classes 'control-group' and 'editable-error-block'
must always present!
*/
$.fn.editableform.template = '<form class="form-inline
editableform">'+
'<div class="control-group">' +
'<div><div
class="editable-input"></div><div
class="editable-buttons"></div></div>'+
'<div
class="editable-error-block"></div>' +
'</div>' +
'</form>';
//loading div
$.fn.editableform.loading = '<div
class="editableform-loading"></div>';
//buttons
$.fn.editableform.buttons = '<button type="submit"
class="editable-submit">ok</button>'+
'<button type="button"
class="editable-cancel">cancel</button>';
//error class attached to control-group
$.fn.editableform.errorGroupClass = null;
//error class attached to editable-error-block
$.fn.editableform.errorBlockClass = 'editable-error';
//engine
$.fn.editableform.engine = 'jquery';
}(window.jQuery));
/**
* EditableForm utilites
*/
(function ($) {
"use strict";
//utils
$.fn.editableutils = {
/**
* classic JS inheritance function
*/
inherit: function (Child, Parent) {
var F = function() { };
F.prototype = Parent.prototype;
Child.prototype = new F();
Child.prototype.constructor = Child;
Child.superclass = Parent.prototype;
},
/**
* set caret position in input
* see
http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area
*/
setCursorPosition: function(elem, pos) {
if (elem.setSelectionRange) {
elem.setSelectionRange(pos, pos);
} else if (elem.createTextRange) {
var range = elem.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
},
/**
* function to parse JSON in *single* quotes. (jquery automatically
parse only double quotes)
* That allows such code as: <a data-source="{'a':
'b', 'c': 'd'}">
* safe = true --> means no exception will be thrown
* for details see
http://stackoverflow.com/questions/7410348/how-to-set-json-format-to-html5-data-attributes-in-the-jquery
*/
tryParseJson: function(s, safe) {
if (typeof s === 'string' && s.length
&& s.match(/^[\{\[].*[\}\]]$/)) {
if (safe) {
try {
/*jslint evil: true*/
s = (new Function('return ' + s))();
/*jslint evil: false*/
} catch (e) {} finally {
return s;
}
} else {
/*jslint evil: true*/
s = (new Function('return ' + s))();
/*jslint evil: false*/
}
}
return s;
},
/**
* slice object by specified keys
*/
sliceObj: function(obj, keys, caseSensitive /* default: false */)
{
var key, keyLower, newObj = {};
if (!$.isArray(keys) || !keys.length) {
return newObj;
}
for (var i = 0; i < keys.length; i++) {
key = keys[i];
if (obj.hasOwnProperty(key)) {
newObj[key] = obj[key];
}
if(caseSensitive === true) {
continue;
}
//when getting data-* attributes via $.data() it's
converted to lowercase.
//details:
http://stackoverflow.com/questions/7602565/using-data-attributes-with-jquery
//workaround is code below.
keyLower = key.toLowerCase();
if (obj.hasOwnProperty(keyLower)) {
newObj[key] = obj[keyLower];
}
}
return newObj;
},
/*
exclude complex objects from $.data() before pass to config
*/
getConfigData: function($element) {
var data = {};
$.each($element.data(), function(k, v) {
if(typeof v !== 'object' || (v && typeof
v === 'object' && (v.constructor === Object ||
v.constructor === Array))) {
data[k] = v;
}
});
return data;
},
/*
returns keys of object
*/
objectKeys: function(o) {
if (Object.keys) {
return Object.keys(o);
} else {
if (o !== Object(o)) {
throw new TypeError('Object.keys called on a
non-object');
}
var k=[], p;
for (p in o) {
if (Object.prototype.hasOwnProperty.call(o,p)) {
k.push(p);
}
}
return k;
}
},
/**
method to escape html.
**/
escape: function(str) {
return $('<div>').text(str).html();
},
/*
returns array items from sourceData having value property equal or
inArray of 'value'
*/
itemsByValue: function(value, sourceData, valueProp) {
if(!sourceData || value === null) {
return [];
}
if (typeof(valueProp) !== "function") {
var idKey = valueProp || 'value';
valueProp = function (e) { return e[idKey]; };
}
var isValArray = $.isArray(value),
result = [],
that = this;
$.each(sourceData, function(i, o) {
if(o.children) {
result = result.concat(that.itemsByValue(value,
o.children, valueProp));
} else {
/*jslint eqeq: true*/
if(isValArray) {
if($.grep(value, function(v){ return v == (o
&& typeof o === 'object' ? valueProp(o) : o); }).length)
{
result.push(o);
}
} else {
var itemValue = (o && (typeof o ===
'object')) ? valueProp(o) : o;
if(value == itemValue) {
result.push(o);
}
}
/*jslint eqeq: false*/
}
});
return result;
},
/*
Returns input by options: type, mode.
*/
createInput: function(options) {
var TypeConstructor, typeOptions, input,
type = options.type;
//`date` is some kind of virtual type that is transformed to one
of exact types
//depending on mode and core lib
if(type === 'date') {
//inline
if(options.mode === 'inline') {
if($.fn.editabletypes.datefield) {
type = 'datefield';
} else if($.fn.editabletypes.dateuifield) {
type = 'dateuifield';
}
//popup
} else {
if($.fn.editabletypes.date) {
type = 'date';
} else if($.fn.editabletypes.dateui) {
type = 'dateui';
}
}
//if type still `date` and not exist in types, replace with
`combodate` that is base input
if(type === 'date' &&
!$.fn.editabletypes.date) {
type = 'combodate';
}
}
//`datetime` should be datetimefield in 'inline' mode
if(type === 'datetime' && options.mode ===
'inline') {
type = 'datetimefield';
}
//change wysihtml5 to textarea for jquery UI and plain versions
if(type === 'wysihtml5' &&
!$.fn.editabletypes[type]) {
type = 'textarea';
}
//create input of specified type. Input will be used for
converting value, not in form
if(typeof $.fn.editabletypes[type] === 'function') {
TypeConstructor = $.fn.editabletypes[type];
typeOptions = this.sliceObj(options,
this.objectKeys(TypeConstructor.defaults));
input = new TypeConstructor(typeOptions);
return input;
} else {
$.error('Unknown type: '+ type);
return false;
}
},
//see
http://stackoverflow.com/questions/7264899/detect-css-transitions-using-javascript-and-without-modernizr
supportsTransitions: function () {
var b = document.body || document.documentElement,
s = b.style,
p = 'transition',
v = ['Moz', 'Webkit', 'Khtml',
'O', 'ms'];
if(typeof s[p] === 'string') {
return true;
}
// Tests for vendor specific prop
p = p.charAt(0).toUpperCase() + p.substr(1);
for(var i=0; i<v.length; i++) {
if(typeof s[v[i] + p] === 'string') {
return true;
}
}
return false;
}
};
}(window.jQuery));
/**
Attaches stand-alone container with editable-form to HTML element. Element
is used only for positioning, value is not stored anywhere.<br>
This method applied internally in <code>$().editable()</code>.
You should subscribe on it's events (save / cancel) to get profit of
it.<br>
Final realization can be different: bootstrap-popover, jqueryui-tooltip,
poshytip, inline-div. It depends on which js file you include.<br>
Applied as jQuery method.
@class editableContainer
@uses editableform
**/
(function ($) {
"use strict";
var Popup = function (element, options) {
this.init(element, options);
};
var Inline = function (element, options) {
this.init(element, options);
};
//methods
Popup.prototype = {
containerName: null, //method to call container on element
containerDataName: null, //object name in element's .data()
innerCss: null, //tbd in child class
containerClass: 'editable-container editable-popup',
//css class applied to container element
defaults: {}, //container itself defaults
init: function(element, options) {
this.$element = $(element);
//since 1.4.1 container do not use data-* directly as they
already merged into options.
this.options = $.extend({}, $.fn.editableContainer.defaults,
options);
this.splitOptions();
//set scope of form callbacks to element
this.formOptions.scope = this.$element[0];
this.initContainer();
//flag to hide container, when saving value will finish
this.delayedHide = false;
//bind 'destroyed' listener to destroy container when
element is removed from dom
this.$element.on('destroyed', $.proxy(function(){
this.destroy();
}, this));
//attach document handler to close containers on click /
escape
if(!$(document).data('editable-handlers-attached'))
{
//close all on escape
$(document).on('keyup.editable', function (e) {
if (e.which === 27) {
$('.editable-open').editableContainer('hide');
//todo: return focus on element
}
});
//close containers when click outside
//(mousedown could be better than click, it closes
everything also on drag drop)
$(document).on('click.editable', function(e) {
var $target = $(e.target), i,
exclude_classes = ['.editable-container',
'.ui-datepicker-header',
'.datepicker', //in
inline mode datepicker is rendered into body
'.modal-backdrop',
'.bootstrap-wysihtml5-insert-image-modal',
'.bootstrap-wysihtml5-insert-link-modal'
];
//check if element is detached. It occurs when clicking
in bootstrap datepicker
if (!$.contains(document.documentElement, e.target)) {
return;
}
//for some reason FF 20 generates extra event (click)
in select2 widget with e.target = document
//we need to filter it via construction below. See
https://github.com/vitalets/x-editable/issues/199
//Possibly related to
http://stackoverflow.com/questions/10119793/why-does-firefox-react-differently-from-webkit-and-ie-to-click-event-on-selec
if($target.is(document)) {
return;
}
//if click inside one of exclude classes --> no
nothing
for(i=0; i<exclude_classes.length; i++) {
if($target.is(exclude_classes[i]) ||
$target.parents(exclude_classes[i]).length) {
return;
}
}
//close all open containers (except one - target)
Popup.prototype.closeOthers(e.target);
});
$(document).data('editable-handlers-attached',
true);
}
},
//split options on containerOptions and formOptions
splitOptions: function() {
this.containerOptions = {};
this.formOptions = {};
if(!$.fn[this.containerName]) {
throw new Error(this.containerName + ' not found. Have
you included corresponding js file?');
}
//keys defined in container defaults go to container, others go
to form
for(var k in this.options) {
if(k in this.defaults) {
this.containerOptions[k] = this.options[k];
} else {
this.formOptions[k] = this.options[k];
}
}
},
/*
Returns jquery object of container
@method tip()
*/
tip: function() {
return this.container() ? this.container().$tip : null;
},
/* returns container object */
container: function() {
var container;
//first, try get it by `containerDataName`
if(this.containerDataName) {
if(container = this.$element.data(this.containerDataName))
{
return container;
}
}
//second, try `containerName`
container = this.$element.data(this.containerName);
return container;
},
/* call native method of underlying container, e.g.
this.$element.popover('method') */
call: function() {
this.$element[this.containerName].apply(this.$element,
arguments);
},
initContainer: function(){
this.call(this.containerOptions);
},
renderForm: function() {
this.$form
.editableform(this.formOptions)
.on({
save: $.proxy(this.save, this), //click on submit button
(value changed)
nochange: $.proxy(function(){
this.hide('nochange'); }, this), //click on submit button (value
NOT changed)
cancel: $.proxy(function(){ this.hide('cancel');
}, this), //click on calcel button
show: $.proxy(function() {
if(this.delayedHide) {
this.hide(this.delayedHide.reason);
this.delayedHide = false;
} else {
this.setPosition();
}
}, this), //re-position container every time form is shown
(occurs each time after loading state)
rendering: $.proxy(this.setPosition, this), //this allows
to place container correctly when loading shown
resize: $.proxy(this.setPosition, this), //this allows to
re-position container when form size is changed
rendered: $.proxy(function(){
/**
Fired when container is shown and form is rendered (for
select will wait for loading dropdown options).
**Note:** Bootstrap popover has own `shown` event that
now cannot be separated from x-editable's one.
The workaround is to check `arguments.length` that is
always `2` for x-editable.
@event shown
@param {Object} event event object
@example
$('#username').on('shown',
function(e, editable) {
editable.input.$input.val('overwriting value
of input..');
});
**/
/*
TODO: added second param mainly to distinguish from
bootstrap's shown event. It's a hotfix that will be solved in
future versions via namespaced events.
*/
this.$element.triggerHandler('shown',
$(this.options.scope).data('editable'));
}, this)
})
.editableform('render');
},
/**
Shows container with form
@method show()
@param {boolean} closeAll Whether to close all other editable
containers when showing this one. Default true.
**/
/* Note: poshytip owerwrites this method totally! */
show: function (closeAll) {
this.$element.addClass('editable-open');
if(closeAll !== false) {
//close all open containers (except this)
this.closeOthers(this.$element[0]);
}
//show container itself
this.innerShow();
this.tip().addClass(this.containerClass);
/*
Currently, form is re-rendered on every show.
The main reason is that we dont know, what will container do
with content when closed:
remove(), detach() or just hide() - it depends on container.
Detaching form itself before hide and re-insert before show is
good solution,
but visually it looks ugly --> container changes size before
hide.
*/
//if form already exist - delete previous data
if(this.$form) {
//todo: destroy prev data!
//this.$form.destroy();
}
this.$form = $('<div>');
//insert form into container body
if(this.tip().is(this.innerCss)) {
//for inline container
this.tip().append(this.$form);
} else {
this.tip().find(this.innerCss).append(this.$form);
}
//render form
this.renderForm();
},
/**
Hides container with form
@method hide()
@param {string} reason Reason caused hiding. Can be
<code>save|cancel|onblur|nochange|undefined (=manual)</code>
**/
hide: function(reason) {
if(!this.tip() || !this.tip().is(':visible') ||
!this.$element.hasClass('editable-open')) {
return;
}
//if form is saving value, schedule hide
if(this.$form.data('editableform').isSaving) {
this.delayedHide = {reason: reason};
return;
} else {
this.delayedHide = false;
}
this.$element.removeClass('editable-open');
this.innerHide();
/**
Fired when container was hidden. It occurs on both save or
cancel.
**Note:** Bootstrap popover has own `hidden` event that now
cannot be separated from x-editable's one.
The workaround is to check `arguments.length` that is always
`2` for x-editable.
@event hidden
@param {object} event event object
@param {string} reason Reason caused hiding. Can be
<code>save|cancel|onblur|nochange|manual</code>
@example
$('#username').on('hidden', function(e,
reason) {
if(reason === 'save' || reason ===
'cancel') {
//auto-open next editable
$(this).closest('tr').next().find('.editable').editable('show');
}
});
**/
this.$element.triggerHandler('hidden', reason ||
'manual');
},
/* internal show method. To be overwritten in child classes */
innerShow: function () {
},
/* internal hide method. To be overwritten in child classes */
innerHide: function () {
},
/**
Toggles container visibility (show / hide)
@method toggle()
@param {boolean} closeAll Whether to close all other editable
containers when showing this one. Default true.
**/
toggle: function(closeAll) {
if(this.container() && this.tip() &&
this.tip().is(':visible')) {
this.hide();
} else {
this.show(closeAll);
}
},
/*
Updates the position of container when content changed.
@method setPosition()
*/
setPosition: function() {
//tbd in child class
},
save: function(e, params) {
/**
Fired when new value was submitted. You can use
<code>$(this).data('editableContainer')</code> inside
handler to access to editableContainer instance
@event save
@param {Object} event event object
@param {Object} params additional params
@param {mixed} params.newValue submitted value
@param {Object} params.response ajax response
@example
$('#username').on('save', function(e,
params) {
//assuming server response: '{success: true}'
var pk =
$(this).data('editableContainer').options.pk;
if(params.response && params.response.success) {
alert('value: ' + params.newValue + '
with pk: ' + pk + ' saved!');
} else {
alert('error!');
}
});
**/
this.$element.triggerHandler('save', params);
//hide must be after trigger, as saving value may require
methods of plugin, applied to input
this.hide('save');
},
/**
Sets new option
@method option(key, value)
@param {string} key
@param {mixed} value
**/
option: function(key, value) {
this.options[key] = value;
if(key in this.containerOptions) {
this.containerOptions[key] = value;
this.setContainerOption(key, value);
} else {
this.formOptions[key] = value;
if(this.$form) {
this.$form.editableform('option', key,
value);
}
}
},
setContainerOption: function(key, value) {
this.call('option', key, value);
},
/**
Destroys the container instance
@method destroy()
**/
destroy: function() {
this.hide();
this.innerDestroy();
this.$element.off('destroyed');
this.$element.removeData('editableContainer');
},
/* to be overwritten in child classes */
innerDestroy: function() {
},
/*
Closes other containers except one related to passed element.
Other containers can be cancelled or submitted (depends on onblur
option)
*/
closeOthers: function(element) {
$('.editable-open').each(function(i, el){
//do nothing with passed element and it's children
if(el === element || $(el).find(element).length) {
return;
}
//otherwise cancel or submit all open containers
var $el = $(el),
ec = $el.data('editableContainer');
if(!ec) {
return;
}
if(ec.options.onblur === 'cancel') {
$el.data('editableContainer').hide('onblur');
} else if(ec.options.onblur === 'submit') {
$el.data('editableContainer').tip().find('form').submit();
}
});
},
/**
Activates input of visible container (e.g. set focus)
@method activate()
**/
activate: function() {
if(this.tip && this.tip().is(':visible')
&& this.$form) {
this.$form.data('editableform').input.activate();
}
}
};
/**
jQuery method to initialize editableContainer.
@method $().editableContainer(options)
@params {Object} options
@example
$('#edit').editableContainer({
type: 'text',
url: '/post',
pk: 1,
value: 'hello'
});
**/
$.fn.editableContainer = function (option) {
var args = arguments;
return this.each(function () {
var $this = $(this),
dataKey = 'editableContainer',
data = $this.data(dataKey),
options = typeof option === 'object' &&
option,
Constructor = (options.mode === 'inline') ? Inline :
Popup;
if (!data) {
$this.data(dataKey, (data = new Constructor(this,
options)));
}
if (typeof option === 'string') { //call method
data[option].apply(data, Array.prototype.slice.call(args,
1));
}
});
};
//store constructors
$.fn.editableContainer.Popup = Popup;
$.fn.editableContainer.Inline = Inline;
//defaults
$.fn.editableContainer.defaults = {
/**
Initial value of form input
@property value
@type mixed
@default null
@private
**/
value: null,
/**
Placement of container relative to element. Can be
<code>top|right|bottom|left</code>. Not used for inline
container.
@property placement
@type string
@default 'top'
**/
placement: 'top',
/**
Whether to hide container on save/cancel.
@property autohide
@type boolean
@default true
@private
**/
autohide: true,
/**
Action when user clicks outside the container. Can be
<code>cancel|submit|ignore</code>.
Setting <code>ignore</code> allows to have several
containers open.
@property onblur
@type string
@default 'cancel'
@since 1.1.1
**/
onblur: 'cancel',
/**
Animation speed (inline mode only)
@property anim
@type string
@default false
**/
anim: false,
/**
Mode of editable, can be `popup` or `inline`
@property mode
@type string
@default 'popup'
@since 1.4.0
**/
mode: 'popup'
};
/*
* workaround to have 'destroyed' event to destroy popover
when element is destroyed
* see
http://stackoverflow.com/questions/2200494/jquery-trigger-event-when-an-element-is-removed-from-the-dom
*/
jQuery.event.special.destroyed = {
remove: function(o) {
if (o.handler) {
o.handler();
}
}
};
}(window.jQuery));
/**
* Editable Inline
* ---------------------
*/
(function ($) {
"use strict";
//copy prototype from EditableContainer
//extend methods
$.extend($.fn.editableContainer.Inline.prototype,
$.fn.editableContainer.Popup.prototype, {
containerName: 'editableform',
innerCss: '.editable-inline',
containerClass: 'editable-container editable-inline',
//css class applied to container element
initContainer: function(){
//container is <span> element
this.$tip = $('<span></span>');
//convert anim to miliseconds (int)
if(!this.options.anim) {
this.options.anim = 0;
}
},
splitOptions: function() {
//all options are passed to form
this.containerOptions = {};
this.formOptions = this.options;
},
tip: function() {
return this.$tip;
},
innerShow: function () {
this.$element.hide();
this.tip().insertAfter(this.$element).show();
},
innerHide: function () {
this.$tip.hide(this.options.anim, $.proxy(function() {
this.$element.show();
this.innerDestroy();
}, this));
},
innerDestroy: function() {
if(this.tip()) {
this.tip().empty().remove();
}
}
});
}(window.jQuery));
/**
Makes editable any HTML element on the page. Applied as jQuery method.
@class editable
@uses editableContainer
**/
(function ($) {
"use strict";
var Editable = function (element, options) {
this.$element = $(element);
//data-* has more priority over js options: because dynamically
created elements may change data-*
this.options = $.extend({}, $.fn.editable.defaults, options,
$.fn.editableutils.getConfigData(this.$element));
if(this.options.selector) {
this.initLive();
} else {
this.init();
}
//check for transition support
if(this.options.highlight &&
!$.fn.editableutils.supportsTransitions()) {
this.options.highlight = false;
}
};
Editable.prototype = {
constructor: Editable,
init: function () {
var isValueByText = false,
doAutotext, finalize;
//name
this.options.name = this.options.name ||
this.$element.attr('id');
//create input of specified type. Input needed already here to
convert value for initial display (e.g. show text by id for select)
//also we set scope option to have access to element inside
input specific callbacks (e. g. source as function)
this.options.scope = this.$element[0];
this.input = $.fn.editableutils.createInput(this.options);
if(!this.input) {
return;
}
//set value from settings or by element's text
if (this.options.value === undefined || this.options.value ===
null) {
this.value =
this.input.html2value($.trim(this.$element.html()));
isValueByText = true;
} else {
/*
value can be string when received from
'data-value' attribute
for complext objects value can be set as json string in
data-value attribute,
e.g. data-value="{city: 'Moscow', street:
'Lenina'}"
*/
this.options.value =
$.fn.editableutils.tryParseJson(this.options.value, true);
if(typeof this.options.value === 'string') {
this.value = this.input.str2value(this.options.value);
} else {
this.value = this.options.value;
}
}
//add 'editable' class to every editable element
this.$element.addClass('editable');
//specifically for "textarea" add class
.editable-pre-wrapped to keep linebreaks
if(this.input.type === 'textarea') {
this.$element.addClass('editable-pre-wrapped');
}
//attach handler activating editable. In disabled mode it just
prevent default action (useful for links)
if(this.options.toggle !== 'manual') {
this.$element.addClass('editable-click');
this.$element.on(this.options.toggle +
'.editable', $.proxy(function(e){
//prevent following link if editable enabled
if(!this.options.disabled) {
e.preventDefault();
}
//stop propagation not required because in document
click handler it checks event target
//e.stopPropagation();
if(this.options.toggle === 'mouseenter') {
//for hover only show container
this.show();
} else {
//when toggle='click' we should not close
all other containers as they will be closed automatically in document click
listener
var closeAll = (this.options.toggle !==
'click');
this.toggle(closeAll);
}
}, this));
} else {
this.$element.attr('tabindex', -1); //do not stop
focus on element when toggled manually
}
//if display is function it's far more convinient to have
autotext = always to render correctly on init
//see https://github.com/vitalets/x-editable-yii/issues/34
if(typeof this.options.display === 'function') {
this.options.autotext = 'always';
}
//check conditions for autotext:
switch(this.options.autotext) {
case 'always':
doAutotext = true;
break;
case 'auto':
//if element text is empty and value is defined and value
not generated by text --> run autotext
doAutotext = !$.trim(this.$element.text()).length
&& this.value !== null && this.value !== undefined
&& !isValueByText;
break;
default:
doAutotext = false;
}
//depending on autotext run render() or just finilize init
$.when(doAutotext ? this.render() :
true).then($.proxy(function() {
if(this.options.disabled) {
this.disable();
} else {
this.enable();
}
/**
Fired when element was initialized by `$().editable()`
method.
Please note that you should setup `init` handler **before**
applying `editable`.
@event init
@param {Object} event event object
@param {Object} editable editable instance (as here it
cannot accessed via data('editable'))
@since 1.2.0
@example
$('#username').on('init', function(e,
editable) {
alert('initialized ' +
editable.options.name);
});
$('#username').editable();
**/
this.$element.triggerHandler('init', this);
}, this));
},
/*
Initializes parent element for live editables
*/
initLive: function() {
//store selector
var selector = this.options.selector;
//modify options for child elements
this.options.selector = false;
this.options.autotext = 'never';
//listen toggle events
this.$element.on(this.options.toggle + '.editable',
selector, $.proxy(function(e){
var $target = $(e.target);
if(!$target.data('editable')) {
//if delegated element initially empty, we need to clear
it's text (that was manually set to `empty` by user)
//see https://github.com/vitalets/x-editable/issues/137
if($target.hasClass(this.options.emptyclass)) {
$target.empty();
}
$target.editable(this.options).trigger(e);
}
}, this));
},
/*
Renders value into element's text.
Can call custom display method from options.
Can return deferred object.
@method render()
@param {mixed} response server response (if exist) to pass into
display function
*/
render: function(response) {
//do not display anything
if(this.options.display === false) {
return;
}
//if input has `value2htmlFinal` method, we pass callback in
third param to be called when source is loaded
if(this.input.value2htmlFinal) {
return this.input.value2html(this.value, this.$element[0],
this.options.display, response);
//if display method defined --> use it
} else if(typeof this.options.display === 'function')
{
return this.options.display.call(this.$element[0],
this.value, response);
//else use input's original value2html() method
} else {
return this.input.value2html(this.value, this.$element[0]);
}
},
/**
Enables editable
@method enable()
**/
enable: function() {
this.options.disabled = false;
this.$element.removeClass('editable-disabled');
this.handleEmpty(this.isEmpty);
if(this.options.toggle !== 'manual') {
if(this.$element.attr('tabindex') ===
'-1') {
this.$element.removeAttr('tabindex');
}
}
},
/**
Disables editable
@method disable()
**/
disable: function() {
this.options.disabled = true;
this.hide();
this.$element.addClass('editable-disabled');
this.handleEmpty(this.isEmpty);
//do not stop focus on this element
this.$element.attr('tabindex', -1);
},
/**
Toggles enabled / disabled state of editable element
@method toggleDisabled()
**/
toggleDisabled: function() {
if(this.options.disabled) {
this.enable();
} else {
this.disable();
}
},
/**
Sets new option
@method option(key, value)
@param {string|object} key option name or object with several
options
@param {mixed} value option new value
@example
$('.editable').editable('option',
'pk', 2);
**/
option: function(key, value) {
//set option(s) by object
if(key && typeof key === 'object') {
$.each(key, $.proxy(function(k, v){
this.option($.trim(k), v);
}, this));
return;
}
//set option by string
this.options[key] = value;
//disabled
if(key === 'disabled') {
return value ? this.disable() : this.enable();
}
//value
if(key === 'value') {
this.setValue(value);
}
//transfer new option to container!
if(this.container) {
this.container.option(key, value);
}
//pass option to input directly (as it points to the same in
form)
if(this.input.option) {
this.input.option(key, value);
}
},
/*
* set emptytext if element is empty
*/
handleEmpty: function (isEmpty) {
//do not handle empty if we do not display anything
if(this.options.display === false) {
return;
}
/*
isEmpty may be set directly as param of method.
It is required when we enable/disable field and can't rely
on content
as node content is text: "Empty" that is not empty
%)
*/
if(isEmpty !== undefined) {
this.isEmpty = isEmpty;
} else {
//detect empty
//for some inputs we need more smart check
//e.g. wysihtml5 may have <br>, <p></p>,
<img>
if(typeof(this.input.isEmpty) === 'function') {
this.isEmpty = this.input.isEmpty(this.$element);
} else {
this.isEmpty = $.trim(this.$element.html()) ===
'';
}
}
//emptytext shown only for enabled
if(!this.options.disabled) {
if (this.isEmpty) {
this.$element.html(this.options.emptytext);
if(this.options.emptyclass) {
this.$element.addClass(this.options.emptyclass);
}
} else if(this.options.emptyclass) {
this.$element.removeClass(this.options.emptyclass);
}
} else {
//below required if element disable property was changed
if(this.isEmpty) {
this.$element.empty();
if(this.options.emptyclass) {
this.$element.removeClass(this.options.emptyclass);
}
}
}
},
/**
Shows container with form
@method show()
@param {boolean} closeAll Whether to close all other editable
containers when showing this one. Default true.
**/
show: function (closeAll) {
if(this.options.disabled) {
return;
}
//init editableContainer: popover, tooltip, inline, etc..
if(!this.container) {
var containerOptions = $.extend({}, this.options, {
value: this.value,
input: this.input //pass input to form (as it is
already created)
});
this.$element.editableContainer(containerOptions);
//listen `save` event
this.$element.on("save.internal",
$.proxy(this.save, this));
this.container =
this.$element.data('editableContainer');
} else if(this.container.tip().is(':visible')) {
return;
}
//show container
this.container.show(closeAll);
},
/**
Hides container with form
@method hide()
**/
hide: function () {
if(this.container) {
this.container.hide();
}
},
/**
Toggles container visibility (show / hide)
@method toggle()
@param {boolean} closeAll Whether to close all other editable
containers when showing this one. Default true.
**/
toggle: function(closeAll) {
if(this.container &&
this.container.tip().is(':visible')) {
this.hide();
} else {
this.show(closeAll);
}
},
/*
* called when form was submitted
*/
save: function(e, params) {
//mark element with unsaved class if needed
if(this.options.unsavedclass) {
/*
Add unsaved css to element if:
- url is not user's function
- value was not sent to server
- params.response === undefined, that means data was not
sent
- value changed
*/
var sent = false;
sent = sent || typeof this.options.url ===
'function';
sent = sent || this.options.display === false;
sent = sent || params.response !== undefined;
sent = sent || (this.options.savenochange &&
this.input.value2str(this.value) !==
this.input.value2str(params.newValue));
if(sent) {
this.$element.removeClass(this.options.unsavedclass);
} else {
this.$element.addClass(this.options.unsavedclass);
}
}
//highlight when saving
if(this.options.highlight) {
var $e = this.$element,
bgColor = $e.css('background-color');
$e.css('background-color',
this.options.highlight);
setTimeout(function(){
if(bgColor === 'transparent') {
bgColor = '';
}
$e.css('background-color', bgColor);
$e.addClass('editable-bg-transition');
setTimeout(function(){
$e.removeClass('editable-bg-transition');
}, 1700);
}, 10);
}
//set new value
this.setValue(params.newValue, false, params.response);
/**
Fired when new value was submitted. You can use
<code>$(this).data('editable')</code> to access to
editable instance
@event save
@param {Object} event event object
@param {Object} params additional params
@param {mixed} params.newValue submitted value
@param {Object} params.response ajax response
@example
$('#username').on('save', function(e,
params) {
alert('Saved value: ' + params.newValue);
});
**/
//event itself is triggered by editableContainer. Description
here is only for documentation
},
validate: function () {
if (typeof this.options.validate === 'function') {
return this.options.validate.call(this, this.value);
}
},
/**
Sets new value of editable
@method setValue(value, convertStr)
@param {mixed} value new value
@param {boolean} convertStr whether to convert value from string to
internal format
**/
setValue: function(value, convertStr, response) {
if(convertStr) {
this.value = this.input.str2value(value);
} else {
this.value = value;
}
if(this.container) {
this.container.option('value', this.value);
}
$.when(this.render(response))
.then($.proxy(function() {
this.handleEmpty();
}, this));
},
/**
Activates input of visible container (e.g. set focus)
@method activate()
**/
activate: function() {
if(this.container) {
this.container.activate();
}
},
/**
Removes editable feature from element
@method destroy()
**/
destroy: function() {
this.disable();
if(this.container) {
this.container.destroy();
}
this.input.destroy();
if(this.options.toggle !== 'manual') {
this.$element.removeClass('editable-click');
this.$element.off(this.options.toggle +
'.editable');
}
this.$element.off("save.internal");
this.$element.removeClass('editable editable-open
editable-disabled');
this.$element.removeData('editable');
}
};
/* EDITABLE PLUGIN DEFINITION
* ======================= */
/**
jQuery method to initialize editable element.
@method $().editable(options)
@params {Object} options
@example
$('#username').editable({
type: 'text',
url: '/post',
pk: 1
});
**/
$.fn.editable = function (option) {
//special API methods returning non-jquery object
var result = {}, args = arguments, datakey = 'editable';
switch (option) {
/**
Runs client-side validation for all matched editables
@method validate()
@returns {Object} validation errors map
@example
$('#username,
#fullname').editable('validate');
// possible result:
{
username: "username is required",
fullname: "fullname should be minimum 3 letters
length"
}
**/
case 'validate':
this.each(function () {
var $this = $(this), data = $this.data(datakey),
error;
if (data && (error = data.validate())) {
result[data.options.name] = error;
}
});
return result;
/**
Returns current values of editable elements.
Note that it returns an **object** with name-value pairs, not a
value itself. It allows to get data from several elements.
If value of some editable is `null` or `undefined` it is
excluded from result object.
When param `isSingle` is set to **true** - it is supposed you
have single element and will return value of editable instead of object.
@method getValue()
@param {bool} isSingle whether to return just value of single
element
@returns {Object} object of element names and values
@example
$('#username,
#fullname').editable('getValue');
//result:
{
username: "superuser",
fullname: "John"
}
//isSingle = true
$('#username').editable('getValue', true);
//result "superuser"
**/
case 'getValue':
if(arguments.length === 2 && arguments[1] === true)
{ //isSingle = true
result = this.eq(0).data(datakey).value;
} else {
this.each(function () {
var $this = $(this), data = $this.data(datakey);
if (data && data.value !== undefined
&& data.value !== null) {
result[data.options.name] =
data.input.value2submit(data.value);
}
});
}
return result;
/**
This method collects values from several editable elements and
submit them all to server.
Internally it runs client-side validation for all fields and
submits only in case of success.
See <a href="#newrecord">creating new
records</a> for details.
Since 1.5.1 `submit` can be applied to single element to send
data programmatically. In that case
`url`, `success` and `error` is taken from initial options and
you can just call `$('#username').editable('submit')`.
@method submit(options)
@param {object} options
@param {object} options.url url to submit data
@param {object} options.data additional data to submit
@param {object} options.ajaxOptions additional ajax options
@param {function} options.error(obj) error handler
@param {function} options.success(obj,config) success handler
@returns {Object} jQuery object
**/
case 'submit': //collects value, validate and submit
to server for creating new record
var config = arguments[1] || {},
$elems = this,
errors = this.editable('validate');
// validation ok
if($.isEmptyObject(errors)) {
var ajaxOptions = {};
// for single element use url, success etc from
options
if($elems.length === 1) {
var editable = $elems.data('editable');
//standard params
var params = {
name: editable.options.name || '',
value:
editable.input.value2submit(editable.value),
pk: (typeof editable.options.pk ===
'function') ?
editable.options.pk.call(editable.options.scope) :
editable.options.pk
};
//additional params
if(typeof editable.options.params ===
'function') {
params =
editable.options.params.call(editable.options.scope, params);
} else {
//try parse json in single quotes (from
data-params attribute)
editable.options.params =
$.fn.editableutils.tryParseJson(editable.options.params, true);
$.extend(params, editable.options.params);
}
ajaxOptions = {
url: editable.options.url,
data: params,
type: 'POST'
};
// use success / error from options
config.success = config.success ||
editable.options.success;
config.error = config.error ||
editable.options.error;
// multiple elements
} else {
var values = this.editable('getValue');
ajaxOptions = {
url: config.url,
data: values,
type: 'POST'
};
}
// ajax success callabck (response 200 OK)
ajaxOptions.success = typeof config.success ===
'function' ? function(response) {
config.success.call($elems, response, config);
} : $.noop;
// ajax error callabck
ajaxOptions.error = typeof config.error ===
'function' ? function() {
config.error.apply($elems, arguments);
} : $.noop;
// extend ajaxOptions
if(config.ajaxOptions) {
$.extend(ajaxOptions, config.ajaxOptions);
}
// extra data
if(config.data) {
$.extend(ajaxOptions.data, config.data);
}
// perform ajax request
$.ajax(ajaxOptions);
} else { //client-side validation error
if(typeof config.error === 'function') {
config.error.call($elems, errors);
}
}
return this;
}
//return jquery object
return this.each(function () {
var $this = $(this),
data = $this.data(datakey),
options = typeof option === 'object' &&
option;
//for delegated targets do not store `editable` object for
element
//it's allows several different selectors.
//see: https://github.com/vitalets/x-editable/issues/312
if(options && options.selector) {
data = new Editable(this, options);
return;
}
if (!data) {
$this.data(datakey, (data = new Editable(this, options)));
}
if (typeof option === 'string') { //call method
data[option].apply(data, Array.prototype.slice.call(args,
1));
}
});
};
$.fn.editable.defaults = {
/**
Type of input. Can be
<code>text|textarea|select|date|checklist</code> and more
@property type
@type string
@default 'text'
**/
type: 'text',
/**
Sets disabled state of editable
@property disabled
@type boolean
@default false
**/
disabled: false,
/**
How to toggle editable. Can be
<code>click|dblclick|mouseenter|manual</code>.
When set to <code>manual</code> you should manually
call <code>show/hide</code> methods of editable.
**Note**: if you call <code>show</code> or
<code>toggle</code> inside **click** handler of some DOM
element,
you need to apply <code>e.stopPropagation()</code>
because containers are being closed on any click on document.
@example
$('#edit-button').click(function(e) {
e.stopPropagation();
$('#username').editable('toggle');
});
@property toggle
@type string
@default 'click'
**/
toggle: 'click',
/**
Text shown when element is empty.
@property emptytext
@type string
@default 'Empty'
**/
emptytext: 'Empty',
/**
Allows to automatically set element's text based on it's
value. Can be <code>auto|always|never</code>. Useful for select
and date.
For example, if dropdown list is <code>{1: 'a', 2:
'b'}</code> and element's value set to
<code>1</code>, it's html will be automatically set to
<code>'a'</code>.
<code>auto</code> - text will be automatically set only
if element is empty.
<code>always|never</code> - always(never) try to set
element's text.
@property autotext
@type string
@default 'auto'
**/
autotext: 'auto',
/**
Initial value of input. If not set, taken from element's text.
Note, that if element's text is empty - text is automatically
generated from value and can be customized (see `autotext` option).
For example, to display currency sign:
@example
<a id="price" data-type="text"
data-value="100"></a>
<script>
$('#price').editable({
...
display: function(value) {
$(this).text(value + '$');
}
})
</script>
@property value
@type mixed
@default element's text
**/
value: null,
/**
Callback to perform custom displaying of value in element's
text.
If `null`, default input's display used.
If `false`, no displaying methods will be called, element's
text will never change.
Runs under element's scope.
_**Parameters:**_
* `value` current value to be displayed
* `response` server response (if display called after ajax submit),
since 1.4.0
For _inputs with source_ (select, checklist) parameters are
different:
* `value` current value to be displayed
* `sourceData` array of items for current input (e.g. dropdown
items)
* `response` server response (if display called after ajax submit),
since 1.4.0
To get currently selected items use
`$.fn.editableutils.itemsByValue(value, sourceData)`.
@property display
@type function|boolean
@default null
@since 1.2.0
@example
display: function(value, sourceData) {
//display checklist as comma-separated values
var html = [],
checked = $.fn.editableutils.itemsByValue(value,
sourceData);
if(checked.length) {
$.each(checked, function(i, v) {
html.push($.fn.editableutils.escape(v.text)); });
$(this).html(html.join(', '));
} else {
$(this).empty();
}
}
**/
display: null,
/**
Css class applied when editable text is empty.
@property emptyclass
@type string
@since 1.4.1
@default editable-empty
**/
emptyclass: 'editable-empty',
/**
Css class applied when value was stored but not sent to server
(`pk` is empty or `send = 'never'`).
You may set it to `null` if you work with editables locally and
submit them together.
@property unsavedclass
@type string
@since 1.4.1
@default editable-unsaved
**/
unsavedclass: 'editable-unsaved',
/**
If selector is provided, editable will be delegated to the
specified targets.
Usefull for dynamically generated DOM elements.
**Please note**, that delegated targets can't be initialized
with `emptytext` and `autotext` options,
as they actually become editable only after first click.
You should manually set class `editable-click` to these elements.
Also, if element originally empty you should add class
`editable-empty`, set `data-value=""` and write emptytext into
element:
@property selector
@type string
@since 1.4.1
@default null
@example
<div id="user">
<!-- empty -->
<a href="#" data-name="username"
data-type="text" class="editable-click editable-empty"
data-value="" title="Username">Empty</a>
<!-- non-empty -->
<a href="#" data-name="group"
data-type="select" data-source="/groups"
data-value="1" class="editable-click"
title="Group">Operator</a>
</div>
<script>
$('#user').editable({
selector: 'a',
url: '/post',
pk: 1
});
</script>
**/
selector: null,
/**
Color used to highlight element after update. Implemented via CSS3
transition, works in modern browsers.
@property highlight
@type string|boolean
@since 1.4.5
@default #FFFF80
**/
highlight: '#FFFF80'
};
}(window.jQuery));
/**
AbstractInput - base class for all editable inputs.
It defines interface to be implemented by any input type.
To create your own input you can inherit from this class.
@class abstractinput
**/
(function ($) {
"use strict";
//types
$.fn.editabletypes = {};
var AbstractInput = function () { };
AbstractInput.prototype = {
/**
Initializes input
@method init()
**/
init: function(type, options, defaults) {
this.type = type;
this.options = $.extend({}, defaults, options);
},
/*
this method called before render to init $tpl that is inserted in
DOM
*/
prerender: function() {
this.$tpl = $(this.options.tpl); //whole tpl as jquery object
this.$input = this.$tpl; //control itself, can be
changed in render method
this.$clear = null; //clear button
this.error = null; //error message, if input
cannot be rendered
},
/**
Renders input from tpl. Can return jQuery deferred object.
Can be overwritten in child objects
@method render()
**/
render: function() {
},
/**
Sets element's html by value.
@method value2html(value, element)
@param {mixed} value
@param {DOMElement} element
**/
value2html: function(value, element) {
$(element)[this.options.escape ? 'text' :
'html']($.trim(value));
},
/**
Converts element's html to value
@method html2value(html)
@param {string} html
@returns {mixed}
**/
html2value: function(html) {
return $('<div>').html(html).text();
},
/**
Converts value to string (for internal compare). For submitting to
server used value2submit().
@method value2str(value)
@param {mixed} value
@returns {string}
**/
value2str: function(value) {
return value;
},
/**
Converts string received from server into value. Usually from
`data-value` attribute.
@method str2value(str)
@param {string} str
@returns {mixed}
**/
str2value: function(str) {
return str;
},
/**
Converts value for submitting to server. Result can be string or
object.
@method value2submit(value)
@param {mixed} value
@returns {mixed}
**/
value2submit: function(value) {
return value;
},
/**
Sets value of input.
@method value2input(value)
@param {mixed} value
**/
value2input: function(value) {
this.$input.val(value);
},
/**
Returns value of input. Value can be object (e.g. datepicker)
@method input2value()
**/
input2value: function() {
return this.$input.val();
},
/**
Activates input. For text it sets focus.
@method activate()
**/
activate: function() {
if(this.$input.is(':visible')) {
this.$input.focus();
}
},
/**
Creates input.
@method clear()
**/
clear: function() {
this.$input.val(null);
},
/**
method to escape html.
**/
escape: function(str) {
return $('<div>').text(str).html();
},
/**
attach handler to automatically submit form when value changed
(useful when buttons not shown)
**/
autosubmit: function() {
},
/**
Additional actions when destroying element
**/
destroy: function() {
},
// -------- helper functions --------
setClass: function() {
if(this.options.inputclass) {
this.$input.addClass(this.options.inputclass);
}
},
setAttr: function(attr) {
if (this.options[attr] !== undefined &&
this.options[attr] !== null) {
this.$input.attr(attr, this.options[attr]);
}
},
option: function(key, value) {
this.options[key] = value;
}
};
AbstractInput.defaults = {
/**
HTML template of input. Normally you should not change it.
@property tpl
@type string
@default ''
**/
tpl: '',
/**
CSS class automatically applied to input
@property inputclass
@type string
@default null
**/
inputclass: null,
/**
If `true` - html will be escaped in content of element via $.text()
method.
If `false` - html will not be escaped, $.html() used.
When you use own `display` function, this option obviosly has no
effect.
@property escape
@type boolean
@since 1.5.0
@default true
**/
escape: true,
//scope for external methods (e.g. source defined as function)
//for internal use only
scope: null,
//need to re-declare showbuttons here to get it's value from
common config (passed only options existing in defaults)
showbuttons: true
};
$.extend($.fn.editabletypes, {abstractinput: AbstractInput});
}(window.jQuery));
/**
List - abstract class for inputs that have source option loaded from js
array or via ajax
@class list
@extends abstractinput
**/
(function ($) {
"use strict";
var List = function (options) {
};
$.fn.editableutils.inherit(List, $.fn.editabletypes.abstractinput);
$.extend(List.prototype, {
render: function () {
var deferred = $.Deferred();
this.error = null;
this.onSourceReady(function () {
this.renderList();
deferred.resolve();
}, function () {
this.error = this.options.sourceError;
deferred.resolve();
});
return deferred.promise();
},
html2value: function (html) {
return null; //can't set value by text
},
value2html: function (value, element, display, response) {
var deferred = $.Deferred(),
success = function () {
if(typeof display === 'function') {
//custom display method
display.call(element, value, this.sourceData,
response);
} else {
this.value2htmlFinal(value, element);
}
deferred.resolve();
};
//for null value just call success without loading source
if(value === null) {
success.call(this);
} else {
this.onSourceReady(success, function () {
deferred.resolve(); });
}
return deferred.promise();
},
// ------------- additional functions ------------
onSourceReady: function (success, error) {
//run source if it function
var source;
if ($.isFunction(this.options.source)) {
source = this.options.source.call(this.options.scope);
this.sourceData = null;
//note: if function returns the same source as URL -
sourceData will be taken from cahce and no extra request performed
} else {
source = this.options.source;
}
//if allready loaded just call success
if(this.options.sourceCache &&
$.isArray(this.sourceData)) {
success.call(this);
return;
}
//try parse json in single quotes (for double quotes jquery
does automatically)
try {
source = $.fn.editableutils.tryParseJson(source, false);
} catch (e) {
error.call(this);
return;
}
//loading from url
if (typeof source === 'string') {
//try to get sourceData from cache
if(this.options.sourceCache) {
var cacheID = source,
cache;
if (!$(document).data(cacheID)) {
$(document).data(cacheID, {});
}
cache = $(document).data(cacheID);
//check for cached data
if (cache.loading === false &&
cache.sourceData) { //take source from cache
this.sourceData = cache.sourceData;
this.doPrepend();
success.call(this);
return;
} else if (cache.loading === true) { //cache is
loading, put callback in stack to be called later
cache.callbacks.push($.proxy(function () {
this.sourceData = cache.sourceData;
this.doPrepend();
success.call(this);
}, this));
//also collecting error callbacks
cache.err_callbacks.push($.proxy(error, this));
return;
} else { //no cache yet, activate it
cache.loading = true;
cache.callbacks = [];
cache.err_callbacks = [];
}
}
//ajaxOptions for source. Can be overwritten bt
options.sourceOptions
var ajaxOptions = $.extend({
url: source,
type: 'get',
cache: false,
dataType: 'json',
success: $.proxy(function (data) {
if(cache) {
cache.loading = false;
}
this.sourceData = this.makeArray(data);
if($.isArray(this.sourceData)) {
if(cache) {
//store result in cache
cache.sourceData = this.sourceData;
//run success callbacks for other fields
waiting for this source
$.each(cache.callbacks, function () {
this.call(); });
}
this.doPrepend();
success.call(this);
} else {
error.call(this);
if(cache) {
//run error callbacks for other fields
waiting for this source
$.each(cache.err_callbacks, function () {
this.call(); });
}
}
}, this),
error: $.proxy(function () {
error.call(this);
if(cache) {
cache.loading = false;
//run error callbacks for other fields
$.each(cache.err_callbacks, function () {
this.call(); });
}
}, this)
}, this.options.sourceOptions);
//loading sourceData from server
$.ajax(ajaxOptions);
} else { //options as json/array
this.sourceData = this.makeArray(source);
if($.isArray(this.sourceData)) {
this.doPrepend();
success.call(this);
} else {
error.call(this);
}
}
},
doPrepend: function () {
if(this.options.prepend === null || this.options.prepend ===
undefined) {
return;
}
if(!$.isArray(this.prependData)) {
//run prepend if it is function (once)
if ($.isFunction(this.options.prepend)) {
this.options.prepend =
this.options.prepend.call(this.options.scope);
}
//try parse json in single quotes
this.options.prepend =
$.fn.editableutils.tryParseJson(this.options.prepend, true);
//convert prepend from string to object
if (typeof this.options.prepend === 'string') {
this.options.prepend = {'':
this.options.prepend};
}
this.prependData = this.makeArray(this.options.prepend);
}
if($.isArray(this.prependData) &&
$.isArray(this.sourceData)) {
this.sourceData =
this.prependData.concat(this.sourceData);
}
},
/*
renders input list
*/
renderList: function() {
// this method should be overwritten in child class
},
/*
set element's html by value
*/
value2htmlFinal: function(value, element) {
// this method should be overwritten in child class
},
/**
* convert data to array suitable for sourceData, e.g. [{value: 1,
text: 'abc'}, {...}]
*/
makeArray: function(data) {
var count, obj, result = [], item, iterateItem;
if(!data || typeof data === 'string') {
return null;
}
if($.isArray(data)) { //array
/*
function to iterate inside item of array if item is
object.
Caclulates count of keys in item and store in obj.
*/
iterateItem = function (k, v) {
obj = {value: k, text: v};
if(count++ >= 2) {
return false;// exit from `each` if item has more
than one key.
}
};
for(var i = 0; i < data.length; i++) {
item = data[i];
if(typeof item === 'object') {
count = 0; //count of keys inside item
$.each(item, iterateItem);
//case: [{val1: 'text1'}, {val2:
'text2} ...]
if(count === 1) {
result.push(obj);
//case: [{value: 1, text: 'text1'},
{value: 2, text: 'text2'}, ...]
} else if(count > 1) {
//removed check of existance:
item.hasOwnProperty('value') &&
item.hasOwnProperty('text')
if(item.children) {
item.children =
this.makeArray(item.children);
}
result.push(item);
}
} else {
//case: ['text1', 'text2' ...]
result.push({value: item, text: item});
}
}
} else { //case: {val1: 'text1', val2: 'text2,
...}
$.each(data, function (k, v) {
result.push({value: k, text: v});
});
}
return result;
},
option: function(key, value) {
this.options[key] = value;
if(key === 'source') {
this.sourceData = null;
}
if(key === 'prepend') {
this.prependData = null;
}
}
});
List.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults,
{
/**
Source data for list.
If **array** - it should be in format: `[{value: 1, text:
"text1"}, {value: 2, text: "text2"}, ...]`
For compability, object format is also supported: `{"1":
"text1", "2": "text2" ...}` but it does not
guarantee elements order.
If **string** - considered ajax url to load items. In that case
results will be cached for fields with the same source and name. See also
`sourceCache` option.
If **function**, it should return data in format above (since
1.4.0).
Since 1.4.1 key `children` supported to render OPTGROUP (for
**select** input only).
`[{text: "group1", children: [{value: 1, text:
"text1"}, {value: 2, text: "text2"}]}, ...]`
@property source
@type string | array | object | function
@default null
**/
source: null,
/**
Data automatically prepended to the beginning of dropdown list.
@property prepend
@type string | array | object | function
@default false
**/
prepend: false,
/**
Error message when list cannot be loaded (e.g. ajax error)
@property sourceError
@type string
@default Error when loading list
**/
sourceError: 'Error when loading list',
/**
if <code>true</code> and source is **string url** -
results will be cached for fields with the same source.
Usefull for editable column in grid to prevent extra requests.
@property sourceCache
@type boolean
@default true
@since 1.2.0
**/
sourceCache: true,
/**
Additional ajax options to be used in $.ajax() when loading list
from server.
Useful to send extra parameters (`data` key) or change request
method (`type` key).
@property sourceOptions
@type object|function
@default null
@since 1.5.0
**/
sourceOptions: null
});
$.fn.editabletypes.list = List;
}(window.jQuery));
/**
Text input
@class text
@extends abstractinput
@final
@example
<a href="#" id="username" data-type="text"
data-pk="1">awesome</a>
<script>
$(function(){
$('#username').editable({
url: '/post',
title: 'Enter username'
});
});
</script>
**/
(function ($) {
"use strict";
var Text = function (options) {
this.init('text', options, Text.defaults);
};
$.fn.editableutils.inherit(Text, $.fn.editabletypes.abstractinput);
$.extend(Text.prototype, {
render: function() {
this.renderClear();
this.setClass();
this.setAttr('placeholder');
},
activate: function() {
if(this.$input.is(':visible')) {
this.$input.focus();
$.fn.editableutils.setCursorPosition(this.$input.get(0),
this.$input.val().length);
if(this.toggleClear) {
this.toggleClear();
}
}
},
//render clear button
renderClear: function() {
if (this.options.clear) {
this.$clear = $('<span
class="editable-clear-x"></span>');
this.$input.after(this.$clear)
.css('padding-right', 24)
.keyup($.proxy(function(e) {
//arrows, enter, tab, etc
if(~$.inArray(e.keyCode, [40,38,9,13,27])) {
return;
}
clearTimeout(this.t);
var that = this;
this.t = setTimeout(function() {
that.toggleClear(e);
}, 100);
}, this))
.parent().css('position',
'relative');
this.$clear.click($.proxy(this.clear, this));
}
},
postrender: function() {
/*
//now `clear` is positioned via css
if(this.$clear) {
//can position clear button only here, when form is shown
and height can be calculated
// var h = this.$input.outerHeight(true) || 20,
var h = this.$clear.parent().height(),
delta = (h - this.$clear.height()) / 2;
//this.$clear.css({bottom: delta, right: delta});
}
*/
},
//show / hide clear button
toggleClear: function(e) {
if(!this.$clear) {
return;
}
var len = this.$input.val().length,
visible = this.$clear.is(':visible');
if(len && !visible) {
this.$clear.show();
}
if(!len && visible) {
this.$clear.hide();
}
},
clear: function() {
this.$clear.hide();
this.$input.val('').focus();
}
});
Text.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults,
{
/**
@property tpl
@default <input type="text">
**/
tpl: '<input type="text">',
/**
Placeholder attribute of input. Shown when input is empty.
@property placeholder
@type string
@default null
**/
placeholder: null,
/**
Whether to show `clear` button
@property clear
@type boolean
@default true
**/
clear: true
});
$.fn.editabletypes.text = Text;
}(window.jQuery));
/**
Textarea input
@class textarea
@extends abstractinput
@final
@example
<a href="#" id="comments"
data-type="textarea" data-pk="1">awesome
comment!</a>
<script>
$(function(){
$('#comments').editable({
url: '/post',
title: 'Enter comments',
rows: 10
});
});
</script>
**/
(function ($) {
"use strict";
var Textarea = function (options) {
this.init('textarea', options, Textarea.defaults);
};
$.fn.editableutils.inherit(Textarea,
$.fn.editabletypes.abstractinput);
$.extend(Textarea.prototype, {
render: function () {
this.setClass();
this.setAttr('placeholder');
this.setAttr('rows');
//ctrl + enter
this.$input.keydown(function (e) {
if (e.ctrlKey && e.which === 13) {
$(this).closest('form').submit();
}
});
},
//using `white-space: pre-wrap` solves \n <--> BR conversion
very elegant!
/*
value2html: function(value, element) {
var html = '', lines;
if(value) {
lines = value.split("\n");
for (var i = 0; i < lines.length; i++) {
lines[i] =
$('<div>').text(lines[i]).html();
}
html = lines.join('<br>');
}
$(element).html(html);
},
html2value: function(html) {
if(!html) {
return '';
}
var regex = new RegExp(String.fromCharCode(10),
'g');
var lines = html.split(/<br\s*\/?>/i);
for (var i = 0; i < lines.length; i++) {
var text =
$('<div>').html(lines[i]).text();
// Remove newline characters (\n) to avoid them being
converted by value2html() method
// thus adding extra <br> tags
text = text.replace(regex, '');
lines[i] = text;
}
return lines.join("\n");
},
*/
activate: function() {
$.fn.editabletypes.text.prototype.activate.call(this);
}
});
Textarea.defaults = $.extend({},
$.fn.editabletypes.abstractinput.defaults, {
/**
@property tpl
@default <textarea></textarea>
**/
tpl:'<textarea></textarea>',
/**
@property inputclass
@default input-large
**/
inputclass: 'input-large',
/**
Placeholder attribute of input. Shown when input is empty.
@property placeholder
@type string
@default null
**/
placeholder: null,
/**
Number of rows in textarea
@property rows
@type integer
@default 7
**/
rows: 7
});
$.fn.editabletypes.textarea = Textarea;
}(window.jQuery));
/**
Select (dropdown)
@class select
@extends list
@final
@example
<a href="#" id="status" data-type="select"
data-pk="1" data-url="/post" data-title="Select
status"></a>
<script>
$(function(){
$('#status').editable({
value: 2,
source: [
{value: 1, text: 'Active'},
{value: 2, text: 'Blocked'},
{value: 3, text: 'Deleted'}
]
});
});
</script>
**/
(function ($) {
"use strict";
var Select = function (options) {
this.init('select', options, Select.defaults);
};
$.fn.editableutils.inherit(Select, $.fn.editabletypes.list);
$.extend(Select.prototype, {
renderList: function() {
this.$input.empty();
var fillItems = function($el, data) {
var attr;
if($.isArray(data)) {
for(var i=0; i<data.length; i++) {
attr = {};
if(data[i].children) {
attr.label = data[i].text;
$el.append(fillItems($('<optgroup>', attr),
data[i].children));
} else {
attr.value = data[i].value;
if(data[i].disabled) {
attr.disabled = true;
}
$el.append($('<option>',
attr).text(data[i].text));
}
}
}
return $el;
};
fillItems(this.$input, this.sourceData);
this.setClass();
//enter submit
this.$input.on('keydown.editable', function (e) {
if (e.which === 13) {
$(this).closest('form').submit();
}
});
},
value2htmlFinal: function(value, element) {
var text = '',
items = $.fn.editableutils.itemsByValue(value,
this.sourceData);
if(items.length) {
text = items[0].text;
}
//$(element).text(text);
$.fn.editabletypes.abstractinput.prototype.value2html.call(this, text,
element);
},
autosubmit: function() {
this.$input.off('keydown.editable').on('change.editable',
function(){
$(this).closest('form').submit();
});
}
});
Select.defaults = $.extend({}, $.fn.editabletypes.list.defaults, {
/**
@property tpl
@default <select></select>
**/
tpl:'<select></select>'
});
$.fn.editabletypes.select = Select;
}(window.jQuery));
/**
List of checkboxes.
Internally value stored as javascript array of values.
@class checklist
@extends list
@final
@example
<a href="#" id="options"
data-type="checklist" data-pk="1"
data-url="/post" data-title="Select
options"></a>
<script>
$(function(){
$('#options').editable({
value: [2, 3],
source: [
{value: 1, text: 'option1'},
{value: 2, text: 'option2'},
{value: 3, text: 'option3'}
]
});
});
</script>
**/
(function ($) {
"use strict";
var Checklist = function (options) {
this.init('checklist', options, Checklist.defaults);
};
$.fn.editableutils.inherit(Checklist, $.fn.editabletypes.list);
$.extend(Checklist.prototype, {
renderList: function() {
var $label, $div;
this.$tpl.empty();
if(!$.isArray(this.sourceData)) {
return;
}
for(var i=0; i<this.sourceData.length; i++) {
$label =
$('<label>').append($('<input>', {
type: 'checkbox',
value: this.sourceData[i].value
}))
.append($('<span>').text('
'+this.sourceData[i].text));
$('<div>').append($label).appendTo(this.$tpl);
}
this.$input =
this.$tpl.find('input[type="checkbox"]');
this.setClass();
},
value2str: function(value) {
return $.isArray(value) ?
value.sort().join($.trim(this.options.separator)) : '';
},
//parse separated string
str2value: function(str) {
var reg, value = null;
if(typeof str === 'string' && str.length) {
reg = new
RegExp('\\s*'+$.trim(this.options.separator)+'\\s*');
value = str.split(reg);
} else if($.isArray(str)) {
value = str;
} else {
value = [str];
}
return value;
},
//set checked on required checkboxes
value2input: function(value) {
this.$input.prop('checked', false);
if($.isArray(value) && value.length) {
this.$input.each(function(i, el) {
var $el = $(el);
// cannot use $.inArray as it performs strict
comparison
$.each(value, function(j, val){
/*jslint eqeq: true*/
if($el.val() == val) {
/*jslint eqeq: false*/
$el.prop('checked', true);
}
});
});
}
},
input2value: function() {
var checked = [];
this.$input.filter(':checked').each(function(i, el) {
checked.push($(el).val());
});
return checked;
},
//collect text of checked boxes
value2htmlFinal: function(value, element) {
var html = [],
checked = $.fn.editableutils.itemsByValue(value,
this.sourceData),
escape = this.options.escape;
if(checked.length) {
$.each(checked, function(i, v) {
var text = escape ? $.fn.editableutils.escape(v.text) :
v.text;
html.push(text);
});
$(element).html(html.join('<br>'));
} else {
$(element).empty();
}
},
activate: function() {
this.$input.first().focus();
},
autosubmit: function() {
this.$input.on('keydown', function(e){
if (e.which === 13) {
$(this).closest('form').submit();
}
});
}
});
Checklist.defaults = $.extend({}, $.fn.editabletypes.list.defaults, {
/**
@property tpl
@default <div></div>
**/
tpl:'<div
class="editable-checklist"></div>',
/**
@property inputclass
@type string
@default null
**/
inputclass: null,
/**
Separator of values when reading from `data-value` attribute
@property separator
@type string
@default ','
**/
separator: ','
});
$.fn.editabletypes.checklist = Checklist;
}(window.jQuery));
/**
HTML5 input types.
Following types are supported:
* password
* email
* url
* tel
* number
* range
* time
Learn more about html5 inputs:
http://www.w3.org/wiki/HTML5_form_additions
To check browser compatibility please see:
https://developer.mozilla.org/en-US/docs/HTML/Element/Input
@class html5types
@extends text
@final
@since 1.3.0
@example
<a href="#" id="email" data-type="email"
data-pk="1">admin@example.com</a>
<script>
$(function(){
$('#email').editable({
url: '/post',
title: 'Enter email'
});
});
</script>
**/
/**
@property tpl
@default depends on type
**/
/*
Password
*/
(function ($) {
"use strict";
var Password = function (options) {
this.init('password', options, Password.defaults);
};
$.fn.editableutils.inherit(Password, $.fn.editabletypes.text);
$.extend(Password.prototype, {
//do not display password, show '[hidden]' instead
value2html: function(value, element) {
if(value) {
$(element).text('[hidden]');
} else {
$(element).empty();
}
},
//as password not displayed, should not set value by html
html2value: function(html) {
return null;
}
});
Password.defaults = $.extend({}, $.fn.editabletypes.text.defaults, {
tpl: '<input type="password">'
});
$.fn.editabletypes.password = Password;
}(window.jQuery));
/*
Email
*/
(function ($) {
"use strict";
var Email = function (options) {
this.init('email', options, Email.defaults);
};
$.fn.editableutils.inherit(Email, $.fn.editabletypes.text);
Email.defaults = $.extend({}, $.fn.editabletypes.text.defaults, {
tpl: '<input type="email">'
});
$.fn.editabletypes.email = Email;
}(window.jQuery));
/*
Url
*/
(function ($) {
"use strict";
var Url = function (options) {
this.init('url', options, Url.defaults);
};
$.fn.editableutils.inherit(Url, $.fn.editabletypes.text);
Url.defaults = $.extend({}, $.fn.editabletypes.text.defaults, {
tpl: '<input type="url">'
});
$.fn.editabletypes.url = Url;
}(window.jQuery));
/*
Tel
*/
(function ($) {
"use strict";
var Tel = function (options) {
this.init('tel', options, Tel.defaults);
};
$.fn.editableutils.inherit(Tel, $.fn.editabletypes.text);
Tel.defaults = $.extend({}, $.fn.editabletypes.text.defaults, {
tpl: '<input type="tel">'
});
$.fn.editabletypes.tel = Tel;
}(window.jQuery));
/*
Number
*/
(function ($) {
"use strict";
var NumberInput = function (options) {
this.init('number', options, NumberInput.defaults);
};
$.fn.editableutils.inherit(NumberInput, $.fn.editabletypes.text);
$.extend(NumberInput.prototype, {
render: function () {
NumberInput.superclass.render.call(this);
this.setAttr('min');
this.setAttr('max');
this.setAttr('step');
},
postrender: function() {
if(this.$clear) {
//increase right ffset for up/down arrows
this.$clear.css({right: 24});
/*
//can position clear button only here, when form is shown
and height can be calculated
var h = this.$input.outerHeight(true) || 20,
delta = (h - this.$clear.height()) / 2;
//add 12px to offset right for up/down arrows
this.$clear.css({top: delta, right: delta + 16});
*/
}
}
});
NumberInput.defaults = $.extend({}, $.fn.editabletypes.text.defaults,
{
tpl: '<input type="number">',
inputclass: 'input-mini',
min: null,
max: null,
step: null
});
$.fn.editabletypes.number = NumberInput;
}(window.jQuery));
/*
Range (inherit from number)
*/
(function ($) {
"use strict";
var Range = function (options) {
this.init('range', options, Range.defaults);
};
$.fn.editableutils.inherit(Range, $.fn.editabletypes.number);
$.extend(Range.prototype, {
render: function () {
this.$input = this.$tpl.filter('input');
this.setClass();
this.setAttr('min');
this.setAttr('max');
this.setAttr('step');
this.$input.on('input', function(){
$(this).siblings('output').text($(this).val());
});
},
activate: function() {
this.$input.focus();
}
});
Range.defaults = $.extend({}, $.fn.editabletypes.number.defaults, {
tpl: '<input type="range"><output
style="width: 30px; display:
inline-block"></output>',
inputclass: 'input-medium'
});
$.fn.editabletypes.range = Range;
}(window.jQuery));
/*
Time
*/
(function ($) {
"use strict";
var Time = function (options) {
this.init('time', options, Time.defaults);
};
//inherit from abstract, as inheritance from text gives selection
error.
$.fn.editableutils.inherit(Time, $.fn.editabletypes.abstractinput);
$.extend(Time.prototype, {
render: function() {
this.setClass();
}
});
Time.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults,
{
tpl: '<input type="time">'
});
$.fn.editabletypes.time = Time;
}(window.jQuery));
/**
Select2 input. Based on amazing work of Igor Vaynberg
https://github.com/ivaynberg/select2.
Please see [original select2 docs](http://ivaynberg.github.com/select2) for
detailed description and options.
You should manually download and include select2 distributive:
<link href="select2/select2.css"
rel="stylesheet" type="text/css"></link>
<script src="select2/select2.js"></script>
To make it **bootstrap-styled** you can use css from
[here](https://github.com/t0m/select2-bootstrap-css):
<link href="select2-bootstrap.css"
rel="stylesheet" type="text/css"></link>
**Note:** currently `autotext` feature does not work for select2 with
`ajax` remote source.
You need initially put both `data-value` and element's text youself:
<a href="#" data-type="select2"
data-value="1">Text1</a>
@class select2
@extends abstractinput
@since 1.4.1
@final
@example
<a href="#" id="country"
data-type="select2" data-pk="1"
data-value="ru" data-url="/post"
data-title="Select country"></a>
<script>
$(function(){
//local source
$('#country').editable({
source: [
{id: 'gb', text: 'Great Britain'},
{id: 'us', text: 'United States'},
{id: 'ru', text: 'Russia'}
],
select2: {
multiple: true
}
});
//remote source (simple)
$('#country').editable({
source: '/getCountries',
select2: {
placeholder: 'Select Country',
minimumInputLength: 1
}
});
//remote source (advanced)
$('#country').editable({
select2: {
placeholder: 'Select Country',
allowClear: true,
minimumInputLength: 3,
id: function (item) {
return item.CountryId;
},
ajax: {
url: '/getCountries',
dataType: 'json',
data: function (term, page) {
return { query: term };
},
results: function (data, page) {
return { results: data };
}
},
formatResult: function (item) {
return item.CountryName;
},
formatSelection: function (item) {
return item.CountryName;
},
initSelection: function (element, callback) {
return $.get('/getCountryById', { query:
element.val() }, function (data) {
callback(data);
});
}
}
});
});
</script>
**/
(function ($) {
"use strict";
var Constructor = function (options) {
this.init('select2', options, Constructor.defaults);
options.select2 = options.select2 || {};
this.sourceData = null;
//placeholder
if(options.placeholder) {
options.select2.placeholder = options.placeholder;
}
//if not `tags` mode, use source
if(!options.select2.tags && options.source) {
var source = options.source;
//if source is function, call it (once!)
if ($.isFunction(options.source)) {
source = options.source.call(options.scope);
}
if (typeof source === 'string') {
options.select2.ajax = options.select2.ajax || {};
//some default ajax params
if(!options.select2.ajax.data) {
options.select2.ajax.data = function(term) {return {
query:term };};
}
if(!options.select2.ajax.results) {
options.select2.ajax.results = function(data) { return
{results:data };};
}
options.select2.ajax.url = source;
} else {
//check format and convert x-editable format to select2
format (if needed)
this.sourceData = this.convertSource(source);
options.select2.data = this.sourceData;
}
}
//overriding objects in config (as by default jQuery extend() is
not recursive)
this.options.select2 = $.extend({}, Constructor.defaults.select2,
options.select2);
//detect whether it is multi-valued
this.isMultiple = this.options.select2.tags ||
this.options.select2.multiple;
this.isRemote = ('ajax' in this.options.select2);
//store function returning ID of item
//should be here as used inautotext for local source
this.idFunc = this.options.select2.id;
if (typeof(this.idFunc) !== "function") {
var idKey = this.idFunc || 'id';
this.idFunc = function (e) { return e[idKey]; };
}
//store function that renders text in select2
this.formatSelection = this.options.select2.formatSelection;
if (typeof(this.formatSelection) !== "function") {
this.formatSelection = function (e) { return e.text; };
}
};
$.fn.editableutils.inherit(Constructor,
$.fn.editabletypes.abstractinput);
$.extend(Constructor.prototype, {
render: function() {
this.setClass();
//can not apply select2 here as it calls initSelection
//over input that does not have correct value yet.
//apply select2 only in value2input
//this.$input.select2(this.options.select2);
//when data is loaded via ajax, we need to know when it's
done to populate listData
if(this.isRemote) {
//listen to loaded event to populate data
this.$input.on('select2-loaded',
$.proxy(function(e) {
this.sourceData = e.items.results;
}, this));
}
//trigger resize of editableform to re-position container in
multi-valued mode
if(this.isMultiple) {
this.$input.on('change', function() {
$(this).closest('form').parent().triggerHandler('resize');
});
}
},
value2html: function(value, element) {
var text = '', data,
that = this;
if(this.options.select2.tags) { //in tags mode just assign
value
data = value;
//data = $.fn.editableutils.itemsByValue(value,
this.options.select2.tags, this.idFunc);
} else if(this.sourceData) {
data = $.fn.editableutils.itemsByValue(value,
this.sourceData, this.idFunc);
} else {
//can not get list of possible values
//(e.g. autotext for select2 with ajax source)
}
//data may be array (when multiple values allowed)
if($.isArray(data)) {
//collect selected data and show with separator
text = [];
$.each(data, function(k, v){
text.push(v && typeof v === 'object' ?
that.formatSelection(v) : v);
});
} else if(data) {
text = that.formatSelection(data);
}
text = $.isArray(text) ? text.join(this.options.viewseparator) :
text;
//$(element).text(text);
Constructor.superclass.value2html.call(this, text, element);
},
html2value: function(html) {
return this.options.select2.tags ? this.str2value(html,
this.options.viewseparator) : null;
},
value2input: function(value) {
// if value array => join it anyway
if($.isArray(value)) {
value = value.join(this.getSeparator());
}
//for remote source just set value, text is updated by
initSelection
if(!this.$input.data('select2')) {
this.$input.val(value);
this.$input.select2(this.options.select2);
} else {
//second argument needed to separate initial change from
user's click (for autosubmit)
this.$input.val(value).trigger('change', true);
//Uncaught Error: cannot call val() if initSelection() is
not defined
//this.$input.select2('val', value);
}
// if defined remote source AND no multiple mode AND no
user's initSelection provided -->
// we should somehow get text for provided id.
// The solution is to use element's text as text for that
id (exclude empty)
if(this.isRemote && !this.isMultiple &&
!this.options.select2.initSelection) {
// customId and customText are methods to extract `id` and
`text` from data object
// we can use this workaround only if user did not define
these methods
// otherwise we cant construct data object
var customId = this.options.select2.id,
customText = this.options.select2.formatSelection;
if(!customId && !customText) {
var $el = $(this.options.scope);
if (!$el.data('editable').isEmpty) {
var data = {id: value, text: $el.text()};
this.$input.select2('data', data);
}
}
}
},
input2value: function() {
return this.$input.select2('val');
},
str2value: function(str, separator) {
if(typeof str !== 'string' || !this.isMultiple) {
return str;
}
separator = separator || this.getSeparator();
var val, i, l;
if (str === null || str.length < 1) {
return null;
}
val = str.split(separator);
for (i = 0, l = val.length; i < l; i = i + 1) {
val[i] = $.trim(val[i]);
}
return val;
},
autosubmit: function() {
this.$input.on('change', function(e, isInitial){
if(!isInitial) {
$(this).closest('form').submit();
}
});
},
getSeparator: function() {
return this.options.select2.separator ||
$.fn.select2.defaults.separator;
},
/*
Converts source from x-editable format: {value: 1, text:
"1"} to
select2 format: {id: 1, text: "1"}
*/
convertSource: function(source) {
if($.isArray(source) && source.length &&
source[0].value !== undefined) {
for(var i = 0; i<source.length; i++) {
if(source[i].value !== undefined) {
source[i].id = source[i].value;
delete source[i].value;
}
}
}
return source;
},
destroy: function() {
if(this.$input.data('select2')) {
this.$input.select2('destroy');
}
}
});
Constructor.defaults = $.extend({},
$.fn.editabletypes.abstractinput.defaults, {
/**
@property tpl
@default <input type="hidden">
**/
tpl:'<input type="hidden">',
/**
Configuration of select2. [Full list of
options](http://ivaynberg.github.com/select2).
@property select2
@type object
@default null
**/
select2: null,
/**
Placeholder attribute of select
@property placeholder
@type string
@default null
**/
placeholder: null,
/**
Source data for select. It will be assigned to select2 `data`
property and kept here just for convenience.
Please note, that format is different from simple `select` input:
use 'id' instead of 'value'.
E.g. `[{id: 1, text: "text1"}, {id: 2, text:
"text2"}, ...]`.
@property source
@type array|string|function
@default null
**/
source: null,
/**
Separator used to display tags.
@property viewseparator
@type string
@default ', '
**/
viewseparator: ', '
});
$.fn.editabletypes.select2 = Constructor;
}(window.jQuery));
/**
* Combodate - 1.0.5
* Dropdown date and time picker.
* Converts text input into dropdowns to pick day, month, year, hour, minute
and second.
* Uses momentjs as datetime library http://momentjs.com.
* For i18n include corresponding file from
https://github.com/timrwood/moment/tree/master/lang
*
* Confusion at noon and midnight - see
http://en.wikipedia.org/wiki/12-hour_clock#Confusion_at_noon_and_midnight
* In combodate:
* 12:00 pm --> 12:00 (24-h format, midday)
* 12:00 am --> 00:00 (24-h format, midnight, start of day)
*
* Differs from momentjs parse rules:
* 00:00 pm, 12:00 pm --> 12:00 (24-h format, day not change)
* 00:00 am, 12:00 am --> 00:00 (24-h format, day not change)
*
*
* Author: Vitaliy Potapov
* Project page: http://github.com/vitalets/combodate
* Copyright (c) 2012 Vitaliy Potapov. Released under MIT License.
**/
(function ($) {
var Combodate = function (element, options) {
this.$element = $(element);
if(!this.$element.is('input')) {
$.error('Combodate should be applied to INPUT
element');
return;
}
this.options = $.extend({}, $.fn.combodate.defaults, options,
this.$element.data());
this.init();
};
Combodate.prototype = {
constructor: Combodate,
init: function () {
this.map = {
//key regexp moment.method
day: ['D', 'date'],
month: ['M', 'month'],
year: ['Y', 'year'],
hour: ['[Hh]', 'hours'],
minute: ['m', 'minutes'],
second: ['s', 'seconds'],
ampm: ['[Aa]', '']
};
this.$widget = $('<span
class="combodate"></span>').html(this.getTemplate());
this.initCombos();
//update original input on change
this.$widget.on('change', 'select',
$.proxy(function(e) {
this.$element.val(this.getValue()).change();
// update days count if month or year changes
if (this.options.smartDays) {
if ($(e.target).is('.month') ||
$(e.target).is('.year')) {
this.fillCombo('day');
}
}
}, this));
this.$widget.find('select').css('width',
'auto');
// hide original input and insert widget
this.$element.hide().after(this.$widget);
// set initial value
this.setValue(this.$element.val() || this.options.value);
},
/*
Replace tokens in template with <select> elements
*/
getTemplate: function() {
var tpl = this.options.template;
//first pass
$.each(this.map, function(k, v) {
v = v[0];
var r = new RegExp(v+'+'),
token = v.length > 1 ? v.substring(1, 2) : v;
tpl = tpl.replace(r, '{'+token+'}');
});
//replace spaces with
tpl = tpl.replace(/ /g, ' ');
//second pass
$.each(this.map, function(k, v) {
v = v[0];
var token = v.length > 1 ? v.substring(1, 2) : v;
tpl = tpl.replace('{'+token+'}',
'<select
class="'+k+'"></select>');
});
return tpl;
},
/*
Initialize combos that presents in template
*/
initCombos: function() {
for (var k in this.map) {
var $c = this.$widget.find('.'+k);
// set properties like this.$day, this.$month etc.
this['$'+k] = $c.length ? $c : null;
// fill with items
this.fillCombo(k);
}
},
/*
Fill combo with items
*/
fillCombo: function(k) {
var $combo = this['$'+k];
if (!$combo) {
return;
}
// define method name to fill items, e.g `fillDays`
var f = 'fill' + k.charAt(0).toUpperCase() +
k.slice(1);
var items = this[f]();
var value = $combo.val();
$combo.empty();
for(var i=0; i<items.length; i++) {
$combo.append('<option
value="'+items[i][0]+'">'+items[i][1]+'</option>');
}
$combo.val(value);
},
/*
Initialize items of combos. Handles `firstItem` option
*/
fillCommon: function(key) {
var values = [],
relTime;
if(this.options.firstItem === 'name') {
//need both to support moment ver < 2 and >= 2
relTime = moment.relativeTime ||
moment.langData()._relativeTime;
var header = typeof relTime[key] === 'function' ?
relTime[key](1, true, key, false) : relTime[key];
//take last entry (see momentjs lang files structure)
header = header.split(' ').reverse()[0];
values.push(['', header]);
} else if(this.options.firstItem === 'empty') {
values.push(['', '']);
}
return values;
},
/*
fill day
*/
fillDay: function() {
var items = this.fillCommon('d'), name, i,
twoDigit = this.options.template.indexOf('DD')
!== -1,
daysCount = 31;
// detect days count (depends on month and year)
// originally https://github.com/vitalets/combodate/pull/7
if (this.options.smartDays && this.$month &&
this.$year) {
var month = parseInt(this.$month.val(), 10);
var year = parseInt(this.$year.val(), 10);
if (!isNaN(month) && !isNaN(year)) {
daysCount = moment([year, month]).daysInMonth();
}
}
for (i = 1; i <= daysCount; i++) {
name = twoDigit ? this.leadZero(i) : i;
items.push([i, name]);
}
return items;
},
/*
fill month
*/
fillMonth: function() {
var items = this.fillCommon('M'), name, i,
longNames = this.options.template.indexOf('MMMM')
!== -1,
shortNames = this.options.template.indexOf('MMM')
!== -1,
twoDigit = this.options.template.indexOf('MM')
!== -1;
for(i=0; i<=11; i++) {
if(longNames) {
//see https://github.com/timrwood/momentjs.com/pull/36
name =
moment().date(1).month(i).format('MMMM');
} else if(shortNames) {
name =
moment().date(1).month(i).format('MMM');
} else if(twoDigit) {
name = this.leadZero(i+1);
} else {
name = i+1;
}
items.push([i, name]);
}
return items;
},
/*
fill year
*/
fillYear: function() {
var items = [], name, i,
longNames = this.options.template.indexOf('YYYY')
!== -1;
for(i=this.options.maxYear; i>=this.options.minYear; i--) {
name = longNames ? i : (i+'').substring(2);
items[this.options.yearDescending ? 'push' :
'unshift']([i, name]);
}
items = this.fillCommon('y').concat(items);
return items;
},
/*
fill hour
*/
fillHour: function() {
var items = this.fillCommon('h'), name, i,
h12 = this.options.template.indexOf('h') !== -1,
h24 = this.options.template.indexOf('H') !== -1,
twoDigit =
this.options.template.toLowerCase().indexOf('hh') !== -1,
min = h12 ? 1 : 0,
max = h12 ? 12 : 23;
for(i=min; i<=max; i++) {
name = twoDigit ? this.leadZero(i) : i;
items.push([i, name]);
}
return items;
},
/*
fill minute
*/
fillMinute: function() {
var items = this.fillCommon('m'), name, i,
twoDigit = this.options.template.indexOf('mm')
!== -1;
for(i=0; i<=59; i+= this.options.minuteStep) {
name = twoDigit ? this.leadZero(i) : i;
items.push([i, name]);
}
return items;
},
/*
fill second
*/
fillSecond: function() {
var items = this.fillCommon('s'), name, i,
twoDigit = this.options.template.indexOf('ss')
!== -1;
for(i=0; i<=59; i+= this.options.secondStep) {
name = twoDigit ? this.leadZero(i) : i;
items.push([i, name]);
}
return items;
},
/*
fill ampm
*/
fillAmpm: function() {
var ampmL = this.options.template.indexOf('a') !==
-1,
ampmU = this.options.template.indexOf('A') !==
-1,
items = [
['am', ampmL ? 'am' :
'AM'],
['pm', ampmL ? 'pm' :
'PM']
];
return items;
},
/*
Returns current date value from combos.
If format not specified - `options.format` used.
If format = `null` - Moment object returned.
*/
getValue: function(format) {
var dt, values = {},
that = this,
notSelected = false;
//getting selected values
$.each(this.map, function(k, v) {
if(k === 'ampm') {
return;
}
var def = k === 'day' ? 1 : 0;
values[k] = that['$'+k] ?
parseInt(that['$'+k].val(), 10) : def;
if(isNaN(values[k])) {
notSelected = true;
return false;
}
});
//if at least one visible combo not selected - return empty
string
if(notSelected) {
return '';
}
//convert hours 12h --> 24h
if(this.$ampm) {
//12:00 pm --> 12:00 (24-h format, midday), 12:00 am
--> 00:00 (24-h format, midnight, start of day)
if(values.hour === 12) {
values.hour = this.$ampm.val() === 'am' ? 0 :
12;
} else {
values.hour = this.$ampm.val() === 'am' ?
values.hour : values.hour+12;
}
}
dt = moment([values.year, values.month, values.day,
values.hour, values.minute, values.second]);
//highlight invalid date
this.highlight(dt);
format = format === undefined ? this.options.format : format;
if(format === null) {
return dt.isValid() ? dt : null;
} else {
return dt.isValid() ? dt.format(format) : '';
}
},
setValue: function(value) {
if(!value) {
return;
}
var dt = typeof value === 'string' ? moment(value,
this.options.format) : moment(value),
that = this,
values = {};
//function to find nearest value in select options
function getNearest($select, value) {
var delta = {};
$select.children('option').each(function(i,
opt){
var optValue = $(opt).attr('value'),
distance;
if(optValue === '') return;
distance = Math.abs(optValue - value);
if(typeof delta.distance === 'undefined' ||
distance < delta.distance) {
delta = {value: optValue, distance: distance};
}
});
return delta.value;
}
if(dt.isValid()) {
//read values from date object
$.each(this.map, function(k, v) {
if(k === 'ampm') {
return;
}
values[k] = dt[v[1]]();
});
if(this.$ampm) {
//12:00 pm --> 12:00 (24-h format, midday), 12:00 am
--> 00:00 (24-h format, midnight, start of day)
if(values.hour >= 12) {
values.ampm = 'pm';
if(values.hour > 12) {
values.hour -= 12;
}
} else {
values.ampm = 'am';
if(values.hour === 0) {
values.hour = 12;
}
}
}
$.each(values, function(k, v) {
//call val() for each existing combo, e.g.
this.$hour.val()
if(that['$'+k]) {
if(k === 'minute' &&
that.options.minuteStep > 1 && that.options.roundTime) {
v = getNearest(that['$'+k], v);
}
if(k === 'second' &&
that.options.secondStep > 1 && that.options.roundTime) {
v = getNearest(that['$'+k], v);
}
that['$'+k].val(v);
}
});
// update days count
if (this.options.smartDays) {
this.fillCombo('day');
}
this.$element.val(dt.format(this.options.format)).change();
}
},
/*
highlight combos if date is invalid
*/
highlight: function(dt) {
if(!dt.isValid()) {
if(this.options.errorClass) {
this.$widget.addClass(this.options.errorClass);
} else {
//store original border color
if(!this.borderColor) {
this.borderColor =
this.$widget.find('select').css('border-color');
}
this.$widget.find('select').css('border-color',
'red');
}
} else {
if(this.options.errorClass) {
this.$widget.removeClass(this.options.errorClass);
} else {
this.$widget.find('select').css('border-color',
this.borderColor);
}
}
},
leadZero: function(v) {
return v <= 9 ? '0' + v : v;
},
destroy: function() {
this.$widget.remove();
this.$element.removeData('combodate').show();
}
//todo: clear method
};
$.fn.combodate = function ( option ) {
var d, args = Array.apply(null, arguments);
args.shift();
//getValue returns date as string / object (not jQuery object)
if(option === 'getValue' && this.length
&& (d = this.eq(0).data('combodate'))) {
return d.getValue.apply(d, args);
}
return this.each(function () {
var $this = $(this),
data = $this.data('combodate'),
options = typeof option == 'object' &&
option;
if (!data) {
$this.data('combodate', (data = new
Combodate(this, options)));
}
if (typeof option == 'string' && typeof
data[option] == 'function') {
data[option].apply(data, args);
}
});
};
$.fn.combodate.defaults = {
//in this format value stored in original input
format: 'DD-MM-YYYY HH:mm',
//in this format items in dropdowns are displayed
template: 'D / MMM / YYYY H : mm',
//initial value, can be `new Date()`
value: null,
minYear: 1970,
maxYear: 2015,
yearDescending: true,
minuteStep: 5,
secondStep: 1,
firstItem: 'empty', //'name',
'empty', 'none'
errorClass: null,
roundTime: true, // whether to round minutes and seconds if step
> 1
smartDays: false // whether days in combo depend on selected month:
31, 30, 28
};
}(window.jQuery));
/**
Combodate input - dropdown date and time picker.
Based on [combodate](http://vitalets.github.com/combodate) plugin
(included). To use it you should manually include
[momentjs](http://momentjs.com).
<script src="js/moment.min.js"></script>
Allows to input:
* only date
* only time
* both date and time
Please note, that format is taken from momentjs and **not compatible** with
bootstrap-datepicker / jquery UI datepicker.
Internally value stored as `momentjs` object.
@class combodate
@extends abstractinput
@final
@since 1.4.0
@example
<a href="#" id="dob" data-type="combodate"
data-pk="1" data-url="/post"
data-value="1984-05-15" data-title="Select
date"></a>
<script>
$(function(){
$('#dob').editable({
format: 'YYYY-MM-DD',
viewformat: 'DD.MM.YYYY',
template: 'D / MMMM / YYYY',
combodate: {
minYear: 2000,
maxYear: 2015,
minuteStep: 1
}
}
});
});
</script>
**/
/*global moment*/
(function ($) {
"use strict";
var Constructor = function (options) {
this.init('combodate', options, Constructor.defaults);
//by default viewformat equals to format
if(!this.options.viewformat) {
this.options.viewformat = this.options.format;
}
//try parse combodate config defined as json string in
data-combodate
options.combodate =
$.fn.editableutils.tryParseJson(options.combodate, true);
//overriding combodate config (as by default jQuery extend() is not
recursive)
this.options.combodate = $.extend({},
Constructor.defaults.combodate, options.combodate, {
format: this.options.format,
template: this.options.template
});
};
$.fn.editableutils.inherit(Constructor,
$.fn.editabletypes.abstractinput);
$.extend(Constructor.prototype, {
render: function () {
this.$input.combodate(this.options.combodate);
if($.fn.editableform.engine === 'bs3') {
this.$input.siblings().find('select').addClass('form-control');
}
if(this.options.inputclass) {
this.$input.siblings().find('select').addClass(this.options.inputclass);
}
//"clear" link
/*
if(this.options.clear) {
this.$clear = $('<a
href="#"></a>').html(this.options.clear).click($.proxy(function(e){
e.preventDefault();
e.stopPropagation();
this.clear();
}, this));
this.$tpl.parent().append($('<div
class="editable-clear">').append(this.$clear));
}
*/
},
value2html: function(value, element) {
var text = value ? value.format(this.options.viewformat) :
'';
//$(element).text(text);
Constructor.superclass.value2html.call(this, text, element);
},
html2value: function(html) {
return html ? moment(html, this.options.viewformat) : null;
},
value2str: function(value) {
return value ? value.format(this.options.format) :
'';
},
str2value: function(str) {
return str ? moment(str, this.options.format) : null;
},
value2submit: function(value) {
return this.value2str(value);
},
value2input: function(value) {
this.$input.combodate('setValue', value);
},
input2value: function() {
return this.$input.combodate('getValue', null);
},
activate: function() {
this.$input.siblings('.combodate').find('select').eq(0).focus();
},
/*
clear: function() {
this.$input.data('datepicker').date = null;
this.$input.find('.active').removeClass('active');
},
*/
autosubmit: function() {
}
});
Constructor.defaults = $.extend({},
$.fn.editabletypes.abstractinput.defaults, {
/**
@property tpl
@default <input type="text">
**/
tpl:'<input type="text">',
/**
@property inputclass
@default null
**/
inputclass: null,
/**
Format used for sending value to server. Also applied when
converting date from <code>data-value</code>
attribute.<br>
See list of tokens in [momentjs
docs](http://momentjs.com/docs/#/parsing/string-format)
@property format
@type string
@default YYYY-MM-DD
**/
format:'YYYY-MM-DD',
/**
Format used for displaying date. Also applied when converting date
from element's text on init.
If not specified equals to `format`.
@property viewformat
@type string
@default null
**/
viewformat: null,
/**
Template used for displaying dropdowns.
@property template
@type string
@default D / MMM / YYYY
**/
template: 'D / MMM / YYYY',
/**
Configuration of combodate.
Full list of options: http://vitalets.github.com/combodate/#docs
@property combodate
@type object
@default null
**/
combodate: null
/*
(not implemented yet)
Text shown as clear date button.
If <code>false</code> clear button will not be
rendered.
@property clear
@type boolean|string
@default 'x clear'
*/
//clear: '× clear'
});
$.fn.editabletypes.combodate = Constructor;
}(window.jQuery));
/*
Editableform based on Twitter Bootstrap 3
*/
(function ($) {
"use strict";
//store parent methods
var pInitInput = $.fn.editableform.Constructor.prototype.initInput;
$.extend($.fn.editableform.Constructor.prototype, {
initTemplate: function() {
this.$form = $($.fn.editableform.template);
this.$form.find('.control-group').addClass('form-group');
this.$form.find('.editable-error-block').addClass('help-block');
},
initInput: function() {
pInitInput.apply(this);
//for bs3 set default class `input-sm` to standard inputs
var emptyInputClass = this.input.options.inputclass === null ||
this.input.options.inputclass === false;
var defaultClass = 'input-sm';
//bs3 add `form-control` class to standard inputs
var stdtypes =
'text,select,textarea,password,email,url,tel,number,range,time,typeaheadjs'.split(',');
if(~$.inArray(this.input.type, stdtypes)) {
this.input.$input.addClass('form-control');
if(emptyInputClass) {
this.input.options.inputclass = defaultClass;
this.input.$input.addClass(defaultClass);
}
}
//apply bs3 size class also to buttons (to fit size of
control)
var $btn = this.$form.find('.editable-buttons');
var classes = emptyInputClass ? [defaultClass] :
this.input.options.inputclass.split(' ');
for(var i=0; i<classes.length; i++) {
// `btn-sm` is default now
/*
if(classes[i].toLowerCase() === 'input-sm') {
$btn.find('button').addClass('btn-sm');
}
*/
if(classes[i].toLowerCase() === 'input-lg') {
$btn.find('button').removeClass('btn-sm').addClass('btn-lg');
}
}
}
});
//buttons
$.fn.editableform.buttons =
'<button type="submit" class="btn btn-primary
btn-sm editable-submit">'+
'<i class="fa fa-check"></i>'+
'</button>'+
'<button type="button" class="btn btn-default
btn-sm editable-cancel">'+
'<i class="fa fa-remove"></i>'+
'</button>';
//error classes
$.fn.editableform.errorGroupClass = 'has-error';
$.fn.editableform.errorBlockClass = null;
//engine
$.fn.editableform.engine = 'bs3';
}(window.jQuery));
/**
* Editable Popover3 (for Bootstrap 3)
* ---------------------
* requires bootstrap-popover.js
*/
(function ($) {
"use strict";
//extend methods
$.extend($.fn.editableContainer.Popup.prototype, {
containerName: 'popover',
containerDataName: 'bs.popover',
innerCss: '.popover-content',
defaults: $.fn.popover.Constructor.DEFAULTS,
initContainer: function(){
$.extend(this.containerOptions, {
trigger: 'manual',
selector: false,
content: ' ',
template: this.defaults.template
});
//as template property is used in inputs, hide it from popover
var t;
if(this.$element.data('template')) {
t = this.$element.data('template');
this.$element.removeData('template');
}
this.call(this.containerOptions);
if(t) {
//restore data('template')
this.$element.data('template', t);
}
},
/* show */
innerShow: function () {
this.call('show');
},
/* hide */
innerHide: function () {
this.call('hide');
},
/* destroy */
innerDestroy: function() {
this.call('destroy');
},
setContainerOption: function(key, value) {
this.container().options[key] = value;
},
/**
* move popover to new position. This function mainly copied from
bootstrap-popover.
*/
/*jshint laxcomma: true, eqeqeq: false*/
setPosition: function () {
(function() {
/*
var $tip = this.tip()
, inside
, pos
, actualWidth
, actualHeight
, placement
, tp
, tpt
, tpb
, tpl
, tpr;
placement = typeof this.options.placement ===
'function' ?
this.options.placement.call(this, $tip[0],
this.$element[0]) :
this.options.placement;
inside = /in/.test(placement);
$tip
// .detach()
//vitalets: remove any placement class because otherwise they
dont influence on re-positioning of visible popover
.removeClass('top right bottom left')
.css({ top: 0, left: 0, display: 'block' });
// .insertAfter(this.$element);
pos = this.getPosition(inside);
actualWidth = $tip[0].offsetWidth;
actualHeight = $tip[0].offsetHeight;
placement = inside ? placement.split(' ')[1] :
placement;
tpb = {top: pos.top + pos.height, left: pos.left +
pos.width / 2 - actualWidth / 2};
tpt = {top: pos.top - actualHeight, left: pos.left +
pos.width / 2 - actualWidth / 2};
tpl = {top: pos.top + pos.height / 2 - actualHeight / 2,
left: pos.left - actualWidth};
tpr = {top: pos.top + pos.height / 2 - actualHeight / 2,
left: pos.left + pos.width};
switch (placement) {
case 'bottom':
if ((tpb.top + actualHeight) >
($(window).scrollTop() + $(window).height())) {
if (tpt.top > $(window).scrollTop()) {
placement = 'top';
} else if ((tpr.left + actualWidth) <
($(window).scrollLeft() + $(window).width())) {
placement = 'right';
} else if (tpl.left >
$(window).scrollLeft()) {
placement = 'left';
} else {
placement = 'right';
}
}
break;
case 'top':
if (tpt.top < $(window).scrollTop()) {
if ((tpb.top + actualHeight) <
($(window).scrollTop() + $(window).height())) {
placement = 'bottom';
} else if ((tpr.left + actualWidth) <
($(window).scrollLeft() + $(window).width())) {
placement = 'right';
} else if (tpl.left >
$(window).scrollLeft()) {
placement = 'left';
} else {
placement = 'right';
}
}
break;
case 'left':
if (tpl.left < $(window).scrollLeft()) {
if ((tpr.left + actualWidth) <
($(window).scrollLeft() + $(window).width())) {
placement = 'right';
} else if (tpt.top > $(window).scrollTop())
{
placement = 'top';
} else if (tpt.top > $(window).scrollTop())
{
placement = 'bottom';
} else {
placement = 'right';
}
}
break;
case 'right':
if ((tpr.left + actualWidth) >
($(window).scrollLeft() + $(window).width())) {
if (tpl.left > $(window).scrollLeft()) {
placement = 'left';
} else if (tpt.top > $(window).scrollTop())
{
placement = 'top';
} else if (tpt.top > $(window).scrollTop())
{
placement = 'bottom';
}
}
break;
}
switch (placement) {
case 'bottom':
tp = tpb;
break;
case 'top':
tp = tpt;
break;
case 'left':
tp = tpl;
break;
case 'right':
tp = tpr;
break;
}
$tip
.offset(tp)
.addClass(placement)
.addClass('in');
*/
var $tip = this.tip();
var placement = typeof this.options.placement ==
'function' ?
this.options.placement.call(this, $tip[0],
this.$element[0]) :
this.options.placement;
var autoToken = /\s?auto?\s?/i;
var autoPlace = autoToken.test(placement);
if (autoPlace) {
placement = placement.replace(autoToken, '') ||
'top';
}
var pos = this.getPosition();
var actualWidth = $tip[0].offsetWidth;
var actualHeight = $tip[0].offsetHeight;
if (autoPlace) {
var $parent = this.$element.parent();
var orgPlacement = placement;
var docScroll = document.documentElement.scrollTop ||
document.body.scrollTop;
var parentWidth = this.options.container ==
'body' ? window.innerWidth : $parent.outerWidth();
var parentHeight = this.options.container ==
'body' ? window.innerHeight : $parent.outerHeight();
var parentLeft = this.options.container ==
'body' ? 0 : $parent.offset().left;
placement = placement == 'bottom' &&
pos.top + pos.height + actualHeight - docScroll > parentHeight ?
'top' :
placement == 'top' &&
pos.top - docScroll - actualHeight < 0 ?
'bottom' :
placement == 'right' &&
pos.right + actualWidth > parentWidth ?
'left' :
placement == 'left' &&
pos.left - actualWidth < parentLeft ?
'right' :
placement;
$tip
.removeClass(orgPlacement)
.addClass(placement);
}
var calculatedOffset = this.getCalculatedOffset(placement, pos,
actualWidth, actualHeight);
this.applyPlacement(calculatedOffset, placement);
}).call(this.container());
/*jshint laxcomma: false, eqeqeq: true*/
}
});
}(window.jQuery));
/* =========================================================
* bootstrap-datepicker.js
* http://www.eyecon.ro/bootstrap-datepicker
* =========================================================
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
*
* Licensed under the Apache License, Version 2.0 (the
"License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS"
BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* ========================================================= */
(function( $ ) {
function UTCDate(){
return new Date(Date.UTC.apply(Date, arguments));
}
function UTCToday(){
var today = new Date();
return UTCDate(today.getUTCFullYear(), today.getUTCMonth(),
today.getUTCDate());
}
// Picker object
var Datepicker = function(element, options) {
var that = this;
this._process_options(options);
this.element = $(element);
this.isInline = false;
this.isInput = this.element.is('input');
this.component = this.element.is('.date') ?
this.element.find('.add-on, .btn') : false;
this.hasInput = this.component &&
this.element.find('input').length;
if(this.component && this.component.length === 0)
this.component = false;
this.picker = $(DPGlobal.template);
this._buildEvents();
this._attachEvents();
if(this.isInline) {
this.picker.addClass('datepicker-inline').appendTo(this.element);
} else {
this.picker.addClass('datepicker-dropdown dropdown-menu');
}
if (this.o.rtl){
this.picker.addClass('datepicker-rtl');
this.picker.find('.prev i, .next i')
.toggleClass('icon-arrow-left icon-arrow-right');
}
this.viewMode = this.o.startView;
if (this.o.calendarWeeks)
this.picker.find('tfoot th.today')
.attr('colspan', function(i, val){
return parseInt(val) + 1;
});
this._allow_update = false;
this.setStartDate(this.o.startDate);
this.setEndDate(this.o.endDate);
this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled);
this.fillDow();
this.fillMonths();
this._allow_update = true;
this.update();
this.showMode();
if(this.isInline) {
this.show();
}
};
Datepicker.prototype = {
constructor: Datepicker,
_process_options: function(opts){
// Store raw options for reference
this._o = $.extend({}, this._o, opts);
// Processed options
var o = this.o = $.extend({}, this._o);
// Check if "de-DE" style date is available, if not language
should
// fallback to 2 letter code eg "de"
var lang = o.language;
if (!dates[lang]) {
lang = lang.split('-')[0];
if (!dates[lang])
lang = defaults.language;
}
o.language = lang;
switch(o.startView){
case 2:
case 'decade':
o.startView = 2;
break;
case 1:
case 'year':
o.startView = 1;
break;
default:
o.startView = 0;
}
switch (o.minViewMode) {
case 1:
case 'months':
o.minViewMode = 1;
break;
case 2:
case 'years':
o.minViewMode = 2;
break;
default:
o.minViewMode = 0;
}
o.startView = Math.max(o.startView, o.minViewMode);
o.weekStart %= 7;
o.weekEnd = ((o.weekStart + 6) % 7);
var format = DPGlobal.parseFormat(o.format)
if (o.startDate !== -Infinity) {
o.startDate = DPGlobal.parseDate(o.startDate, format, o.language);
}
if (o.endDate !== Infinity) {
o.endDate = DPGlobal.parseDate(o.endDate, format, o.language);
}
o.daysOfWeekDisabled = o.daysOfWeekDisabled||[];
if (!$.isArray(o.daysOfWeekDisabled))
o.daysOfWeekDisabled = o.daysOfWeekDisabled.split(/[,\s]*/);
o.daysOfWeekDisabled = $.map(o.daysOfWeekDisabled, function (d) {
return parseInt(d, 10);
});
},
_events: [],
_secondaryEvents: [],
_applyEvents: function(evs){
for (var i=0, el, ev; i<evs.length; i++){
el = evs[i][0];
ev = evs[i][1];
el.on(ev);
}
},
_unapplyEvents: function(evs){
for (var i=0, el, ev; i<evs.length; i++){
el = evs[i][0];
ev = evs[i][1];
el.off(ev);
}
},
_buildEvents: function(){
if (this.isInput) { // single input
this._events = [
[this.element, {
focus: $.proxy(this.show, this),
keyup: $.proxy(this.update, this),
keydown: $.proxy(this.keydown, this)
}]
];
}
else if (this.component && this.hasInput){ // component: input +
button
this._events = [
// For components that are not readonly, allow keyboard nav
[this.element.find('input'), {
focus: $.proxy(this.show, this),
keyup: $.proxy(this.update, this),
keydown: $.proxy(this.keydown, this)
}],
[this.component, {
click: $.proxy(this.show, this)
}]
];
}
else if (this.element.is('div')) { // inline datepicker
this.isInline = true;
}
else {
this._events = [
[this.element, {
click: $.proxy(this.show, this)
}]
];
}
this._secondaryEvents = [
[this.picker, {
click: $.proxy(this.click, this)
}],
[$(window), {
resize: $.proxy(this.place, this)
}],
[$(document), {
mousedown: $.proxy(function (e) {
// Clicked outside the datepicker, hide it
if (!(
this.element.is(e.target) ||
this.element.find(e.target).size() ||
this.picker.is(e.target) ||
this.picker.find(e.target).size()
)) {
this.hide();
}
}, this)
}]
];
},
_attachEvents: function(){
this._detachEvents();
this._applyEvents(this._events);
},
_detachEvents: function(){
this._unapplyEvents(this._events);
},
_attachSecondaryEvents: function(){
this._detachSecondaryEvents();
this._applyEvents(this._secondaryEvents);
},
_detachSecondaryEvents: function(){
this._unapplyEvents(this._secondaryEvents);
},
_trigger: function(event, altdate){
var date = altdate || this.date,
local_date = new Date(date.getTime() +
(date.getTimezoneOffset()*60000));
this.element.trigger({
type: event,
date: local_date,
format: $.proxy(function(altformat){
var format = altformat || this.o.format;
return DPGlobal.formatDate(date, format, this.o.language);
}, this)
});
},
show: function(e) {
if (!this.isInline)
this.picker.appendTo('body');
this.picker.show();
this.height = this.component ? this.component.outerHeight() :
this.element.outerHeight();
this.place();
this._attachSecondaryEvents();
if (e) {
e.preventDefault();
}
this._trigger('show');
},
hide: function(e){
if(this.isInline) return;
if (!this.picker.is(':visible')) return;
this.picker.hide().detach();
this._detachSecondaryEvents();
this.viewMode = this.o.startView;
this.showMode();
if (
this.o.forceParse &&
(
this.isInput && this.element.val() ||
this.hasInput && this.element.find('input').val()
)
)
this.setValue();
this._trigger('hide');
},
remove: function() {
this.hide();
this._detachEvents();
this._detachSecondaryEvents();
this.picker.remove();
delete this.element.data().datepicker;
if (!this.isInput) {
delete this.element.data().date;
}
},
getDate: function() {
var d = this.getUTCDate();
return new Date(d.getTime() + (d.getTimezoneOffset()*60000));
},
getUTCDate: function() {
return this.date;
},
setDate: function(d) {
this.setUTCDate(new Date(d.getTime() - (d.getTimezoneOffset()*60000)));
},
setUTCDate: function(d) {
this.date = d;
this.setValue();
},
setValue: function() {
var formatted = this.getFormattedDate();
if (!this.isInput) {
if (this.component){
this.element.find('input').val(formatted);
}
} else {
this.element.val(formatted);
}
},
getFormattedDate: function(format) {
if (format === undefined)
format = this.o.format;
return DPGlobal.formatDate(this.date, format, this.o.language);
},
setStartDate: function(startDate){
this._process_options({startDate: startDate});
this.update();
this.updateNavArrows();
},
setEndDate: function(endDate){
this._process_options({endDate: endDate});
this.update();
this.updateNavArrows();
},
setDaysOfWeekDisabled: function(daysOfWeekDisabled){
this._process_options({daysOfWeekDisabled: daysOfWeekDisabled});
this.update();
this.updateNavArrows();
},
place: function(){
if(this.isInline) return;
var zIndex = parseInt(this.element.parents().filter(function() {
return $(this).css('z-index') != 'auto';
}).first().css('z-index'))+10;
var offset = this.component ? this.component.parent().offset() :
this.element.offset();
var height = this.component ? this.component.outerHeight(true) :
this.element.outerHeight(true);
this.picker.css({
top: offset.top + height,
left: offset.left,
zIndex: zIndex
});
},
_allow_update: true,
update: function(){
if (!this._allow_update) return;
var date, fromArgs = false;
if(arguments && arguments.length && (typeof arguments[0]
=== 'string' || arguments[0] instanceof Date)) {
date = arguments[0];
fromArgs = true;
} else {
date = this.isInput ? this.element.val() :
this.element.data('date') ||
this.element.find('input').val();
delete this.element.data().date;
}
this.date = DPGlobal.parseDate(date, this.o.format, this.o.language);
if(fromArgs) this.setValue();
if (this.date < this.o.startDate) {
this.viewDate = new Date(this.o.startDate);
} else if (this.date > this.o.endDate) {
this.viewDate = new Date(this.o.endDate);
} else {
this.viewDate = new Date(this.date);
}
this.fill();
},
fillDow: function(){
var dowCnt = this.o.weekStart,
html = '<tr>';
if(this.o.calendarWeeks){
var cell = '<th
class="cw"> </th>';
html += cell;
this.picker.find('.datepicker-days thead
tr:first-child').prepend(cell);
}
while (dowCnt < this.o.weekStart + 7) {
html += '<th
class="dow">'+dates[this.o.language].daysMin[(dowCnt++)%7]+'</th>';
}
html += '</tr>';
this.picker.find('.datepicker-days thead').append(html);
},
fillMonths: function(){
var html = '',
i = 0;
while (i < 12) {
html += '<span
class="month">'+dates[this.o.language].monthsShort[i++]+'</span>';
}
this.picker.find('.datepicker-months td').html(html);
},
setRange: function(range){
if (!range || !range.length)
delete this.range;
else
this.range = $.map(range, function(d){ return d.valueOf(); });
this.fill();
},
getClassNames: function(date){
var cls = [],
year = this.viewDate.getUTCFullYear(),
month = this.viewDate.getUTCMonth(),
currentDate = this.date.valueOf(),
today = new Date();
if (date.getUTCFullYear() < year || (date.getUTCFullYear() == year
&& date.getUTCMonth() < month)) {
cls.push('old');
} else if (date.getUTCFullYear() > year || (date.getUTCFullYear() ==
year && date.getUTCMonth() > month)) {
cls.push('new');
}
// Compare internal UTC date with local today, not UTC today
if (this.o.todayHighlight &&
date.getUTCFullYear() == today.getFullYear() &&
date.getUTCMonth() == today.getMonth() &&
date.getUTCDate() == today.getDate()) {
cls.push('today');
}
if (currentDate && date.valueOf() == currentDate) {
cls.push('active');
}
if (date.valueOf() < this.o.startDate || date.valueOf() >
this.o.endDate ||
$.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1) {
cls.push('disabled');
}
if (this.range){
if (date > this.range[0] && date <
this.range[this.range.length-1]){
cls.push('range');
}
if ($.inArray(date.valueOf(), this.range) != -1){
cls.push('selected');
}
}
return cls;
},
fill: function() {
var d = new Date(this.viewDate),
year = d.getUTCFullYear(),
month = d.getUTCMonth(),
startYear = this.o.startDate !== -Infinity ?
this.o.startDate.getUTCFullYear() : -Infinity,
startMonth = this.o.startDate !== -Infinity ?
this.o.startDate.getUTCMonth() : -Infinity,
endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear()
: Infinity,
endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() :
Infinity,
currentDate = this.date && this.date.valueOf(),
tooltip;
this.picker.find('.datepicker-days thead
th.datepicker-switch')
.text(dates[this.o.language].months[month]+' '+year);
this.picker.find('tfoot th.today')
.text(dates[this.o.language].today)
.toggle(this.o.todayBtn !== false);
this.picker.find('tfoot th.clear')
.text(dates[this.o.language].clear)
.toggle(this.o.clearBtn !== false);
this.updateNavArrows();
this.fillMonths();
var prevMonth = UTCDate(year, month-1, 28,0,0,0,0),
day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(),
prevMonth.getUTCMonth());
prevMonth.setUTCDate(day);
prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart +
7)%7);
var nextMonth = new Date(prevMonth);
nextMonth.setUTCDate(nextMonth.getUTCDate() + 42);
nextMonth = nextMonth.valueOf();
var html = [];
var clsName;
while(prevMonth.valueOf() < nextMonth) {
if (prevMonth.getUTCDay() == this.o.weekStart) {
html.push('<tr>');
if(this.o.calendarWeeks){
// ISO 8601: First week contains first thursday.
// ISO also states week starts on Monday, but we can be more abstract
here.
var
// Start of current week: based on weekstart/current date
ws = new Date(+prevMonth + (this.o.weekStart - prevMonth.getUTCDay()
- 7) % 7 * 864e5),
// Thursday of this week
th = new Date(+ws + (7 + 4 - ws.getUTCDay()) % 7 * 864e5),
// First Thursday of year, year from thursday
yth = new Date(+(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4
- yth.getUTCDay())%7*864e5),
// Calendar week: ms between thursdays, div ms per day, div 7 days
calWeek = (th - yth) / 864e5 / 7 + 1;
html.push('<td class="cw">'+ calWeek
+'</td>');
}
}
clsName = this.getClassNames(prevMonth);
clsName.push('day');
var before = this.o.beforeShowDay(prevMonth);
if (before === undefined)
before = {};
else if (typeof(before) === 'boolean')
before = {enabled: before};
else if (typeof(before) === 'string')
before = {classes: before};
if (before.enabled === false)
clsName.push('disabled');
if (before.classes)
clsName = clsName.concat(before.classes.split(/\s+/));
if (before.tooltip)
tooltip = before.tooltip;
clsName = $.unique(clsName);
html.push('<td class="'+clsName.join('
')+'"' + (tooltip ? '
title="'+tooltip+'"' : '') +
'>'+prevMonth.getUTCDate() + '</td>');
if (prevMonth.getUTCDay() == this.o.weekEnd) {
html.push('</tr>');
}
prevMonth.setUTCDate(prevMonth.getUTCDate()+1);
}
this.picker.find('.datepicker-days
tbody').empty().append(html.join(''));
var currentYear = this.date && this.date.getUTCFullYear();
var months = this.picker.find('.datepicker-months')
.find('th:eq(1)')
.text(year)
.end()
.find('span').removeClass('active');
if (currentYear && currentYear == year) {
months.eq(this.date.getUTCMonth()).addClass('active');
}
if (year < startYear || year > endYear) {
months.addClass('disabled');
}
if (year == startYear) {
months.slice(0, startMonth).addClass('disabled');
}
if (year == endYear) {
months.slice(endMonth+1).addClass('disabled');
}
html = '';
year = parseInt(year/10, 10) * 10;
var yearCont = this.picker.find('.datepicker-years')
.find('th:eq(1)')
.text(year + '-' + (year + 9))
.end()
.find('td');
year -= 1;
for (var i = -1; i < 11; i++) {
html += '<span class="year'+(i == -1 ? '
old' : i == 10 ? ' new' : '')+(currentYear == year
? ' active' : '')+(year < startYear || year >
endYear ? ' disabled' :
'')+'">'+year+'</span>';
year += 1;
}
yearCont.html(html);
},
updateNavArrows: function() {
if (!this._allow_update) return;
var d = new Date(this.viewDate),
year = d.getUTCFullYear(),
month = d.getUTCMonth();
switch (this.viewMode) {
case 0:
if (this.o.startDate !== -Infinity && year <=
this.o.startDate.getUTCFullYear() && month <=
this.o.startDate.getUTCMonth()) {
this.picker.find('.prev').css({visibility:
'hidden'});
} else {
this.picker.find('.prev').css({visibility:
'visible'});
}
if (this.o.endDate !== Infinity && year >=
this.o.endDate.getUTCFullYear() && month >=
this.o.endDate.getUTCMonth()) {
this.picker.find('.next').css({visibility:
'hidden'});
} else {
this.picker.find('.next').css({visibility:
'visible'});
}
break;
case 1:
case 2:
if (this.o.startDate !== -Infinity && year <=
this.o.startDate.getUTCFullYear()) {
this.picker.find('.prev').css({visibility:
'hidden'});
} else {
this.picker.find('.prev').css({visibility:
'visible'});
}
if (this.o.endDate !== Infinity && year >=
this.o.endDate.getUTCFullYear()) {
this.picker.find('.next').css({visibility:
'hidden'});
} else {
this.picker.find('.next').css({visibility:
'visible'});
}
break;
}
},
click: function(e) {
e.preventDefault();
var target = $(e.target).closest('span, td, th');
if (target.length == 1) {
switch(target[0].nodeName.toLowerCase()) {
case 'th':
switch(target[0].className) {
case 'datepicker-switch':
this.showMode(1);
break;
case 'prev':
case 'next':
var dir = DPGlobal.modes[this.viewMode].navStep *
(target[0].className == 'prev' ? -1 : 1);
switch(this.viewMode){
case 0:
this.viewDate = this.moveMonth(this.viewDate, dir);
break;
case 1:
case 2:
this.viewDate = this.moveYear(this.viewDate, dir);
break;
}
this.fill();
break;
case 'today':
var date = new Date();
date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(),
0, 0, 0);
this.showMode(-2);
var which = this.o.todayBtn == 'linked' ? null :
'view';
this._setDate(date, which);
break;
case 'clear':
var element;
if (this.isInput)
element = this.element;
else if (this.component)
element = this.element.find('input');
if (element)
element.val("").change();
this._trigger('changeDate');
this.update();
if (this.o.autoclose)
this.hide();
break;
}
break;
case 'span':
if (!target.is('.disabled')) {
this.viewDate.setUTCDate(1);
if (target.is('.month')) {
var day = 1;
var month = target.parent().find('span').index(target);
var year = this.viewDate.getUTCFullYear();
this.viewDate.setUTCMonth(month);
this._trigger('changeMonth', this.viewDate);
if (this.o.minViewMode === 1) {
this._setDate(UTCDate(year, month, day,0,0,0,0));
}
} else {
var year = parseInt(target.text(), 10)||0;
var day = 1;
var month = 0;
this.viewDate.setUTCFullYear(year);
this._trigger('changeYear', this.viewDate);
if (this.o.minViewMode === 2) {
this._setDate(UTCDate(year, month, day,0,0,0,0));
}
}
this.showMode(-1);
this.fill();
}
break;
case 'td':
if (target.is('.day') &&
!target.is('.disabled')){
var day = parseInt(target.text(), 10)||1;
var year = this.viewDate.getUTCFullYear(),
month = this.viewDate.getUTCMonth();
if (target.is('.old')) {
if (month === 0) {
month = 11;
year -= 1;
} else {
month -= 1;
}
} else if (target.is('.new')) {
if (month == 11) {
month = 0;
year += 1;
} else {
month += 1;
}
}
this._setDate(UTCDate(year, month, day,0,0,0,0));
}
break;
}
}
},
_setDate: function(date, which){
if (!which || which == 'date')
this.date = new Date(date);
if (!which || which == 'view')
this.viewDate = new Date(date);
this.fill();
this.setValue();
this._trigger('changeDate');
var element;
if (this.isInput) {
element = this.element;
} else if (this.component){
element = this.element.find('input');
}
if (element) {
element.change();
if (this.o.autoclose && (!which || which == 'date'))
{
this.hide();
}
}
},
moveMonth: function(date, dir){
if (!dir) return date;
var new_date = new Date(date.valueOf()),
day = new_date.getUTCDate(),
month = new_date.getUTCMonth(),
mag = Math.abs(dir),
new_month, test;
dir = dir > 0 ? 1 : -1;
if (mag == 1){
test = dir == -1
// If going back one month, make sure month is not current month
// (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)
? function(){ return new_date.getUTCMonth() == month; }
// If going forward one month, make sure month is as expected
// (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)
: function(){ return new_date.getUTCMonth() != new_month; };
new_month = month + dir;
new_date.setUTCMonth(new_month);
// Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to
0-11
if (new_month < 0 || new_month > 11)
new_month = (new_month + 12) % 12;
} else {
// For magnitudes >1, move one month at a time...
for (var i=0; i<mag; i++)
// ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...
new_date = this.moveMonth(new_date, dir);
// ...then reset the day, keeping it in the new month
new_month = new_date.getUTCMonth();
new_date.setUTCDate(day);
test = function(){ return new_month != new_date.getUTCMonth(); };
}
// Common date-resetting loop -- if date is beyond end of month, make
it
// end of month
while (test()){
new_date.setUTCDate(--day);
new_date.setUTCMonth(new_month);
}
return new_date;
},
moveYear: function(date, dir){
return this.moveMonth(date, dir*12);
},
dateWithinRange: function(date){
return date >= this.o.startDate && date <=
this.o.endDate;
},
keydown: function(e){
if (this.picker.is(':not(:visible)')){
if (e.keyCode == 27) // allow escape to hide and re-show picker
this.show();
return;
}
var dateChanged = false,
dir, day, month,
newDate, newViewDate;
switch(e.keyCode){
case 27: // escape
this.hide();
e.preventDefault();
break;
case 37: // left
case 39: // right
if (!this.o.keyboardNavigation) break;
dir = e.keyCode == 37 ? -1 : 1;
if (e.ctrlKey){
newDate = this.moveYear(this.date, dir);
newViewDate = this.moveYear(this.viewDate, dir);
} else if (e.shiftKey){
newDate = this.moveMonth(this.date, dir);
newViewDate = this.moveMonth(this.viewDate, dir);
} else {
newDate = new Date(this.date);
newDate.setUTCDate(this.date.getUTCDate() + dir);
newViewDate = new Date(this.viewDate);
newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir);
}
if (this.dateWithinRange(newDate)){
this.date = newDate;
this.viewDate = newViewDate;
this.setValue();
this.update();
e.preventDefault();
dateChanged = true;
}
break;
case 38: // up
case 40: // down
if (!this.o.keyboardNavigation) break;
dir = e.keyCode == 38 ? -1 : 1;
if (e.ctrlKey){
newDate = this.moveYear(this.date, dir);
newViewDate = this.moveYear(this.viewDate, dir);
} else if (e.shiftKey){
newDate = this.moveMonth(this.date, dir);
newViewDate = this.moveMonth(this.viewDate, dir);
} else {
newDate = new Date(this.date);
newDate.setUTCDate(this.date.getUTCDate() + dir * 7);
newViewDate = new Date(this.viewDate);
newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir * 7);
}
if (this.dateWithinRange(newDate)){
this.date = newDate;
this.viewDate = newViewDate;
this.setValue();
this.update();
e.preventDefault();
dateChanged = true;
}
break;
case 13: // enter
this.hide();
e.preventDefault();
break;
case 9: // tab
this.hide();
break;
}
if (dateChanged){
this._trigger('changeDate');
var element;
if (this.isInput) {
element = this.element;
} else if (this.component){
element = this.element.find('input');
}
if (element) {
element.change();
}
}
},
showMode: function(dir) {
if (dir) {
this.viewMode = Math.max(this.o.minViewMode, Math.min(2, this.viewMode
+ dir));
}
/*
vitalets: fixing bug of very special conditions:
jquery 1.7.1 + webkit + show inline datepicker in bootstrap popover.
Method show() does not set display css correctly and datepicker is not
shown.
Changed to .css('display', 'block') solve the
problem.
See https://github.com/vitalets/x-editable/issues/37
In jquery 1.7.2+ everything works fine.
*/
//this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show();
this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).css('display',
'block');
this.updateNavArrows();
}
};
var DateRangePicker = function(element, options){
this.element = $(element);
this.inputs = $.map(options.inputs, function(i){ return i.jquery ? i[0] :
i; });
delete options.inputs;
$(this.inputs)
.datepicker(options)
.bind('changeDate', $.proxy(this.dateUpdated, this));
this.pickers = $.map(this.inputs, function(i){ return
$(i).data('datepicker'); });
this.updateDates();
};
DateRangePicker.prototype = {
updateDates: function(){
this.dates = $.map(this.pickers, function(i){ return i.date; });
this.updateRanges();
},
updateRanges: function(){
var range = $.map(this.dates, function(d){ return d.valueOf(); });
$.each(this.pickers, function(i, p){
p.setRange(range);
});
},
dateUpdated: function(e){
var dp = $(e.target).data('datepicker'),
new_date = dp.getUTCDate(),
i = $.inArray(e.target, this.inputs),
l = this.inputs.length;
if (i == -1) return;
if (new_date < this.dates[i]){
// Date being moved earlier/left
while (i>=0 && new_date < this.dates[i]){
this.pickers[i--].setUTCDate(new_date);
}
}
else if (new_date > this.dates[i]){
// Date being moved later/right
while (i<l && new_date > this.dates[i]){
this.pickers[i++].setUTCDate(new_date);
}
}
this.updateDates();
},
remove: function(){
$.map(this.pickers, function(p){ p.remove(); });
delete this.element.data().datepicker;
}
};
function opts_from_el(el, prefix){
// Derive options from element data-attrs
var data = $(el).data(),
out = {}, inkey,
replace = new RegExp('^' + prefix.toLowerCase() +
'([A-Z])'),
prefix = new RegExp('^' + prefix.toLowerCase());
for (var key in data)
if (prefix.test(key)){
inkey = key.replace(replace, function(_,a){ return a.toLowerCase();
});
out[inkey] = data[key];
}
return out;
}
function opts_from_locale(lang){
// Derive options from locale plugins
var out = {};
// Check if "de-DE" style date is available, if not language
should
// fallback to 2 letter code eg "de"
if (!dates[lang]) {
lang = lang.split('-')[0]
if (!dates[lang])
return;
}
var d = dates[lang];
$.each(locale_opts, function(i,k){
if (k in d)
out[k] = d[k];
});
return out;
}
var old = $.fn.datepicker;
var datepicker = $.fn.datepicker = function ( option ) {
var args = Array.apply(null, arguments);
args.shift();
var internal_return,
this_return;
this.each(function () {
var $this = $(this),
data = $this.data('datepicker'),
options = typeof option == 'object' && option;
if (!data) {
var elopts = opts_from_el(this, 'date'),
// Preliminary otions
xopts = $.extend({}, defaults, elopts, options),
locopts = opts_from_locale(xopts.language),
// Options priority: js args, data-attrs, locales, defaults
opts = $.extend({}, defaults, locopts, elopts, options);
if ($this.is('.input-daterange') || opts.inputs){
var ropts = {
inputs: opts.inputs || $this.find('input').toArray()
};
$this.data('datepicker', (data = new DateRangePicker(this,
$.extend(opts, ropts))));
}
else{
$this.data('datepicker', (data = new Datepicker(this,
opts)));
}
}
if (typeof option == 'string' && typeof data[option]
== 'function') {
internal_return = data[option].apply(data, args);
if (internal_return !== undefined)
return false;
}
});
if (internal_return !== undefined)
return internal_return;
else
return this;
};
var defaults = $.fn.datepicker.defaults = {
autoclose: false,
beforeShowDay: $.noop,
calendarWeeks: false,
clearBtn: false,
daysOfWeekDisabled: [],
endDate: Infinity,
forceParse: true,
format: 'mm/dd/yyyy',
keyboardNavigation: true,
language: 'en',
minViewMode: 0,
rtl: false,
startDate: -Infinity,
startView: 0,
todayBtn: false,
todayHighlight: false,
weekStart: 0
};
var locale_opts = $.fn.datepicker.locale_opts = [
'format',
'rtl',
'weekStart'
];
$.fn.datepicker.Constructor = Datepicker;
var dates = $.fn.datepicker.dates = {
en: {
days: ["Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday",
"Saturday", "Sunday"],
daysShort: ["Sun", "Mon", "Tue",
"Wed", "Thu", "Fri", "Sat",
"Sun"],
daysMin: ["Su", "Mo", "Tu",
"We", "Th", "Fr", "Sa",
"Su"],
months: ["January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"],
monthsShort: ["Jan", "Feb", "Mar",
"Apr", "May", "Jun", "Jul",
"Aug", "Sep", "Oct", "Nov",
"Dec"],
today: "Today",
clear: "Clear"
}
};
var DPGlobal = {
modes: [
{
clsName: 'days',
navFnc: 'Month',
navStep: 1
},
{
clsName: 'months',
navFnc: 'FullYear',
navStep: 1
},
{
clsName: 'years',
navFnc: 'FullYear',
navStep: 10
}],
isLeapYear: function (year) {
return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400
=== 0));
},
getDaysInMonth: function (year, month) {
return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31,
31, 30, 31, 30, 31][month];
},
validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,
nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,
parseFormat: function(format){
// IE treats \0 as a string end in inputs (truncating the value),
// so it's a bad format delimiter, anyway
var separators = format.replace(this.validParts,
'\0').split('\0'),
parts = format.match(this.validParts);
if (!separators || !separators.length || !parts || parts.length === 0){
throw new Error("Invalid date format.");
}
return {separators: separators, parts: parts};
},
parseDate: function(date, format, language) {
if (date instanceof Date) return date;
if (typeof format === 'string')
format = DPGlobal.parseFormat(format);
if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)) {
var part_re = /([\-+]\d+)([dmwy])/,
parts = date.match(/([\-+]\d+)([dmwy])/g),
part, dir;
date = new Date();
for (var i=0; i<parts.length; i++) {
part = part_re.exec(parts[i]);
dir = parseInt(part[1]);
switch(part[2]){
case 'd':
date.setUTCDate(date.getUTCDate() + dir);
break;
case 'm':
date = Datepicker.prototype.moveMonth.call(Datepicker.prototype,
date, dir);
break;
case 'w':
date.setUTCDate(date.getUTCDate() + dir * 7);
break;
case 'y':
date = Datepicker.prototype.moveYear.call(Datepicker.prototype,
date, dir);
break;
}
}
return UTCDate(date.getUTCFullYear(), date.getUTCMonth(),
date.getUTCDate(), 0, 0, 0);
}
var parts = date && date.match(this.nonpunctuation) || [],
date = new Date(),
parsed = {},
setters_order = ['yyyy', 'yy', 'M',
'MM', 'm', 'mm', 'd',
'dd'],
setters_map = {
yyyy: function(d,v){ return d.setUTCFullYear(v); },
yy: function(d,v){ return d.setUTCFullYear(2000+v); },
m: function(d,v){
v -= 1;
while (v<0) v += 12;
v %= 12;
d.setUTCMonth(v);
while (d.getUTCMonth() != v)
d.setUTCDate(d.getUTCDate()-1);
return d;
},
d: function(d,v){ return d.setUTCDate(v); }
},
val, filtered, part;
setters_map['M'] = setters_map['MM'] =
setters_map['mm'] = setters_map['m'];
setters_map['dd'] = setters_map['d'];
date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0,
0, 0);
var fparts = format.parts.slice();
// Remove noop parts
if (parts.length != fparts.length) {
fparts = $(fparts).filter(function(i,p){
return $.inArray(p, setters_order) !== -1;
}).toArray();
}
// Process remainder
if (parts.length == fparts.length) {
for (var i=0, cnt = fparts.length; i < cnt; i++) {
val = parseInt(parts[i], 10);
part = fparts[i];
if (isNaN(val)) {
switch(part) {
case 'MM':
filtered = $(dates[language].months).filter(function(){
var m = this.slice(0, parts[i].length),
p = parts[i].slice(0, m.length);
return m == p;
});
val = $.inArray(filtered[0], dates[language].months) + 1;
break;
case 'M':
filtered = $(dates[language].monthsShort).filter(function(){
var m = this.slice(0, parts[i].length),
p = parts[i].slice(0, m.length);
return m == p;
});
val = $.inArray(filtered[0], dates[language].monthsShort) + 1;
break;
}
}
parsed[part] = val;
}
for (var i=0, s; i<setters_order.length; i++){
s = setters_order[i];
if (s in parsed && !isNaN(parsed[s]))
setters_map[s](date, parsed[s]);
}
}
return date;
},
formatDate: function(date, format, language){
if (typeof format === 'string')
format = DPGlobal.parseFormat(format);
var val = {
d: date.getUTCDate(),
D: dates[language].daysShort[date.getUTCDay()],
DD: dates[language].days[date.getUTCDay()],
m: date.getUTCMonth() + 1,
M: dates[language].monthsShort[date.getUTCMonth()],
MM: dates[language].months[date.getUTCMonth()],
yy: date.getUTCFullYear().toString().substring(2),
yyyy: date.getUTCFullYear()
};
val.dd = (val.d < 10 ? '0' : '') + val.d;
val.mm = (val.m < 10 ? '0' : '') + val.m;
var date = [],
seps = $.extend([], format.separators);
for (var i=0, cnt = format.parts.length; i <= cnt; i++) {
if (seps.length)
date.push(seps.shift());
date.push(val[format.parts[i]]);
}
return date.join('');
},
headTemplate: '<thead>'+
'<tr>'+
'<th class="prev"><i
class="icon-arrow-left"/></th>'+
'<th colspan="5"
class="datepicker-switch"></th>'+
'<th class="next"><i
class="icon-arrow-right"/></th>'+
'</tr>'+
'</thead>',
contTemplate: '<tbody><tr><td
colspan="7"></td></tr></tbody>',
footTemplate: '<tfoot><tr><th colspan="7"
class="today"></th></tr><tr><th
colspan="7"
class="clear"></th></tr></tfoot>'
};
DPGlobal.template = '<div class="datepicker">'+
'<div class="datepicker-days">'+
'<table class=" table-condensed">'+
DPGlobal.headTemplate+
'<tbody></tbody>'+
DPGlobal.footTemplate+
'</table>'+
'</div>'+
'<div class="datepicker-months">'+
'<table class="table-condensed">'+
DPGlobal.headTemplate+
DPGlobal.contTemplate+
DPGlobal.footTemplate+
'</table>'+
'</div>'+
'<div class="datepicker-years">'+
'<table class="table-condensed">'+
DPGlobal.headTemplate+
DPGlobal.contTemplate+
DPGlobal.footTemplate+
'</table>'+
'</div>'+
'</div>';
$.fn.datepicker.DPGlobal = DPGlobal;
/* DATEPICKER NO CONFLICT
* =================== */
$.fn.datepicker.noConflict = function(){
$.fn.datepicker = old;
return this;
};
/* DATEPICKER DATA-API
* ================== */
$(document).on(
'focus.datepicker.data-api click.datepicker.data-api',
'[data-provide="datepicker"]',
function(e){
var $this = $(this);
if ($this.data('datepicker')) return;
e.preventDefault();
// component click requires us to explicitly show it
datepicker.call($this, 'show');
}
);
$(function(){
//$('[data-provide="datepicker-inline"]').datepicker();
//vit: changed to support noConflict()
datepicker.call($('[data-provide="datepicker-inline"]'));
});
}( window.jQuery ));
/**
Bootstrap-datepicker.
Description and examples:
https://github.com/eternicode/bootstrap-datepicker.
For **i18n** you should include js file from here:
https://github.com/eternicode/bootstrap-datepicker/tree/master/js/locales
and set `language` option.
Since 1.4.0 date has different appearance in **popup** and **inline**
modes.
@class date
@extends abstractinput
@final
@example
<a href="#" id="dob" data-type="date"
data-pk="1" data-url="/post" data-title="Select
date">15/05/1984</a>
<script>
$(function(){
$('#dob').editable({
format: 'yyyy-mm-dd',
viewformat: 'dd/mm/yyyy',
datepicker: {
weekStart: 1
}
}
});
});
</script>
**/
(function ($) {
"use strict";
//store bootstrap-datepicker as bdateicker to exclude conflict with
jQuery UI one
$.fn.bdatepicker = $.fn.datepicker.noConflict();
if(!$.fn.datepicker) { //if there were no other datepickers, keep also
original name
$.fn.datepicker = $.fn.bdatepicker;
}
var Date = function (options) {
this.init('date', options, Date.defaults);
this.initPicker(options, Date.defaults);
};
$.fn.editableutils.inherit(Date, $.fn.editabletypes.abstractinput);
$.extend(Date.prototype, {
initPicker: function(options, defaults) {
//'format' is set directly from settings or data-*
attributes
//by default viewformat equals to format
if(!this.options.viewformat) {
this.options.viewformat = this.options.format;
}
//try parse datepicker config defined as json string in
data-datepicker
options.datepicker =
$.fn.editableutils.tryParseJson(options.datepicker, true);
//overriding datepicker config (as by default jQuery extend()
is not recursive)
//since 1.4 datepicker internally uses viewformat instead of
format. Format is for submit only
this.options.datepicker = $.extend({}, defaults.datepicker,
options.datepicker, {
format: this.options.viewformat
});
//language
this.options.datepicker.language =
this.options.datepicker.language || 'en';
//store DPglobal
this.dpg = $.fn.bdatepicker.DPGlobal;
//store parsed formats
this.parsedFormat = this.dpg.parseFormat(this.options.format);
this.parsedViewFormat =
this.dpg.parseFormat(this.options.viewformat);
},
render: function () {
this.$input.bdatepicker(this.options.datepicker);
//"clear" link
if(this.options.clear) {
this.$clear = $('<a
href="#"></a>').html(this.options.clear).click($.proxy(function(e){
e.preventDefault();
e.stopPropagation();
this.clear();
}, this));
this.$tpl.parent().append($('<div
class="editable-clear">').append(this.$clear));
}
},
value2html: function(value, element) {
var text = value ? this.dpg.formatDate(value,
this.parsedViewFormat, this.options.datepicker.language) : '';
Date.superclass.value2html.call(this, text, element);
},
html2value: function(html) {
return this.parseDate(html, this.parsedViewFormat);
},
value2str: function(value) {
return value ? this.dpg.formatDate(value, this.parsedFormat,
this.options.datepicker.language) : '';
},
str2value: function(str) {
return this.parseDate(str, this.parsedFormat);
},
value2submit: function(value) {
return this.value2str(value);
},
value2input: function(value) {
this.$input.bdatepicker('update', value);
},
input2value: function() {
return this.$input.data('datepicker').date;
},
activate: function() {
},
clear: function() {
this.$input.data('datepicker').date = null;
this.$input.find('.active').removeClass('active');
if(!this.options.showbuttons) {
this.$input.closest('form').submit();
}
},
autosubmit: function() {
this.$input.on('mouseup', '.day',
function(e){
if($(e.currentTarget).is('.old') ||
$(e.currentTarget).is('.new')) {
return;
}
var $form = $(this).closest('form');
setTimeout(function() {
$form.submit();
}, 200);
});
//changedate is not suitable as it triggered when showing
datepicker. see #149
/*
this.$input.on('changeDate', function(e){
var $form = $(this).closest('form');
setTimeout(function() {
$form.submit();
}, 200);
});
*/
},
/*
For incorrect date bootstrap-datepicker returns current date that
is not suitable
for datefield.
This function returns null for incorrect date.
*/
parseDate: function(str, format) {
var date = null, formattedBack;
if(str) {
date = this.dpg.parseDate(str, format,
this.options.datepicker.language);
if(typeof str === 'string') {
formattedBack = this.dpg.formatDate(date, format,
this.options.datepicker.language);
if(str !== formattedBack) {
date = null;
}
}
}
return date;
}
});
Date.defaults = $.extend({}, $.fn.editabletypes.abstractinput.defaults,
{
/**
@property tpl
@default <div></div>
**/
tpl:'<div class="editable-date
well"></div>',
/**
@property inputclass
@default null
**/
inputclass: null,
/**
Format used for sending value to server. Also applied when
converting date from <code>data-value</code>
attribute.<br>
Possible tokens are: <code>d, dd, m, mm, yy,
yyyy</code>
@property format
@type string
@default yyyy-mm-dd
**/
format:'yyyy-mm-dd',
/**
Format used for displaying date. Also applied when converting date
from element's text on init.
If not specified equals to <code>format</code>
@property viewformat
@type string
@default null
**/
viewformat: null,
/**
Configuration of datepicker.
Full list of options:
http://bootstrap-datepicker.readthedocs.org/en/latest/options.html
@property datepicker
@type object
@default {
weekStart: 0,
startView: 0,
minViewMode: 0,
autoclose: false
}
**/
datepicker:{
weekStart: 0,
startView: 0,
minViewMode: 0,
autoclose: false
},
/**
Text shown as clear date button.
If <code>false</code> clear button will not be
rendered.
@property clear
@type boolean|string
@default 'x clear'
**/
clear: '× clear'
});
$.fn.editabletypes.date = Date;
}(window.jQuery));
/**
Bootstrap datefield input - modification for inline mode.
Shows normal <input type="text"> and binds popup
datepicker.
Automatically shown in inline mode.
@class datefield
@extends date
@since 1.4.0
**/
(function ($) {
"use strict";
var DateField = function (options) {
this.init('datefield', options, DateField.defaults);
this.initPicker(options, DateField.defaults);
};
$.fn.editableutils.inherit(DateField, $.fn.editabletypes.date);
$.extend(DateField.prototype, {
render: function () {
this.$input = this.$tpl.find('input');
this.setClass();
this.setAttr('placeholder');
//bootstrap-datepicker is set `bdateicker` to exclude conflict
with jQuery UI one. (in date.js)
this.$tpl.bdatepicker(this.options.datepicker);
//need to disable original event handlers
this.$input.off('focus keydown');
//update value of datepicker
this.$input.keyup($.proxy(function(){
this.$tpl.removeData('date');
this.$tpl.bdatepicker('update');
}, this));
},
value2input: function(value) {
this.$input.val(value ? this.dpg.formatDate(value,
this.parsedViewFormat, this.options.datepicker.language) : '');
this.$tpl.bdatepicker('update');
},
input2value: function() {
return this.html2value(this.$input.val());
},
activate: function() {
$.fn.editabletypes.text.prototype.activate.call(this);
},
autosubmit: function() {
//reset autosubmit to empty
}
});
DateField.defaults = $.extend({}, $.fn.editabletypes.date.defaults, {
/**
@property tpl
**/
tpl:'<div class="input-append date"><input
type="text"/><span class="add-on"><i
class="icon-th"></i></span></div>',
/**
@property inputclass
@default 'input-small'
**/
inputclass: 'input-small',
/* datepicker config */
datepicker: {
weekStart: 0,
startView: 0,
minViewMode: 0,
autoclose: true
}
});
$.fn.editabletypes.datefield = DateField;
}(window.jQuery));
/**
Bootstrap-datetimepicker.
Based on [smalot bootstrap-datetimepicker
plugin](https://github.com/smalot/bootstrap-datetimepicker).
Before usage you should manually include dependent js and css:
<link href="css/datetimepicker.css"
rel="stylesheet" type="text/css"></link>
<script
src="js/bootstrap-datetimepicker.js"></script>
For **i18n** you should include js file from here:
https://github.com/smalot/bootstrap-datetimepicker/tree/master/js/locales
and set `language` option.
@class datetime
@extends abstractinput
@final
@since 1.4.4
@example
<a href="#" id="last_seen"
data-type="datetime" data-pk="1"
data-url="/post" title="Select date &
time">15/03/2013 12:45</a>
<script>
$(function(){
$('#last_seen').editable({
format: 'yyyy-mm-dd hh:ii',
viewformat: 'dd/mm/yyyy hh:ii',
datetimepicker: {
weekStart: 1
}
}
});
});
</script>
**/
(function ($) {
"use strict";
var DateTime = function (options) {
this.init('datetime', options, DateTime.defaults);
this.initPicker(options, DateTime.defaults);
};
$.fn.editableutils.inherit(DateTime,
$.fn.editabletypes.abstractinput);
$.extend(DateTime.prototype, {
initPicker: function(options, defaults) {
//'format' is set directly from settings or data-*
attributes
//by default viewformat equals to format
if(!this.options.viewformat) {
this.options.viewformat = this.options.format;
}
//try parse datetimepicker config defined as json string in
data-datetimepicker
options.datetimepicker =
$.fn.editableutils.tryParseJson(options.datetimepicker, true);
//overriding datetimepicker config (as by default jQuery
extend() is not recursive)
//since 1.4 datetimepicker internally uses viewformat instead
of format. Format is for submit only
this.options.datetimepicker = $.extend({},
defaults.datetimepicker, options.datetimepicker, {
format: this.options.viewformat
});
//language
this.options.datetimepicker.language =
this.options.datetimepicker.language || 'en';
//store DPglobal
this.dpg = $.fn.datetimepicker.DPGlobal;
//store parsed formats
this.parsedFormat = this.dpg.parseFormat(this.options.format,
this.options.formatType);
this.parsedViewFormat =
this.dpg.parseFormat(this.options.viewformat, this.options.formatType);
},
render: function () {
this.$input.datetimepicker(this.options.datetimepicker);
//adjust container position when viewMode changes
//see
https://github.com/smalot/bootstrap-datetimepicker/pull/80
this.$input.on('changeMode', function(e) {
var f = $(this).closest('form').parent();
//timeout here, otherwise container changes position before
form has new size
setTimeout(function(){
f.triggerHandler('resize');
}, 0);
});
//"clear" link
if(this.options.clear) {
this.$clear = $('<a
href="#"></a>').html(this.options.clear).click($.proxy(function(e){
e.preventDefault();
e.stopPropagation();
this.clear();
}, this));
this.$tpl.parent().append($('<div
class="editable-clear">').append(this.$clear));
}
},
value2html: function(value, element) {
//formatDate works with UTCDate!
var text = value ? this.dpg.formatDate(this.toUTC(value),
this.parsedViewFormat, this.options.datetimepicker.language,
this.options.formatType) : '';
if(element) {
DateTime.superclass.value2html.call(this, text, element);
} else {
return text;
}
},
html2value: function(html) {
//parseDate return utc date!
var value = this.parseDate(html, this.parsedViewFormat);
return value ? this.fromUTC(value) : null;
},
value2str: function(value) {
//formatDate works with UTCDate!
return value ? this.dpg.formatDate(this.toUTC(value),
this.parsedFormat, this.options.datetimepicker.language,
this.options.formatType) : '';
},
str2value: function(str) {
//parseDate return utc date!
var value = this.parseDate(str, this.parsedFormat);
return value ? this.fromUTC(value) : null;
},
value2submit: function(value) {
return this.value2str(value);
},
value2input: function(value) {
if(value) {
this.$input.data('datetimepicker').setDate(value);
}
},
input2value: function() {
//date may be cleared, in that case getDate() triggers error
var dt = this.$input.data('datetimepicker');
return dt.date ? dt.getDate() : null;
},
activate: function() {
},
clear: function() {
this.$input.data('datetimepicker').date = null;
this.$input.find('.active').removeClass('active');
if(!this.options.showbuttons) {
this.$input.closest('form').submit();
}
},
autosubmit: function() {
this.$input.on('mouseup', '.minute',
function(e){
var $form = $(this).closest('form');
setTimeout(function() {
$form.submit();
}, 200);
});
},
//convert date from local to utc
toUTC: function(value) {
return value ? new Date(value.valueOf() -
value.getTimezoneOffset() * 60000) : value;
},
//convert date from utc to local
fromUTC: function(value) {
return value ? new Date(value.valueOf() +
value.getTimezoneOffset() * 60000) : value;
},
/*
For incorrect date bootstrap-datetimepicker returns current date
that is not suitable
for datetimefield.
This function returns null for incorrect date.
*/
parseDate: function(str, format) {
var date = null, formattedBack;
if(str) {
date = this.dpg.parseDate(str, format,
this.options.datetimepicker.language, this.options.formatType);
if(typeof str === 'string') {
formattedBack = this.dpg.formatDate(date, format,
this.options.datetimepicker.language, this.options.formatType);
if(str !== formattedBack) {
date = null;
}
}
}
return date;
}
});
DateTime.defaults = $.extend({},
$.fn.editabletypes.abstractinput.defaults, {
/**
@property tpl
@default <div></div>
**/
tpl:'<div class="editable-date
well"></div>',
/**
@property inputclass
@default null
**/
inputclass: null,
/**
Format used for sending value to server. Also applied when
converting date from <code>data-value</code>
attribute.<br>
Possible tokens are: <code>d, dd, m, mm, yy, yyyy, h,
i</code>
@property format
@type string
@default yyyy-mm-dd hh:ii
**/
format:'yyyy-mm-dd hh:ii',
formatType:'standard',
/**
Format used for displaying date. Also applied when converting date
from element's text on init.
If not specified equals to <code>format</code>
@property viewformat
@type string
@default null
**/
viewformat: null,
/**
Configuration of datetimepicker.
Full list of options:
https://github.com/smalot/bootstrap-datetimepicker
@property datetimepicker
@type object
@default { }
**/
datetimepicker:{
todayHighlight: false,
autoclose: false
},
/**
Text shown as clear date button.
If <code>false</code> clear button will not be
rendered.
@property clear
@type boolean|string
@default 'x clear'
**/
clear: '× clear'
});
$.fn.editabletypes.datetime = DateTime;
}(window.jQuery));
/**
Bootstrap datetimefield input - datetime input for inline mode.
Shows normal <input type="text"> and binds popup
datetimepicker.
Automatically shown in inline mode.
@class datetimefield
@extends datetime
**/
(function ($) {
"use strict";
var DateTimeField = function (options) {
this.init('datetimefield', options,
DateTimeField.defaults);
this.initPicker(options, DateTimeField.defaults);
};
$.fn.editableutils.inherit(DateTimeField,
$.fn.editabletypes.datetime);
$.extend(DateTimeField.prototype, {
render: function () {
this.$input = this.$tpl.find('input');
this.setClass();
this.setAttr('placeholder');
this.$tpl.datetimepicker(this.options.datetimepicker);
//need to disable original event handlers
this.$input.off('focus keydown');
//update value of datepicker
this.$input.keyup($.proxy(function(){
this.$tpl.removeData('date');
this.$tpl.datetimepicker('update');
}, this));
},
value2input: function(value) {
this.$input.val(this.value2html(value));
this.$tpl.datetimepicker('update');
},
input2value: function() {
return this.html2value(this.$input.val());
},
activate: function() {
$.fn.editabletypes.text.prototype.activate.call(this);
},
autosubmit: function() {
//reset autosubmit to empty
}
});
DateTimeField.defaults = $.extend({},
$.fn.editabletypes.datetime.defaults, {
/**
@property tpl
**/
tpl:'<div class="input-append date"><input
type="text"/><span class="add-on"><i
class="icon-th"></i></span></div>',
/**
@property inputclass
@default 'input-medium'
**/
inputclass: 'input-medium',
/* datetimepicker config */
datetimepicker:{
todayHighlight: false,
autoclose: true
}
});
$.fn.editabletypes.datetimefield = DateTimeField;
}(window.jQuery));assets/js/bs3editable/js/bootstrap-editable.min.js000064400000223373151171034400016171
0ustar00!function(t){"use strict";var
e=function(e,i){this.options=t.extend({},t.fn.editableform.defaults,i),this.$div=t(e),this.options.scope||(this.options.scope=this)};e.prototype={constructor:e,initInput:function(){this.input=this.options.input,this.value=this.input.str2value(this.options.value),this.input.prerender()},initTemplate:function(){this.$form=t(t.fn.editableform.template)},initButtons:function(){var
e=this.$form.find(".editable-buttons");e.append(t.fn.editableform.buttons),"bottom"===this.options.showbuttons&&e.addClass("editable-buttons-bottom")},render:function(){this.$loading=t(t.fn.editableform.loading),this.$div.empty().append(this.$loading),this.initTemplate(),this.options.showbuttons?this.initButtons():this.$form.find(".editable-buttons").remove(),this.showLoading(),this.isSaving=!1,this.$div.triggerHandler("rendering"),this.initInput(),this.$form.find("div.editable-input").append(this.input.$tpl),this.$div.append(this.$form),t.when(this.input.render()).then(t.proxy(function(){if(this.options.showbuttons||this.input.autosubmit(),this.$form.find(".editable-cancel").click(t.proxy(this.cancel,this)),this.input.error)this.error(this.input.error),this.$form.find(".editable-submit").attr("disabled",!0),this.input.$input.attr("disabled",!0),this.$form.submit(function(t){t.preventDefault()});else{this.error(!1),this.input.$input.removeAttr("disabled"),this.$form.find(".editable-submit").removeAttr("disabled");var
e=null===this.value||void
0===this.value||""===this.value?this.options.defaultValue:this.value;this.input.value2input(e),this.$form.submit(t.proxy(this.submit,this))}this.$div.triggerHandler("rendered"),this.showForm(),this.input.postrender&&this.input.postrender()},this))},cancel:function(){this.$div.triggerHandler("cancel")},showLoading:function(){var
t,e;this.$form?(t=this.$form.outerWidth(),e=this.$form.outerHeight(),t&&this.$loading.width(t),e&&this.$loading.height(e),this.$form.hide()):(t=this.$loading.parent().width())&&this.$loading.width(t),this.$loading.show()},showForm:function(t){this.$loading.hide(),this.$form.show(),!1!==t&&this.input.activate(),this.$div.triggerHandler("show")},error:function(e){var
i,s=this.$form.find(".control-group"),n=this.$form.find(".editable-error-block");if(!1===e)s.removeClass(t.fn.editableform.errorGroupClass),n.removeClass(t.fn.editableform.errorBlockClass).empty().hide();else{if(e){i=(""+e).split("\n");for(var
a=0;a<i.length;a++)i[a]=t("<div>").text(i[a]).html();e=i.join("<br>")}s.addClass(t.fn.editableform.errorGroupClass),n.addClass(t.fn.editableform.errorBlockClass).html(e).show()}},submit:function(e){e.stopPropagation(),e.preventDefault();var
i=this.input.input2value(),s=this.validate(i);if("object"===t.type(s)&&void
0!==s.newValue){if(i=s.newValue,this.input.value2input(i),"string"==typeof
s.msg)return this.error(s.msg),void this.showForm()}else if(s)return
this.error(s),void
this.showForm();if(this.options.savenochange||this.input.value2str(i)!=this.input.value2str(this.value)){var
n=this.input.value2submit(i);this.isSaving=!0,t.when(this.save(n)).done(t.proxy(function(t){this.isSaving=!1;var
e="function"==typeof
this.options.success?this.options.success.call(this.options.scope,t,i):null;return!1===e?(this.error(!1),void
this.showForm(!1)):"string"==typeof e?(this.error(e),void
this.showForm()):(e&&"object"==typeof
e&&e.hasOwnProperty("newValue")&&(i=e.newValue),this.error(!1),this.value=i,void
this.$div.triggerHandler("save",{newValue:i,submitValue:n,response:t}))},this)).fail(t.proxy(function(t){var
e;this.isSaving=!1,e="function"==typeof
this.options.error?this.options.error.call(this.options.scope,t,i):"string"==typeof
t?t:t.responseText||t.statusText||"Unknown
error!",this.error(e),this.showForm()},this))}else
this.$div.triggerHandler("nochange")},save:function(e){this.options.pk=t.fn.editableutils.tryParseJson(this.options.pk,!0);var
i,s="function"==typeof
this.options.pk?this.options.pk.call(this.options.scope):this.options.pk;if(!!("function"==typeof
this.options.url||this.options.url&&("always"===this.options.send||"auto"===this.options.send&&null!=s)))return
this.showLoading(),i={name:this.options.name||"",value:e,pk:s},"function"==typeof
this.options.params?i=this.options.params.call(this.options.scope,i):(this.options.params=t.fn.editableutils.tryParseJson(this.options.params,!0),t.extend(i,this.options.params)),"function"==typeof
this.options.url?this.options.url.call(this.options.scope,i):t.ajax(t.extend({url:this.options.url,data:i,type:"POST"},this.options.ajaxOptions))},validate:function(t){if(void
0===t&&(t=this.value),"function"==typeof
this.options.validate)return
this.options.validate.call(this.options.scope,t)},option:function(t,e){t in
this.options&&(this.options[t]=e),"value"===t&&this.setValue(e)},setValue:function(t,e){this.value=e?this.input.str2value(t):t,this.$form&&this.$form.is(":visible")&&this.input.value2input(this.value)}},t.fn.editableform=function(i){var
s=arguments;return this.each(function(){var
n=t(this),a=n.data("editableform"),o="object"==typeof
i&&i;a||n.data("editableform",a=new
e(this,o)),"string"==typeof
i&&a[i].apply(a,Array.prototype.slice.call(s,1))})},t.fn.editableform.Constructor=e,t.fn.editableform.defaults={type:"text",url:null,params:null,name:null,pk:null,value:null,defaultValue:null,send:"auto",validate:null,success:null,error:null,ajaxOptions:null,showbuttons:!0,scope:null,savenochange:!1},t.fn.editableform.template='<form
class="form-inline editableform"><div
class="control-group"><div><div
class="editable-input"></div><div
class="editable-buttons"></div></div><div
class="editable-error-block"></div></div></form>',t.fn.editableform.loading='<div
class="editableform-loading"></div>',t.fn.editableform.buttons='<button
type="submit"
class="editable-submit">ok</button><button
type="button"
class="editable-cancel">cancel</button>',t.fn.editableform.errorGroupClass=null,t.fn.editableform.errorBlockClass="editable-error",t.fn.editableform.engine="jquery"}(window.jQuery),function(t){"use
strict";t.fn.editableutils={inherit:function(t,e){var
i=function(){};i.prototype=e.prototype,t.prototype=new
i,t.prototype.constructor=t,t.superclass=e.prototype},setCursorPosition:function(t,e){if(t.setSelectionRange)t.setSelectionRange(e,e);else
if(t.createTextRange){var
i=t.createTextRange();i.collapse(!0),i.moveEnd("character",e),i.moveStart("character",e),i.select()}},tryParseJson:function(t,e){if("string"==typeof
t&&t.length&&t.match(/^[\{\[].*[\}\]]$/))if(e)try{t=new
Function("return "+t)()}catch(t){}finally{return t}else t=new
Function("return "+t)();return t},sliceObj:function(e,i,s){var
n,a,o={};if(!t.isArray(i)||!i.length)return o;for(var
r=0;r<i.length;r++)n=i[r],e.hasOwnProperty(n)&&(o[n]=e[n]),!0!==s&&(a=n.toLowerCase(),e.hasOwnProperty(a)&&(o[n]=e[a]));return
o},getConfigData:function(e){var i={};return
t.each(e.data(),function(t,e){("object"!=typeof
e||e&&"object"==typeof
e&&(e.constructor===Object||e.constructor===Array))&&(i[t]=e)}),i},objectKeys:function(t){if(Object.keys)return
Object.keys(t);if(t!==Object(t))throw new TypeError("Object.keys
called on a non-object");var e,i=[];for(e in
t)Object.prototype.hasOwnProperty.call(t,e)&&i.push(e);return
i},escape:function(e){return
t("<div>").text(e).html()},itemsByValue:function(e,i,s){if(!i||null===e)return[];if("function"!=typeof
s){var n=s||"value";s=function(t){return t[n]}}var
a=t.isArray(e),o=[],r=this;return
t.each(i,function(i,n){if(n.children)o=o.concat(r.itemsByValue(e,n.children,s));else
if(a)t.grep(e,function(t){return t==(n&&"object"==typeof
n?s(n):n)}).length&&o.push(n);else{var
l=n&&"object"==typeof
n?s(n):n;e==l&&o.push(n)}}),o},createInput:function(e){var
i,s=e.type;return"date"===s&&("inline"===e.mode?t.fn.editabletypes.datefield?s="datefield":t.fn.editabletypes.dateuifield&&(s="dateuifield"):t.fn.editabletypes.date?s="date":t.fn.editabletypes.dateui&&(s="dateui"),"date"!==s||t.fn.editabletypes.date||(s="combodate")),"datetime"===s&&"inline"===e.mode&&(s="datetimefield"),"wysihtml5"!==s||t.fn.editabletypes[s]||(s="textarea"),"function"==typeof
t.fn.editabletypes[s]?new(i=t.fn.editabletypes[s])(this.sliceObj(e,this.objectKeys(i.defaults))):(t.error("Unknown
type: "+s),!1)},supportsTransitions:function(){var
t=(document.body||document.documentElement).style,e="transition",i=["Moz","Webkit","Khtml","O","ms"];if("string"==typeof
t[e])return!0;e=e.charAt(0).toUpperCase()+e.substr(1);for(var
s=0;s<i.length;s++)if("string"==typeof
t[i[s]+e])return!0;return!1}}}(window.jQuery),function(t){"use
strict";var
e=function(t,e){this.init(t,e)},i=function(t,e){this.init(t,e)};e.prototype={containerName:null,containerDataName:null,innerCss:null,containerClass:"editable-container
editable-popup",defaults:{},init:function(i,s){this.$element=t(i),this.options=t.extend({},t.fn.editableContainer.defaults,s),this.splitOptions(),this.formOptions.scope=this.$element[0],this.initContainer(),this.delayedHide=!1,this.$element.on("destroyed",t.proxy(function(){this.destroy()},this)),t(document).data("editable-handlers-attached")||(t(document).on("keyup.editable",function(e){27===e.which&&t(".editable-open").editableContainer("hide")}),t(document).on("click.editable",function(i){var
s,n=t(i.target),a=[".editable-container",".ui-datepicker-header",".datepicker",".modal-backdrop",".bootstrap-wysihtml5-insert-image-modal",".bootstrap-wysihtml5-insert-link-modal"];if(t.contains(document.documentElement,i.target)&&!n.is(document)){for(s=0;s<a.length;s++)if(n.is(a[s])||n.parents(a[s]).length)return;e.prototype.closeOthers(i.target)}}),t(document).data("editable-handlers-attached",!0))},splitOptions:function(){if(this.containerOptions={},this.formOptions={},!t.fn[this.containerName])throw
new Error(this.containerName+" not found. Have you included
corresponding js file?");for(var e in this.options)e in
this.defaults?this.containerOptions[e]=this.options[e]:this.formOptions[e]=this.options[e]},tip:function(){return
this.container()?this.container().$tip:null},container:function(){var
t;return
this.containerDataName&&(t=this.$element.data(this.containerDataName))?t:t=this.$element.data(this.containerName)},call:function(){this.$element[this.containerName].apply(this.$element,arguments)},initContainer:function(){this.call(this.containerOptions)},renderForm:function(){this.$form.editableform(this.formOptions).on({save:t.proxy(this.save,this),nochange:t.proxy(function(){this.hide("nochange")},this),cancel:t.proxy(function(){this.hide("cancel")},this),show:t.proxy(function(){this.delayedHide?(this.hide(this.delayedHide.reason),this.delayedHide=!1):this.setPosition()},this),rendering:t.proxy(this.setPosition,this),resize:t.proxy(this.setPosition,this),rendered:t.proxy(function(){this.$element.triggerHandler("shown",t(this.options.scope).data("editable"))},this)}).editableform("render")},show:function(e){this.$element.addClass("editable-open"),!1!==e&&this.closeOthers(this.$element[0]),this.innerShow(),this.tip().addClass(this.containerClass),this.$form,this.$form=t("<div>"),this.tip().is(this.innerCss)?this.tip().append(this.$form):this.tip().find(this.innerCss).append(this.$form),this.renderForm()},hide:function(t){this.tip()&&this.tip().is(":visible")&&this.$element.hasClass("editable-open")&&(this.$form.data("editableform").isSaving?this.delayedHide={reason:t}:(this.delayedHide=!1,this.$element.removeClass("editable-open"),this.innerHide(),this.$element.triggerHandler("hidden",t||"manual")))},innerShow:function(){},innerHide:function(){},toggle:function(t){this.container()&&this.tip()&&this.tip().is(":visible")?this.hide():this.show(t)},setPosition:function(){},save:function(t,e){this.$element.triggerHandler("save",e),this.hide("save")},option:function(t,e){this.options[t]=e,t
in
this.containerOptions?(this.containerOptions[t]=e,this.setContainerOption(t,e)):(this.formOptions[t]=e,this.$form&&this.$form.editableform("option",t,e))},setContainerOption:function(t,e){this.call("option",t,e)},destroy:function(){this.hide(),this.innerDestroy(),this.$element.off("destroyed"),this.$element.removeData("editableContainer")},innerDestroy:function(){},closeOthers:function(e){t(".editable-open").each(function(i,s){if(s!==e&&!t(s).find(e).length){var
n=t(s),a=n.data("editableContainer");a&&("cancel"===a.options.onblur?n.data("editableContainer").hide("onblur"):"submit"===a.options.onblur&&n.data("editableContainer").tip().find("form").submit())}})},activate:function(){this.tip&&this.tip().is(":visible")&&this.$form&&this.$form.data("editableform").input.activate()}},t.fn.editableContainer=function(s){var
n=arguments;return this.each(function(){var
a=t(this),o=a.data("editableContainer"),r="object"==typeof
s&&s,l="inline"===r.mode?i:e;o||a.data("editableContainer",o=new
l(this,r)),"string"==typeof
s&&o[s].apply(o,Array.prototype.slice.call(n,1))})},t.fn.editableContainer.Popup=e,t.fn.editableContainer.Inline=i,t.fn.editableContainer.defaults={value:null,placement:"top",autohide:!0,onblur:"cancel",anim:!1,mode:"popup"},jQuery.event.special.destroyed={remove:function(t){t.handler&&t.handler()}}}(window.jQuery),function(t){"use
strict";t.extend(t.fn.editableContainer.Inline.prototype,t.fn.editableContainer.Popup.prototype,{containerName:"editableform",innerCss:".editable-inline",containerClass:"editable-container
editable-inline",initContainer:function(){this.$tip=t("<span></span>"),this.options.anim||(this.options.anim=0)},splitOptions:function(){this.containerOptions={},this.formOptions=this.options},tip:function(){return
this.$tip},innerShow:function(){this.$element.hide(),this.tip().insertAfter(this.$element).show()},innerHide:function(){this.$tip.hide(this.options.anim,t.proxy(function(){this.$element.show(),this.innerDestroy()},this))},innerDestroy:function(){this.tip()&&this.tip().empty().remove()}})}(window.jQuery),function(t){"use
strict";var
e=function(e,i){this.$element=t(e),this.options=t.extend({},t.fn.editable.defaults,i,t.fn.editableutils.getConfigData(this.$element)),this.options.selector?this.initLive():this.init(),this.options.highlight&&!t.fn.editableutils.supportsTransitions()&&(this.options.highlight=!1)};e.prototype={constructor:e,init:function(){var
e,i=!1;if(this.options.name=this.options.name||this.$element.attr("id"),this.options.scope=this.$element[0],this.input=t.fn.editableutils.createInput(this.options),this.input){switch(void
0===this.options.value||null===this.options.value?(this.value=this.input.html2value(t.trim(this.$element.html())),i=!0):(this.options.value=t.fn.editableutils.tryParseJson(this.options.value,!0),"string"==typeof
this.options.value?this.value=this.input.str2value(this.options.value):this.value=this.options.value),this.$element.addClass("editable"),"textarea"===this.input.type&&this.$element.addClass("editable-pre-wrapped"),"manual"!==this.options.toggle?(this.$element.addClass("editable-click"),this.$element.on(this.options.toggle+".editable",t.proxy(function(t){if(this.options.disabled||t.preventDefault(),"mouseenter"===this.options.toggle)this.show();else{var
e="click"!==this.options.toggle;this.toggle(e)}},this))):this.$element.attr("tabindex",-1),"function"==typeof
this.options.display&&(this.options.autotext="always"),this.options.autotext){case"always":e=!0;break;case"auto":e=!t.trim(this.$element.text()).length&&null!==this.value&&void
0!==this.value&&!i;break;default:e=!1}t.when(!e||this.render()).then(t.proxy(function(){this.options.disabled?this.disable():this.enable(),this.$element.triggerHandler("init",this)},this))}},initLive:function(){var
e=this.options.selector;this.options.selector=!1,this.options.autotext="never",this.$element.on(this.options.toggle+".editable",e,t.proxy(function(e){var
i=t(e.target);i.data("editable")||(i.hasClass(this.options.emptyclass)&&i.empty(),i.editable(this.options).trigger(e))},this))},render:function(t){if(!1!==this.options.display)return
this.input.value2htmlFinal?this.input.value2html(this.value,this.$element[0],this.options.display,t):"function"==typeof
this.options.display?this.options.display.call(this.$element[0],this.value,t):this.input.value2html(this.value,this.$element[0])},enable:function(){this.options.disabled=!1,this.$element.removeClass("editable-disabled"),this.handleEmpty(this.isEmpty),"manual"!==this.options.toggle&&"-1"===this.$element.attr("tabindex")&&this.$element.removeAttr("tabindex")},disable:function(){this.options.disabled=!0,this.hide(),this.$element.addClass("editable-disabled"),this.handleEmpty(this.isEmpty),this.$element.attr("tabindex",-1)},toggleDisabled:function(){this.options.disabled?this.enable():this.disable()},option:function(e,i){if(e&&"object"==typeof
e)t.each(e,t.proxy(function(e,i){this.option(t.trim(e),i)},this));else{if(this.options[e]=i,"disabled"===e)return
i?this.disable():this.enable();"value"===e&&this.setValue(i),this.container&&this.container.option(e,i),this.input.option&&this.input.option(e,i)}},handleEmpty:function(e){!1!==this.options.display&&(void
0!==e?this.isEmpty=e:"function"==typeof
this.input.isEmpty?this.isEmpty=this.input.isEmpty(this.$element):this.isEmpty=""===t.trim(this.$element.html()),this.options.disabled?this.isEmpty&&(this.$element.empty(),this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass)):this.isEmpty?(this.$element.html(this.options.emptytext),this.options.emptyclass&&this.$element.addClass(this.options.emptyclass)):this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass))},show:function(e){if(!this.options.disabled){if(this.container){if(this.container.tip().is(":visible"))return}else{var
i=t.extend({},this.options,{value:this.value,input:this.input});this.$element.editableContainer(i),this.$element.on("save.internal",t.proxy(this.save,this)),this.container=this.$element.data("editableContainer")}this.container.show(e)}},hide:function(){this.container&&this.container.hide()},toggle:function(t){this.container&&this.container.tip().is(":visible")?this.hide():this.show(t)},save:function(t,e){if(this.options.unsavedclass){var
i=!1;(i=(i=(i=(i=i||"function"==typeof
this.options.url)||!1===this.options.display)||void
0!==e.response)||this.options.savenochange&&this.input.value2str(this.value)!==this.input.value2str(e.newValue))?this.$element.removeClass(this.options.unsavedclass):this.$element.addClass(this.options.unsavedclass)}if(this.options.highlight){var
s=this.$element,n=s.css("background-color");s.css("background-color",this.options.highlight),setTimeout(function(){"transparent"===n&&(n=""),s.css("background-color",n),s.addClass("editable-bg-transition"),setTimeout(function(){s.removeClass("editable-bg-transition")},1700)},10)}this.setValue(e.newValue,!1,e.response)},validate:function(){if("function"==typeof
this.options.validate)return
this.options.validate.call(this,this.value)},setValue:function(e,i,s){this.value=i?this.input.str2value(e):e,this.container&&this.container.option("value",this.value),t.when(this.render(s)).then(t.proxy(function(){this.handleEmpty()},this))},activate:function(){this.container&&this.container.activate()},destroy:function(){this.disable(),this.container&&this.container.destroy(),this.input.destroy(),"manual"!==this.options.toggle&&(this.$element.removeClass("editable-click"),this.$element.off(this.options.toggle+".editable")),this.$element.off("save.internal"),this.$element.removeClass("editable
editable-open
editable-disabled"),this.$element.removeData("editable")}},t.fn.editable=function(i){var
s={},n=arguments;switch(i){case"validate":return
this.each(function(){var
e,i=t(this).data("editable");i&&(e=i.validate())&&(s[i.options.name]=e)}),s;case"getValue":return
2===arguments.length&&!0===arguments[1]?s=this.eq(0).data("editable").value:this.each(function(){var
e=t(this).data("editable");e&&void
0!==e.value&&null!==e.value&&(s[e.options.name]=e.input.value2submit(e.value))}),s;case"submit":var
a=arguments[1]||{},o=this,r=this.editable("validate");if(t.isEmptyObject(r)){var
l={};if(1===o.length){var
h=o.data("editable"),u={name:h.options.name||"",value:h.input.value2submit(h.value),pk:"function"==typeof
h.options.pk?h.options.pk.call(h.options.scope):h.options.pk};"function"==typeof
h.options.params?u=h.options.params.call(h.options.scope,u):(h.options.params=t.fn.editableutils.tryParseJson(h.options.params,!0),t.extend(u,h.options.params)),l={url:h.options.url,data:u,type:"POST"},a.success=a.success||h.options.success,a.error=a.error||h.options.error}else{var
p=this.editable("getValue");l={url:a.url,data:p,type:"POST"}}l.success="function"==typeof
a.success?function(t){a.success.call(o,t,a)}:t.noop,l.error="function"==typeof
a.error?function(){a.error.apply(o,arguments)}:t.noop,a.ajaxOptions&&t.extend(l,a.ajaxOptions),a.data&&t.extend(l.data,a.data),t.ajax(l)}else"function"==typeof
a.error&&a.error.call(o,r);return this}return
this.each(function(){var
s=t(this),a=s.data("editable"),o="object"==typeof
i&&i;o&&o.selector?a=new
e(this,o):(a||s.data("editable",a=new
e(this,o)),"string"==typeof
i&&a[i].apply(a,Array.prototype.slice.call(n,1)))})},t.fn.editable.defaults={type:"text",disabled:!1,toggle:"click",emptytext:"Empty",autotext:"auto",value:null,display:null,emptyclass:"editable-empty",unsavedclass:"editable-unsaved",selector:null,highlight:"#FFFF80"}}(window.jQuery),function(t){"use
strict";t.fn.editabletypes={};var
e=function(){};e.prototype={init:function(e,i,s){this.type=e,this.options=t.extend({},s,i)},prerender:function(){this.$tpl=t(this.options.tpl),this.$input=this.$tpl,this.$clear=null,this.error=null},render:function(){},value2html:function(e,i){t(i)[this.options.escape?"text":"html"](t.trim(e))},html2value:function(e){return
t("<div>").html(e).text()},value2str:function(t){return
t},str2value:function(t){return t},value2submit:function(t){return
t},value2input:function(t){this.$input.val(t)},input2value:function(){return
this.$input.val()},activate:function(){this.$input.is(":visible")&&this.$input.focus()},clear:function(){this.$input.val(null)},escape:function(e){return
t("<div>").text(e).html()},autosubmit:function(){},destroy:function(){},setClass:function(){this.options.inputclass&&this.$input.addClass(this.options.inputclass)},setAttr:function(t){void
0!==this.options[t]&&null!==this.options[t]&&this.$input.attr(t,this.options[t])},option:function(t,e){this.options[t]=e}},e.defaults={tpl:"",inputclass:null,escape:!0,scope:null,showbuttons:!0},t.extend(t.fn.editabletypes,{abstractinput:e})}(window.jQuery),function(t){"use
strict";var
e=function(t){};t.fn.editableutils.inherit(e,t.fn.editabletypes.abstractinput),t.extend(e.prototype,{render:function(){var
e=t.Deferred();return
this.error=null,this.onSourceReady(function(){this.renderList(),e.resolve()},function(){this.error=this.options.sourceError,e.resolve()}),e.promise()},html2value:function(t){return
null},value2html:function(e,i,s,n){var
a=t.Deferred(),o=function(){"function"==typeof
s?s.call(i,e,this.sourceData,n):this.value2htmlFinal(e,i),a.resolve()};return
null===e?o.call(this):this.onSourceReady(o,function(){a.resolve()}),a.promise()},onSourceReady:function(e,i){var
s;if(t.isFunction(this.options.source)?(s=this.options.source.call(this.options.scope),this.sourceData=null):s=this.options.source,this.options.sourceCache&&t.isArray(this.sourceData))e.call(this);else{try{s=t.fn.editableutils.tryParseJson(s,!1)}catch(t){return
void i.call(this)}if("string"==typeof
s){if(this.options.sourceCache){var
n,a=s;if(t(document).data(a)||t(document).data(a,{}),!1===(n=t(document).data(a)).loading&&n.sourceData)return
this.sourceData=n.sourceData,this.doPrepend(),void
e.call(this);if(!0===n.loading)return
n.callbacks.push(t.proxy(function(){this.sourceData=n.sourceData,this.doPrepend(),e.call(this)},this)),void
n.err_callbacks.push(t.proxy(i,this));n.loading=!0,n.callbacks=[],n.err_callbacks=[]}var
o=t.extend({url:s,type:"get",cache:!1,dataType:"json",success:t.proxy(function(s){n&&(n.loading=!1),this.sourceData=this.makeArray(s),t.isArray(this.sourceData)?(n&&(n.sourceData=this.sourceData,t.each(n.callbacks,function(){this.call()})),this.doPrepend(),e.call(this)):(i.call(this),n&&t.each(n.err_callbacks,function(){this.call()}))},this),error:t.proxy(function(){i.call(this),n&&(n.loading=!1,t.each(n.err_callbacks,function(){this.call()}))},this)},this.options.sourceOptions);t.ajax(o)}else
this.sourceData=this.makeArray(s),t.isArray(this.sourceData)?(this.doPrepend(),e.call(this)):i.call(this)}},doPrepend:function(){null!==this.options.prepend&&void
0!==this.options.prepend&&(t.isArray(this.prependData)||(t.isFunction(this.options.prepend)&&(this.options.prepend=this.options.prepend.call(this.options.scope)),this.options.prepend=t.fn.editableutils.tryParseJson(this.options.prepend,!0),"string"==typeof
this.options.prepend&&(this.options.prepend={"":this.options.prepend}),this.prependData=this.makeArray(this.options.prepend)),t.isArray(this.prependData)&&t.isArray(this.sourceData)&&(this.sourceData=this.prependData.concat(this.sourceData)))},renderList:function(){},value2htmlFinal:function(t,e){},makeArray:function(e){var
i,s,n,a,o=[];if(!e||"string"==typeof e)return
null;if(t.isArray(e)){a=function(t,e){if(s={value:t,text:e},i++>=2)return!1};for(var
r=0;r<e.length;r++)"object"==typeof(n=e[r])?(i=0,t.each(n,a),1===i?o.push(s):i>1&&(n.children&&(n.children=this.makeArray(n.children)),o.push(n))):o.push({value:n,text:n})}else
t.each(e,function(t,e){o.push({value:t,text:e})});return
o},option:function(t,e){this.options[t]=e,"source"===t&&(this.sourceData=null),"prepend"===t&&(this.prependData=null)}}),e.defaults=t.extend({},t.fn.editabletypes.abstractinput.defaults,{source:null,prepend:!1,sourceError:"Error
when loading
list",sourceCache:!0,sourceOptions:null}),t.fn.editabletypes.list=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("text",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.abstractinput),t.extend(e.prototype,{render:function(){this.renderClear(),this.setClass(),this.setAttr("placeholder")},activate:function(){this.$input.is(":visible")&&(this.$input.focus(),t.fn.editableutils.setCursorPosition(this.$input.get(0),this.$input.val().length),this.toggleClear&&this.toggleClear())},renderClear:function(){this.options.clear&&(this.$clear=t('<span
class="editable-clear-x"></span>'),this.$input.after(this.$clear).css("padding-right",24).keyup(t.proxy(function(e){if(!~t.inArray(e.keyCode,[40,38,9,13,27])){clearTimeout(this.t);var
i=this;this.t=setTimeout(function(){i.toggleClear(e)},100)}},this)).parent().css("position","relative"),this.$clear.click(t.proxy(this.clear,this)))},postrender:function(){},toggleClear:function(t){if(this.$clear){var
e=this.$input.val().length,i=this.$clear.is(":visible");e&&!i&&this.$clear.show(),!e&&i&&this.$clear.hide()}},clear:function(){this.$clear.hide(),this.$input.val("").focus()}}),e.defaults=t.extend({},t.fn.editabletypes.abstractinput.defaults,{tpl:'<input
type="text">',placeholder:null,clear:!0}),t.fn.editabletypes.text=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("textarea",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.abstractinput),t.extend(e.prototype,{render:function(){this.setClass(),this.setAttr("placeholder"),this.setAttr("rows"),this.$input.keydown(function(e){e.ctrlKey&&13===e.which&&t(this).closest("form").submit()})},activate:function(){t.fn.editabletypes.text.prototype.activate.call(this)}}),e.defaults=t.extend({},t.fn.editabletypes.abstractinput.defaults,{tpl:"<textarea></textarea>",inputclass:"input-large",placeholder:null,rows:7}),t.fn.editabletypes.textarea=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("select",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.list),t.extend(e.prototype,{renderList:function(){this.$input.empty();var
e=function(i,s){var n;if(t.isArray(s))for(var
a=0;a<s.length;a++)n={},s[a].children?(n.label=s[a].text,i.append(e(t("<optgroup>",n),s[a].children))):(n.value=s[a].value,s[a].disabled&&(n.disabled=!0),i.append(t("<option>",n).text(s[a].text)));return
i};e(this.$input,this.sourceData),this.setClass(),this.$input.on("keydown.editable",function(e){13===e.which&&t(this).closest("form").submit()})},value2htmlFinal:function(e,i){var
s="",n=t.fn.editableutils.itemsByValue(e,this.sourceData);n.length&&(s=n[0].text),t.fn.editabletypes.abstractinput.prototype.value2html.call(this,s,i)},autosubmit:function(){this.$input.off("keydown.editable").on("change.editable",function(){t(this).closest("form").submit()})}}),e.defaults=t.extend({},t.fn.editabletypes.list.defaults,{tpl:"<select></select>"}),t.fn.editabletypes.select=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("checklist",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.list),t.extend(e.prototype,{renderList:function(){var
e;if(this.$tpl.empty(),t.isArray(this.sourceData)){for(var
i=0;i<this.sourceData.length;i++)e=t("<label>").append(t("<input>",{type:"checkbox",value:this.sourceData[i].value})).append(t("<span>").text("
"+this.sourceData[i].text)),t("<div>").append(e).appendTo(this.$tpl);this.$input=this.$tpl.find('input[type="checkbox"]'),this.setClass()}},value2str:function(e){return
t.isArray(e)?e.sort().join(t.trim(this.options.separator)):""},str2value:function(e){var
i,s=null;return"string"==typeof e&&e.length?(i=new
RegExp("\\s*"+t.trim(this.options.separator)+"\\s*"),s=e.split(i)):s=t.isArray(e)?e:[e],s},value2input:function(e){this.$input.prop("checked",!1),t.isArray(e)&&e.length&&this.$input.each(function(i,s){var
n=t(s);t.each(e,function(t,e){n.val()==e&&n.prop("checked",!0)})})},input2value:function(){var
e=[];return
this.$input.filter(":checked").each(function(i,s){e.push(t(s).val())}),e},value2htmlFinal:function(e,i){var
s=[],n=t.fn.editableutils.itemsByValue(e,this.sourceData),a=this.options.escape;n.length?(t.each(n,function(e,i){var
n=a?t.fn.editableutils.escape(i.text):i.text;s.push(n)}),t(i).html(s.join("<br>"))):t(i).empty()},activate:function(){this.$input.first().focus()},autosubmit:function(){this.$input.on("keydown",function(e){13===e.which&&t(this).closest("form").submit()})}}),e.defaults=t.extend({},t.fn.editabletypes.list.defaults,{tpl:'<div
class="editable-checklist"></div>',inputclass:null,separator:","}),t.fn.editabletypes.checklist=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("password",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.text),t.extend(e.prototype,{value2html:function(e,i){e?t(i).text("[hidden]"):t(i).empty()},html2value:function(t){return
null}}),e.defaults=t.extend({},t.fn.editabletypes.text.defaults,{tpl:'<input
type="password">'}),t.fn.editabletypes.password=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("email",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.text),e.defaults=t.extend({},t.fn.editabletypes.text.defaults,{tpl:'<input
type="email">'}),t.fn.editabletypes.email=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("url",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.text),e.defaults=t.extend({},t.fn.editabletypes.text.defaults,{tpl:'<input
type="url">'}),t.fn.editabletypes.url=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("tel",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.text),e.defaults=t.extend({},t.fn.editabletypes.text.defaults,{tpl:'<input
type="tel">'}),t.fn.editabletypes.tel=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("number",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.text),t.extend(e.prototype,{render:function(){e.superclass.render.call(this),this.setAttr("min"),this.setAttr("max"),this.setAttr("step")},postrender:function(){this.$clear&&this.$clear.css({right:24})}}),e.defaults=t.extend({},t.fn.editabletypes.text.defaults,{tpl:'<input
type="number">',inputclass:"input-mini",min:null,max:null,step:null}),t.fn.editabletypes.number=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("range",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.number),t.extend(e.prototype,{render:function(){this.$input=this.$tpl.filter("input"),this.setClass(),this.setAttr("min"),this.setAttr("max"),this.setAttr("step"),this.$input.on("input",function(){t(this).siblings("output").text(t(this).val())})},activate:function(){this.$input.focus()}}),e.defaults=t.extend({},t.fn.editabletypes.number.defaults,{tpl:'<input
type="range"><output style="width: 30px; display:
inline-block"></output>',inputclass:"input-medium"}),t.fn.editabletypes.range=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("time",t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.abstractinput),t.extend(e.prototype,{render:function(){this.setClass()}}),e.defaults=t.extend({},t.fn.editabletypes.abstractinput.defaults,{tpl:'<input
type="time">'}),t.fn.editabletypes.time=e}(window.jQuery),function(t){"use
strict";var
e=function(i){if(this.init("select2",i,e.defaults),i.select2=i.select2||{},this.sourceData=null,i.placeholder&&(i.select2.placeholder=i.placeholder),!i.select2.tags&&i.source){var
s=i.source;t.isFunction(i.source)&&(s=i.source.call(i.scope)),"string"==typeof
s?(i.select2.ajax=i.select2.ajax||{},i.select2.ajax.data||(i.select2.ajax.data=function(t){return{query:t}}),i.select2.ajax.results||(i.select2.ajax.results=function(t){return{results:t}}),i.select2.ajax.url=s):(this.sourceData=this.convertSource(s),i.select2.data=this.sourceData)}if(this.options.select2=t.extend({},e.defaults.select2,i.select2),this.isMultiple=this.options.select2.tags||this.options.select2.multiple,this.isRemote="ajax"in
this.options.select2,this.idFunc=this.options.select2.id,"function"!=typeof
this.idFunc){var
n=this.idFunc||"id";this.idFunc=function(t){return
t[n]}}this.formatSelection=this.options.select2.formatSelection,"function"!=typeof
this.formatSelection&&(this.formatSelection=function(t){return
t.text})};t.fn.editableutils.inherit(e,t.fn.editabletypes.abstractinput),t.extend(e.prototype,{render:function(){this.setClass(),this.isRemote&&this.$input.on("select2-loaded",t.proxy(function(t){this.sourceData=t.items.results},this)),this.isMultiple&&this.$input.on("change",function(){t(this).closest("form").parent().triggerHandler("resize")})},value2html:function(i,s){var
n,a="",o=this;this.options.select2.tags?n=i:this.sourceData&&(n=t.fn.editableutils.itemsByValue(i,this.sourceData,this.idFunc)),t.isArray(n)?(a=[],t.each(n,function(t,e){a.push(e&&"object"==typeof
e?o.formatSelection(e):e)})):n&&(a=o.formatSelection(n)),a=t.isArray(a)?a.join(this.options.viewseparator):a,e.superclass.value2html.call(this,a,s)},html2value:function(t){return
this.options.select2.tags?this.str2value(t,this.options.viewseparator):null},value2input:function(e){if(t.isArray(e)&&(e=e.join(this.getSeparator())),this.$input.data("select2")?this.$input.val(e).trigger("change",!0):(this.$input.val(e),this.$input.select2(this.options.select2)),this.isRemote&&!this.isMultiple&&!this.options.select2.initSelection){var
i=this.options.select2.id,s=this.options.select2.formatSelection;if(!i&&!s){var
n=t(this.options.scope);if(!n.data("editable").isEmpty){var
a={id:e,text:n.text()};this.$input.select2("data",a)}}}},input2value:function(){return
this.$input.select2("val")},str2value:function(e,i){if("string"!=typeof
e||!this.isMultiple)return e;var
s,n,a;if(i=i||this.getSeparator(),null===e||e.length<1)return
null;for(n=0,a=(s=e.split(i)).length;n<a;n+=1)s[n]=t.trim(s[n]);return
s},autosubmit:function(){this.$input.on("change",function(e,i){i||t(this).closest("form").submit()})},getSeparator:function(){return
this.options.select2.separator||t.fn.select2.defaults.separator},convertSource:function(e){if(t.isArray(e)&&e.length&&void
0!==e[0].value)for(var i=0;i<e.length;i++)void
0!==e[i].value&&(e[i].id=e[i].value,delete e[i].value);return
e},destroy:function(){this.$input.data("select2")&&this.$input.select2("destroy")}}),e.defaults=t.extend({},t.fn.editabletypes.abstractinput.defaults,{tpl:'<input
type="hidden">',select2:null,placeholder:null,source:null,viewseparator:",
"}),t.fn.editabletypes.select2=e}(window.jQuery),function(t){var
e=function(e,i){this.$element=t(e),this.$element.is("input")?(this.options=t.extend({},t.fn.combodate.defaults,i,this.$element.data()),this.init()):t.error("Combodate
should be applied to INPUT
element")};e.prototype={constructor:e,init:function(){this.map={day:["D","date"],month:["M","month"],year:["Y","year"],hour:["[Hh]","hours"],minute:["m","minutes"],second:["s","seconds"],ampm:["[Aa]",""]},this.$widget=t('<span
class="combodate"></span>').html(this.getTemplate()),this.initCombos(),this.$widget.on("change","select",t.proxy(function(e){this.$element.val(this.getValue()).change(),this.options.smartDays&&(t(e.target).is(".month")||t(e.target).is(".year"))&&this.fillCombo("day")},this)),this.$widget.find("select").css("width","auto"),this.$element.hide().after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var
e=this.options.template;return t.each(this.map,function(t,i){i=i[0];var
s=new
RegExp(i+"+"),n=i.length>1?i.substring(1,2):i;e=e.replace(s,"{"+n+"}")}),e=e.replace(/
/g," "),t.each(this.map,function(t,i){var
s=(i=i[0]).length>1?i.substring(1,2):i;e=e.replace("{"+s+"}",'<select
class="'+t+'"></select>')}),e},initCombos:function(){for(var
t in this.map){var
e=this.$widget.find("."+t);this["$"+t]=e.length?e:null,this.fillCombo(t)}},fillCombo:function(t){var
e=this["$"+t];if(e){var
i=this["fill"+t.charAt(0).toUpperCase()+t.slice(1)](),s=e.val();e.empty();for(var
n=0;n<i.length;n++)e.append('<option
value="'+i[n][0]+'">'+i[n][1]+"</option>");e.val(s)}},fillCommon:function(t){var
e,i=[];if("name"===this.options.firstItem){var
s="function"==typeof(e=moment.relativeTime||moment.langData()._relativeTime)[t]?e[t](1,!0,t,!1):e[t];s=s.split("
").reverse()[0],i.push(["",s])}else"empty"===this.options.firstItem&&i.push(["",""]);return
i},fillDay:function(){var
t,e,i=this.fillCommon("d"),s=-1!==this.options.template.indexOf("DD"),n=31;if(this.options.smartDays&&this.$month&&this.$year){var
a=parseInt(this.$month.val(),10),o=parseInt(this.$year.val(),10);isNaN(a)||isNaN(o)||(n=moment([o,a]).daysInMonth())}for(e=1;e<=n;e++)t=s?this.leadZero(e):e,i.push([e,t]);return
i},fillMonth:function(){var
t,e,i=this.fillCommon("M"),s=-1!==this.options.template.indexOf("MMMM"),n=-1!==this.options.template.indexOf("MMM"),a=-1!==this.options.template.indexOf("MM");for(e=0;e<=11;e++)t=s?moment().date(1).month(e).format("MMMM"):n?moment().date(1).month(e).format("MMM"):a?this.leadZero(e+1):e+1,i.push([e,t]);return
i},fillYear:function(){var
t,e,i=[],s=-1!==this.options.template.indexOf("YYYY");for(e=this.options.maxYear;e>=this.options.minYear;e--)t=s?e:(e+"").substring(2),i[this.options.yearDescending?"push":"unshift"]([e,t]);return
i=this.fillCommon("y").concat(i)},fillHour:function(){var
t,e,i=this.fillCommon("h"),s=-1!==this.options.template.indexOf("h"),n=(this.options.template.indexOf("H"),-1!==this.options.template.toLowerCase().indexOf("hh")),a=s?12:23;for(e=s?1:0;e<=a;e++)t=n?this.leadZero(e):e,i.push([e,t]);return
i},fillMinute:function(){var
t,e,i=this.fillCommon("m"),s=-1!==this.options.template.indexOf("mm");for(e=0;e<=59;e+=this.options.minuteStep)t=s?this.leadZero(e):e,i.push([e,t]);return
i},fillSecond:function(){var
t,e,i=this.fillCommon("s"),s=-1!==this.options.template.indexOf("ss");for(e=0;e<=59;e+=this.options.secondStep)t=s?this.leadZero(e):e,i.push([e,t]);return
i},fillAmpm:function(){var
t=-1!==this.options.template.indexOf("a");this.options.template.indexOf("A");return[["am",t?"am":"AM"],["pm",t?"pm":"PM"]]},getValue:function(e){var
i,s={},n=this,a=!1;return
t.each(this.map,function(t,e){if("ampm"!==t){var
i="day"===t?1:0;return
s[t]=n["$"+t]?parseInt(n["$"+t].val(),10):i,isNaN(s[t])?(a=!0,!1):void
0}}),a?"":(this.$ampm&&(12===s.hour?s.hour="am"===this.$ampm.val()?0:12:s.hour="am"===this.$ampm.val()?s.hour:s.hour+12),i=moment([s.year,s.month,s.day,s.hour,s.minute,s.second]),this.highlight(i),null===(e=void
0===e?this.options.format:e)?i.isValid()?i:null:i.isValid()?i.format(e):"")},setValue:function(e){if(e){var
i="string"==typeof
e?moment(e,this.options.format):moment(e),s=this,n={};i.isValid()&&(t.each(this.map,function(t,e){"ampm"!==t&&(n[t]=i[e[1]]())}),this.$ampm&&(n.hour>=12?(n.ampm="pm",n.hour>12&&(n.hour-=12)):(n.ampm="am",0===n.hour&&(n.hour=12))),t.each(n,function(t,e){s["$"+t]&&("minute"===t&&s.options.minuteStep>1&&s.options.roundTime&&(e=a(s["$"+t],e)),"second"===t&&s.options.secondStep>1&&s.options.roundTime&&(e=a(s["$"+t],e)),s["$"+t].val(e))}),this.options.smartDays&&this.fillCombo("day"),this.$element.val(i.format(this.options.format)).change())}function
a(e,i){var s={};return
e.children("option").each(function(e,n){var
a,o=t(n).attr("value");""!==o&&(a=Math.abs(o-i),(void
0===s.distance||a<s.distance)&&(s={value:o,distance:a}))}),s.value}},highlight:function(t){t.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(t){return
t<=9?"0"+t:t},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},t.fn.combodate=function(i){var
s,n=Array.apply(null,arguments);return
n.shift(),"getValue"===i&&this.length&&(s=this.eq(0).data("combodate"))?s.getValue.apply(s,n):this.each(function(){var
s=t(this),a=s.data("combodate"),o="object"==typeof
i&&i;a||s.data("combodate",a=new
e(this,o)),"string"==typeof
i&&"function"==typeof
a[i]&&a[i].apply(a,n)})},t.fn.combodate.defaults={format:"DD-MM-YYYY
HH:mm",template:"D / MMM / YYYY H :
mm",value:null,minYear:1970,maxYear:2015,yearDescending:!0,minuteStep:5,secondStep:1,firstItem:"empty",errorClass:null,roundTime:!0,smartDays:!1}}(window.jQuery),function(t){"use
strict";var
e=function(i){this.init("combodate",i,e.defaults),this.options.viewformat||(this.options.viewformat=this.options.format),i.combodate=t.fn.editableutils.tryParseJson(i.combodate,!0),this.options.combodate=t.extend({},e.defaults.combodate,i.combodate,{format:this.options.format,template:this.options.template})};t.fn.editableutils.inherit(e,t.fn.editabletypes.abstractinput),t.extend(e.prototype,{render:function(){this.$input.combodate(this.options.combodate),"bs3"===t.fn.editableform.engine&&this.$input.siblings().find("select").addClass("form-control"),this.options.inputclass&&this.$input.siblings().find("select").addClass(this.options.inputclass)},value2html:function(t,i){var
s=t?t.format(this.options.viewformat):"";e.superclass.value2html.call(this,s,i)},html2value:function(t){return
t?moment(t,this.options.viewformat):null},value2str:function(t){return
t?t.format(this.options.format):""},str2value:function(t){return
t?moment(t,this.options.format):null},value2submit:function(t){return
this.value2str(t)},value2input:function(t){this.$input.combodate("setValue",t)},input2value:function(){return
this.$input.combodate("getValue",null)},activate:function(){this.$input.siblings(".combodate").find("select").eq(0).focus()},autosubmit:function(){}}),e.defaults=t.extend({},t.fn.editabletypes.abstractinput.defaults,{tpl:'<input
type="text">',inputclass:null,format:"YYYY-MM-DD",viewformat:null,template:"D
/ MMM /
YYYY",combodate:null}),t.fn.editabletypes.combodate=e}(window.jQuery),function(t){"use
strict";var
e=t.fn.editableform.Constructor.prototype.initInput;t.extend(t.fn.editableform.Constructor.prototype,{initTemplate:function(){this.$form=t(t.fn.editableform.template),this.$form.find(".control-group").addClass("form-group"),this.$form.find(".editable-error-block").addClass("help-block")},initInput:function(){e.apply(this);var
i=null===this.input.options.inputclass||!1===this.input.options.inputclass,s="text,select,textarea,password,email,url,tel,number,range,time,typeaheadjs".split(",");~t.inArray(this.input.type,s)&&(this.input.$input.addClass("form-control"),i&&(this.input.options.inputclass="input-sm",this.input.$input.addClass("input-sm")));for(var
n=this.$form.find(".editable-buttons"),a=i?["input-sm"]:this.input.options.inputclass.split("
"),o=0;o<a.length;o++)"input-lg"===a[o].toLowerCase()&&n.find("button").removeClass("btn-sm").addClass("btn-lg")}}),t.fn.editableform.buttons='<button
type="submit" class="btn btn-primary btn-sm
editable-submit"><i class="fa
fa-check"></i></button><button
type="button" class="btn btn-default btn-sm
editable-cancel"><i class="fa
fa-remove"></i></button>',t.fn.editableform.errorGroupClass="has-error",t.fn.editableform.errorBlockClass=null,t.fn.editableform.engine="bs3"}(window.jQuery),function(t){"use
strict";t.extend(t.fn.editableContainer.Popup.prototype,{containerName:"popover",containerDataName:"bs.popover",innerCss:".popover-content",defaults:t.fn.popover.Constructor.DEFAULTS,initContainer:function(){var
e;t.extend(this.containerOptions,{trigger:"manual",selector:!1,content:"
",template:this.defaults.template}),this.$element.data("template")&&(e=this.$element.data("template"),this.$element.removeData("template")),this.call(this.containerOptions),e&&this.$element.data("template",e)},innerShow:function(){this.call("show")},innerHide:function(){this.call("hide")},innerDestroy:function(){this.call("destroy")},setContainerOption:function(t,e){this.container().options[t]=e},setPosition:function(){(function(){var
t=this.tip(),e="function"==typeof
this.options.placement?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,s=i.test(e);s&&(e=e.replace(i,"")||"top");var
n=this.getPosition(),a=t[0].offsetWidth,o=t[0].offsetHeight;if(s){var
r=this.$element.parent(),l=e,h=document.documentElement.scrollTop||document.body.scrollTop,u="body"==this.options.container?window.innerWidth:r.outerWidth(),p="body"==this.options.container?window.innerHeight:r.outerHeight(),d="body"==this.options.container?0:r.offset().left;e="bottom"==e&&n.top+n.height+o-h>p?"top":"top"==e&&n.top-h-o<0?"bottom":"right"==e&&n.right+a>u?"left":"left"==e&&n.left-a<d?"right":e,t.removeClass(l).addClass(e)}var
c=this.getCalculatedOffset(e,n,a,o);this.applyPlacement(c,e)}).call(this.container())}})}(window.jQuery),function(t){function
e(){return new Date(Date.UTC.apply(Date,arguments))}var
i=function(e,i){this._process_options(i),this.element=t(e),this.isInline=!1,this.isInput=this.element.is("input"),this.component=!!this.element.is(".date")&&this.element.find(".add-on,
.btn"),this.hasInput=this.component&&this.element.find("input").length,this.component&&0===this.component.length&&(this.component=!1),this.picker=t(h.template),this._buildEvents(),this._attachEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown
dropdown-menu"),this.o.rtl&&(this.picker.addClass("datepicker-rtl"),this.picker.find(".prev
i, .next i").toggleClass("icon-arrow-left
icon-arrow-right")),this.viewMode=this.o.startView,this.o.calendarWeeks&&this.picker.find("tfoot
th.today").attr("colspan",function(t,e){return
parseInt(e)+1}),this._allow_update=!1,this.setStartDate(this.o.startDate),this.setEndDate(this.o.endDate),this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled),this.fillDow(),this.fillMonths(),this._allow_update=!0,this.update(),this.showMode(),this.isInline&&this.show()};i.prototype={constructor:i,_process_options:function(e){this._o=t.extend({},this._o,e);var
i=this.o=t.extend({},this._o),s=i.language;switch(l[s]||(s=s.split("-")[0],l[s]||(s=o.language)),i.language=s,i.startView){case
2:case"decade":i.startView=2;break;case
1:case"year":i.startView=1;break;default:i.startView=0}switch(i.minViewMode){case
1:case"months":i.minViewMode=1;break;case
2:case"years":i.minViewMode=2;break;default:i.minViewMode=0}i.startView=Math.max(i.startView,i.minViewMode),i.weekStart%=7,i.weekEnd=(i.weekStart+6)%7;var
n=h.parseFormat(i.format);i.startDate!==-1/0&&(i.startDate=h.parseDate(i.startDate,n,i.language)),i.endDate!==1/0&&(i.endDate=h.parseDate(i.endDate,n,i.language)),i.daysOfWeekDisabled=i.daysOfWeekDisabled||[],t.isArray(i.daysOfWeekDisabled)||(i.daysOfWeekDisabled=i.daysOfWeekDisabled.split(/[,\s]*/)),i.daysOfWeekDisabled=t.map(i.daysOfWeekDisabled,function(t){return
parseInt(t,10)})},_events:[],_secondaryEvents:[],_applyEvents:function(t){for(var
e,i,s=0;s<t.length;s++)e=t[s][0],i=t[s][1],e.on(i)},_unapplyEvents:function(t){for(var
e,i,s=0;s<t.length;s++)e=t[s][0],i=t[s][1],e.off(i)},_buildEvents:function(){this.isInput?this._events=[[this.element,{focus:t.proxy(this.show,this),keyup:t.proxy(this.update,this),keydown:t.proxy(this.keydown,this)}]]:this.component&&this.hasInput?this._events=[[this.element.find("input"),{focus:t.proxy(this.show,this),keyup:t.proxy(this.update,this),keydown:t.proxy(this.keydown,this)}],[this.component,{click:t.proxy(this.show,this)}]]:this.element.is("div")?this.isInline=!0:this._events=[[this.element,{click:t.proxy(this.show,this)}]],this._secondaryEvents=[[this.picker,{click:t.proxy(this.click,this)}],[t(window),{resize:t.proxy(this.place,this)}],[t(document),{mousedown:t.proxy(function(t){this.element.is(t.target)||this.element.find(t.target).size()||this.picker.is(t.target)||this.picker.find(t.target).size()||this.hide()},this)}]]},_attachEvents:function(){this._detachEvents(),this._applyEvents(this._events)},_detachEvents:function(){this._unapplyEvents(this._events)},_attachSecondaryEvents:function(){this._detachSecondaryEvents(),this._applyEvents(this._secondaryEvents)},_detachSecondaryEvents:function(){this._unapplyEvents(this._secondaryEvents)},_trigger:function(e,i){var
s=i||this.date,n=new
Date(s.getTime()+6e4*s.getTimezoneOffset());this.element.trigger({type:e,date:n,format:t.proxy(function(t){var
e=t||this.o.format;return
h.formatDate(s,e,this.o.language)},this)})},show:function(t){this.isInline||this.picker.appendTo("body"),this.picker.show(),this.height=this.component?this.component.outerHeight():this.element.outerHeight(),this.place(),this._attachSecondaryEvents(),t&&t.preventDefault(),this._trigger("show")},hide:function(t){this.isInline||this.picker.is(":visible")&&(this.picker.hide().detach(),this._detachSecondaryEvents(),this.viewMode=this.o.startView,this.showMode(),this.o.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())&&this.setValue(),this._trigger("hide"))},remove:function(){this.hide(),this._detachEvents(),this._detachSecondaryEvents(),this.picker.remove(),delete
this.element.data().datepicker,this.isInput||delete
this.element.data().date},getDate:function(){var t=this.getUTCDate();return
new
Date(t.getTime()+6e4*t.getTimezoneOffset())},getUTCDate:function(){return
this.date},setDate:function(t){this.setUTCDate(new
Date(t.getTime()-6e4*t.getTimezoneOffset()))},setUTCDate:function(t){this.date=t,this.setValue()},setValue:function(){var
t=this.getFormattedDate();this.isInput?this.element.val(t):this.component&&this.element.find("input").val(t)},getFormattedDate:function(t){return
void
0===t&&(t=this.o.format),h.formatDate(this.date,t,this.o.language)},setStartDate:function(t){this._process_options({startDate:t}),this.update(),this.updateNavArrows()},setEndDate:function(t){this._process_options({endDate:t}),this.update(),this.updateNavArrows()},setDaysOfWeekDisabled:function(t){this._process_options({daysOfWeekDisabled:t}),this.update(),this.updateNavArrows()},place:function(){if(!this.isInline){var
e=parseInt(this.element.parents().filter(function(){return"auto"!=t(this).css("z-index")}).first().css("z-index"))+10,i=this.component?this.component.parent().offset():this.element.offset(),s=this.component?this.component.outerHeight(!0):this.element.outerHeight(!0);this.picker.css({top:i.top+s,left:i.left,zIndex:e})}},_allow_update:!0,update:function(){if(this._allow_update){var
t,e=!1;arguments&&arguments.length&&("string"==typeof
arguments[0]||arguments[0]instanceof
Date)?(t=arguments[0],e=!0):(t=this.isInput?this.element.val():this.element.data("date")||this.element.find("input").val(),delete
this.element.data().date),this.date=h.parseDate(t,this.o.format,this.o.language),e&&this.setValue(),this.date<this.o.startDate?this.viewDate=new
Date(this.o.startDate):this.date>this.o.endDate?this.viewDate=new
Date(this.o.endDate):this.viewDate=new
Date(this.date),this.fill()}},fillDow:function(){var
t=this.o.weekStart,e="<tr>";if(this.o.calendarWeeks){var
i='<th
class="cw"> </th>';e+=i,this.picker.find(".datepicker-days
thead
tr:first-child").prepend(i)}for(;t<this.o.weekStart+7;)e+='<th
class="dow">'+l[this.o.language].daysMin[t++%7]+"</th>";e+="</tr>",this.picker.find(".datepicker-days
thead").append(e)},fillMonths:function(){for(var
t="",e=0;e<12;)t+='<span
class="month">'+l[this.o.language].monthsShort[e++]+"</span>";this.picker.find(".datepicker-months
td").html(t)},setRange:function(e){e&&e.length?this.range=t.map(e,function(t){return
t.valueOf()}):delete this.range,this.fill()},getClassNames:function(e){var
i=[],s=this.viewDate.getUTCFullYear(),n=this.viewDate.getUTCMonth(),a=this.date.valueOf(),o=new
Date;return
e.getUTCFullYear()<s||e.getUTCFullYear()==s&&e.getUTCMonth()<n?i.push("old"):(e.getUTCFullYear()>s||e.getUTCFullYear()==s&&e.getUTCMonth()>n)&&i.push("new"),this.o.todayHighlight&&e.getUTCFullYear()==o.getFullYear()&&e.getUTCMonth()==o.getMonth()&&e.getUTCDate()==o.getDate()&&i.push("today"),a&&e.valueOf()==a&&i.push("active"),(e.valueOf()<this.o.startDate||e.valueOf()>this.o.endDate||-1!==t.inArray(e.getUTCDay(),this.o.daysOfWeekDisabled))&&i.push("disabled"),this.range&&(e>this.range[0]&&e<this.range[this.range.length-1]&&i.push("range"),-1!=t.inArray(e.valueOf(),this.range)&&i.push("selected")),i},fill:function(){var
i,s=new
Date(this.viewDate),n=s.getUTCFullYear(),a=s.getUTCMonth(),o=this.o.startDate!==-1/0?this.o.startDate.getUTCFullYear():-1/0,r=this.o.startDate!==-1/0?this.o.startDate.getUTCMonth():-1/0,u=this.o.endDate!==1/0?this.o.endDate.getUTCFullYear():1/0,p=this.o.endDate!==1/0?this.o.endDate.getUTCMonth():1/0;this.date&&this.date.valueOf();this.picker.find(".datepicker-days
thead th.datepicker-switch").text(l[this.o.language].months[a]+"
"+n),this.picker.find("tfoot
th.today").text(l[this.o.language].today).toggle(!1!==this.o.todayBtn),this.picker.find("tfoot
th.clear").text(l[this.o.language].clear).toggle(!1!==this.o.clearBtn),this.updateNavArrows(),this.fillMonths();var
d=e(n,a-1,28,0,0,0,0),c=h.getDaysInMonth(d.getUTCFullYear(),d.getUTCMonth());d.setUTCDate(c),d.setUTCDate(c-(d.getUTCDay()-this.o.weekStart+7)%7);var
f=new Date(d);f.setUTCDate(f.getUTCDate()+42),f=f.valueOf();for(var
m,v=[];d.valueOf()<f;){if(d.getUTCDay()==this.o.weekStart&&(v.push("<tr>"),this.o.calendarWeeks)){var
y=new Date(+d+(this.o.weekStart-d.getUTCDay()-7)%7*864e5),b=new
Date(+y+(11-y.getUTCDay())%7*864e5),g=new
Date(+(g=e(b.getUTCFullYear(),0,1))+(11-g.getUTCDay())%7*864e5),w=(b-g)/864e5/7+1;v.push('<td
class="cw">'+w+"</td>")}(m=this.getClassNames(d)).push("day");var
D=this.o.beforeShowDay(d);void 0===D?D={}:"boolean"==typeof
D?D={enabled:D}:"string"==typeof
D&&(D={classes:D}),!1===D.enabled&&m.push("disabled"),D.classes&&(m=m.concat(D.classes.split(/\s+/))),D.tooltip&&(i=D.tooltip),m=t.unique(m),v.push('<td
class="'+m.join(" ")+'"'+(i?'
title="'+i+'"':"")+">"+d.getUTCDate()+"</td>"),d.getUTCDay()==this.o.weekEnd&&v.push("</tr>"),d.setUTCDate(d.getUTCDate()+1)}this.picker.find(".datepicker-days
tbody").empty().append(v.join(""));var
k=this.date&&this.date.getUTCFullYear(),$=this.picker.find(".datepicker-months").find("th:eq(1)").text(n).end().find("span").removeClass("active");k&&k==n&&$.eq(this.date.getUTCMonth()).addClass("active"),(n<o||n>u)&&$.addClass("disabled"),n==o&&$.slice(0,r).addClass("disabled"),n==u&&$.slice(p+1).addClass("disabled"),v="",n=10*parseInt(n/10,10);var
C=this.picker.find(".datepicker-years").find("th:eq(1)").text(n+"-"+(n+9)).end().find("td");n-=1;for(var
x=-1;x<11;x++)v+='<span class="year'+(-1==x?"
old":10==x?" new":"")+(k==n?"
active":"")+(n<o||n>u?"
disabled":"")+'">'+n+"</span>",n+=1;C.html(v)},updateNavArrows:function(){if(this._allow_update){var
t=new
Date(this.viewDate),e=t.getUTCFullYear(),i=t.getUTCMonth();switch(this.viewMode){case
0:this.o.startDate!==-1/0&&e<=this.o.startDate.getUTCFullYear()&&i<=this.o.startDate.getUTCMonth()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==1/0&&e>=this.o.endDate.getUTCFullYear()&&i>=this.o.endDate.getUTCMonth()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case
1:case
2:this.o.startDate!==-1/0&&e<=this.o.startDate.getUTCFullYear()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==1/0&&e>=this.o.endDate.getUTCFullYear()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"})}}},click:function(i){i.preventDefault();var
s=t(i.target).closest("span, td,
th");if(1==s.length)switch(s[0].nodeName.toLowerCase()){case"th":switch(s[0].className){case"datepicker-switch":this.showMode(1);break;case"prev":case"next":var
n=h.modes[this.viewMode].navStep*("prev"==s[0].className?-1:1);switch(this.viewMode){case
0:this.viewDate=this.moveMonth(this.viewDate,n);break;case 1:case
2:this.viewDate=this.moveYear(this.viewDate,n)}this.fill();break;case"today":var
a=new
Date;a=e(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0),this.showMode(-2);var
o="linked"==this.o.todayBtn?null:"view";this._setDate(a,o);break;case"clear":var
r;this.isInput?r=this.element:this.component&&(r=this.element.find("input")),r&&r.val("").change(),this._trigger("changeDate"),this.update(),this.o.autoclose&&this.hide()}break;case"span":if(!s.is(".disabled")){if(this.viewDate.setUTCDate(1),s.is(".month")){var
l=1,u=s.parent().find("span").index(s),p=this.viewDate.getUTCFullYear();this.viewDate.setUTCMonth(u),this._trigger("changeMonth",this.viewDate),1===this.o.minViewMode&&this._setDate(e(p,u,l,0,0,0,0))}else{p=parseInt(s.text(),10)||0,l=1,u=0;this.viewDate.setUTCFullYear(p),this._trigger("changeYear",this.viewDate),2===this.o.minViewMode&&this._setDate(e(p,u,l,0,0,0,0))}this.showMode(-1),this.fill()}break;case"td":if(s.is(".day")&&!s.is(".disabled")){l=parseInt(s.text(),10)||1,p=this.viewDate.getUTCFullYear(),u=this.viewDate.getUTCMonth();s.is(".old")?0===u?(u=11,p-=1):u-=1:s.is(".new")&&(11==u?(u=0,p+=1):u+=1),this._setDate(e(p,u,l,0,0,0,0))}}},_setDate:function(t,e){var
i;e&&"date"!=e||(this.date=new
Date(t)),e&&"view"!=e||(this.viewDate=new
Date(t)),this.fill(),this.setValue(),this._trigger("changeDate"),this.isInput?i=this.element:this.component&&(i=this.element.find("input")),i&&(i.change(),!this.o.autoclose||e&&"date"!=e||this.hide())},moveMonth:function(t,e){if(!e)return
t;var i,s,n=new
Date(t.valueOf()),a=n.getUTCDate(),o=n.getUTCMonth(),r=Math.abs(e);if(e=e>0?1:-1,1==r)s=-1==e?function(){return
n.getUTCMonth()==o}:function(){return
n.getUTCMonth()!=i},i=o+e,n.setUTCMonth(i),(i<0||i>11)&&(i=(i+12)%12);else{for(var
l=0;l<r;l++)n=this.moveMonth(n,e);i=n.getUTCMonth(),n.setUTCDate(a),s=function(){return
i!=n.getUTCMonth()}}for(;s();)n.setUTCDate(--a),n.setUTCMonth(i);return
n},moveYear:function(t,e){return
this.moveMonth(t,12*e)},dateWithinRange:function(t){return
t>=this.o.startDate&&t<=this.o.endDate},keydown:function(t){if(this.picker.is(":not(:visible)"))27==t.keyCode&&this.show();else{var
e,i,s,n,a=!1;switch(t.keyCode){case
27:this.hide(),t.preventDefault();break;case 37:case
39:if(!this.o.keyboardNavigation)break;e=37==t.keyCode?-1:1,t.ctrlKey?(i=this.moveYear(this.date,e),s=this.moveYear(this.viewDate,e)):t.shiftKey?(i=this.moveMonth(this.date,e),s=this.moveMonth(this.viewDate,e)):((i=new
Date(this.date)).setUTCDate(this.date.getUTCDate()+e),(s=new
Date(this.viewDate)).setUTCDate(this.viewDate.getUTCDate()+e)),this.dateWithinRange(i)&&(this.date=i,this.viewDate=s,this.setValue(),this.update(),t.preventDefault(),a=!0);break;case
38:case
40:if(!this.o.keyboardNavigation)break;e=38==t.keyCode?-1:1,t.ctrlKey?(i=this.moveYear(this.date,e),s=this.moveYear(this.viewDate,e)):t.shiftKey?(i=this.moveMonth(this.date,e),s=this.moveMonth(this.viewDate,e)):((i=new
Date(this.date)).setUTCDate(this.date.getUTCDate()+7*e),(s=new
Date(this.viewDate)).setUTCDate(this.viewDate.getUTCDate()+7*e)),this.dateWithinRange(i)&&(this.date=i,this.viewDate=s,this.setValue(),this.update(),t.preventDefault(),a=!0);break;case
13:this.hide(),t.preventDefault();break;case
9:this.hide()}if(a)this._trigger("changeDate"),this.isInput?n=this.element:this.component&&(n=this.element.find("input")),n&&n.change()}},showMode:function(t){t&&(this.viewMode=Math.max(this.o.minViewMode,Math.min(2,this.viewMode+t))),this.picker.find(">div").hide().filter(".datepicker-"+h.modes[this.viewMode].clsName).css("display","block"),this.updateNavArrows()}};var
s=function(e,i){this.element=t(e),this.inputs=t.map(i.inputs,function(t){return
t.jquery?t[0]:t}),delete
i.inputs,t(this.inputs).datepicker(i).bind("changeDate",t.proxy(this.dateUpdated,this)),this.pickers=t.map(this.inputs,function(e){return
t(e).data("datepicker")}),this.updateDates()};s.prototype={updateDates:function(){this.dates=t.map(this.pickers,function(t){return
t.date}),this.updateRanges()},updateRanges:function(){var
e=t.map(this.dates,function(t){return
t.valueOf()});t.each(this.pickers,function(t,i){i.setRange(e)})},dateUpdated:function(e){var
i=t(e.target).data("datepicker").getUTCDate(),s=t.inArray(e.target,this.inputs),n=this.inputs.length;if(-1!=s){if(i<this.dates[s])for(;s>=0&&i<this.dates[s];)this.pickers[s--].setUTCDate(i);else
if(i>this.dates[s])for(;s<n&&i>this.dates[s];)this.pickers[s++].setUTCDate(i);this.updateDates()}},remove:function(){t.map(this.pickers,function(t){t.remove()}),delete
this.element.data().datepicker}};var
n=t.fn.datepicker,a=t.fn.datepicker=function(e){var
n,a=Array.apply(null,arguments);return a.shift(),this.each(function(){var
h=t(this),u=h.data("datepicker"),p="object"==typeof
e&&e;if(!u){var d=function(e,i){var s=t(e).data(),n={},a=new
RegExp("^"+i.toLowerCase()+"([A-Z])");for(var o in
i=new
RegExp("^"+i.toLowerCase()),s)i.test(o)&&(n[o.replace(a,function(t,e){return
e.toLowerCase()})]=s[o]);return n}(this,"date"),c=function(e){var
i={};if(l[e]||(e=e.split("-")[0],l[e])){var s=l[e];return
t.each(r,function(t,e){e in
s&&(i[e]=s[e])}),i}}(t.extend({},o,d,p).language),f=t.extend({},o,c,d,p);if(h.is(".input-daterange")||f.inputs){var
m={inputs:f.inputs||h.find("input").toArray()};h.data("datepicker",u=new
s(this,t.extend(f,m)))}else h.data("datepicker",u=new
i(this,f))}if("string"==typeof
e&&"function"==typeof u[e]&&void
0!==(n=u[e].apply(u,a)))return!1}),void
0!==n?n:this},o=t.fn.datepicker.defaults={autoclose:!1,beforeShowDay:t.noop,calendarWeeks:!1,clearBtn:!1,daysOfWeekDisabled:[],endDate:1/0,forceParse:!0,format:"mm/dd/yyyy",keyboardNavigation:!0,language:"en",minViewMode:0,rtl:!1,startDate:-1/0,startView:0,todayBtn:!1,todayHighlight:!1,weekStart:0},r=t.fn.datepicker.locale_opts=["format","rtl","weekStart"];t.fn.datepicker.Constructor=i;var
l=t.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear"}},h={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(t){return
t%4==0&&t%100!=0||t%400==0},getDaysInMonth:function(t,e){return[31,h.isLeapYear(t)?29:28,31,30,31,30,31,31,30,31,30,31][e]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^
-\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(t){var
e=t.replace(this.validParts,"\0").split("\0"),i=t.match(this.validParts);if(!e||!e.length||!i||0===i.length)throw
new Error("Invalid date
format.");return{separators:e,parts:i}},parseDate:function(s,n,a){if(s
instanceof Date)return s;if("string"==typeof
n&&(n=h.parseFormat(n)),/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(s)){var
o,r=/([\-+]\d+)([dmwy])/,u=s.match(/([\-+]\d+)([dmwy])/g);s=new
Date;for(var
p=0;p<u.length;p++)switch(f=r.exec(u[p]),o=parseInt(f[1]),f[2]){case"d":s.setUTCDate(s.getUTCDate()+o);break;case"m":s=i.prototype.moveMonth.call(i.prototype,s,o);break;case"w":s.setUTCDate(s.getUTCDate()+7*o);break;case"y":s=i.prototype.moveYear.call(i.prototype,s,o)}return
e(s.getUTCFullYear(),s.getUTCMonth(),s.getUTCDate(),0,0,0)}u=s&&s.match(this.nonpunctuation)||[],s=new
Date;var
d,c,f,m={},v=["yyyy","yy","M","MM","m","mm","d","dd"],y={yyyy:function(t,e){return
t.setUTCFullYear(e)},yy:function(t,e){return
t.setUTCFullYear(2e3+e)},m:function(t,e){for(e-=1;e<0;)e+=12;for(e%=12,t.setUTCMonth(e);t.getUTCMonth()!=e;)t.setUTCDate(t.getUTCDate()-1);return
t},d:function(t,e){return
t.setUTCDate(e)}};y.M=y.MM=y.mm=y.m,y.dd=y.d,s=e(s.getFullYear(),s.getMonth(),s.getDate(),0,0,0);var
b=n.parts.slice();if(u.length!=b.length&&(b=t(b).filter(function(e,i){return-1!==t.inArray(i,v)}).toArray()),u.length==b.length){p=0;for(var
g=b.length;p<g;p++){if(d=parseInt(u[p],10),f=b[p],isNaN(d))switch(f){case"MM":c=t(l[a].months).filter(function(){var
t=this.slice(0,u[p].length);return
t==u[p].slice(0,t.length)}),d=t.inArray(c[0],l[a].months)+1;break;case"M":c=t(l[a].monthsShort).filter(function(){var
t=this.slice(0,u[p].length);return
t==u[p].slice(0,t.length)}),d=t.inArray(c[0],l[a].monthsShort)+1}m[f]=d}var
w;for(p=0;p<v.length;p++)(w=v[p])in
m&&!isNaN(m[w])&&y[w](s,m[w])}return
s},formatDate:function(e,i,s){"string"==typeof
i&&(i=h.parseFormat(i));var
n={d:e.getUTCDate(),D:l[s].daysShort[e.getUTCDay()],DD:l[s].days[e.getUTCDay()],m:e.getUTCMonth()+1,M:l[s].monthsShort[e.getUTCMonth()],MM:l[s].months[e.getUTCMonth()],yy:e.getUTCFullYear().toString().substring(2),yyyy:e.getUTCFullYear()};n.dd=(n.d<10?"0":"")+n.d,n.mm=(n.m<10?"0":"")+n.m;e=[];for(var
a=t.extend([],i.separators),o=0,r=i.parts.length;o<=r;o++)a.length&&e.push(a.shift()),e.push(n[i.parts[o]]);return
e.join("")},headTemplate:'<thead><tr><th
class="prev"><i
class="icon-arrow-left"/></th><th
colspan="5"
class="datepicker-switch"></th><th
class="next"><i
class="icon-arrow-right"/></th></tr></thead>',contTemplate:'<tbody><tr><td
colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th
colspan="7"
class="today"></th></tr><tr><th
colspan="7"
class="clear"></th></tr></tfoot>'};h.template='<div
class="datepicker"><div
class="datepicker-days"><table class="
table-condensed">'+h.headTemplate+"<tbody></tbody>"+h.footTemplate+'</table></div><div
class="datepicker-months"><table
class="table-condensed">'+h.headTemplate+h.contTemplate+h.footTemplate+'</table></div><div
class="datepicker-years"><table
class="table-condensed">'+h.headTemplate+h.contTemplate+h.footTemplate+"</table></div></div>",t.fn.datepicker.DPGlobal=h,t.fn.datepicker.noConflict=function(){return
t.fn.datepicker=n,this},t(document).on("focus.datepicker.data-api
click.datepicker.data-api",'[data-provide="datepicker"]',function(e){var
i=t(this);i.data("datepicker")||(e.preventDefault(),a.call(i,"show"))}),t(function(){a.call(t('[data-provide="datepicker-inline"]'))})}(window.jQuery),function(t){"use
strict";t.fn.bdatepicker=t.fn.datepicker.noConflict(),t.fn.datepicker||(t.fn.datepicker=t.fn.bdatepicker);var
e=function(t){this.init("date",t,e.defaults),this.initPicker(t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.abstractinput),t.extend(e.prototype,{initPicker:function(e,i){this.options.viewformat||(this.options.viewformat=this.options.format),e.datepicker=t.fn.editableutils.tryParseJson(e.datepicker,!0),this.options.datepicker=t.extend({},i.datepicker,e.datepicker,{format:this.options.viewformat}),this.options.datepicker.language=this.options.datepicker.language||"en",this.dpg=t.fn.bdatepicker.DPGlobal,this.parsedFormat=this.dpg.parseFormat(this.options.format),this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat)},render:function(){this.$input.bdatepicker(this.options.datepicker),this.options.clear&&(this.$clear=t('<a
href="#"></a>').html(this.options.clear).click(t.proxy(function(t){t.preventDefault(),t.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(t('<div
class="editable-clear">').append(this.$clear)))},value2html:function(t,i){var
s=t?this.dpg.formatDate(t,this.parsedViewFormat,this.options.datepicker.language):"";e.superclass.value2html.call(this,s,i)},html2value:function(t){return
this.parseDate(t,this.parsedViewFormat)},value2str:function(t){return
t?this.dpg.formatDate(t,this.parsedFormat,this.options.datepicker.language):""},str2value:function(t){return
this.parseDate(t,this.parsedFormat)},value2submit:function(t){return
this.value2str(t)},value2input:function(t){this.$input.bdatepicker("update",t)},input2value:function(){return
this.$input.data("datepicker").date},activate:function(){},clear:function(){this.$input.data("datepicker").date=null,this.$input.find(".active").removeClass("active"),this.options.showbuttons||this.$input.closest("form").submit()},autosubmit:function(){this.$input.on("mouseup",".day",function(e){if(!t(e.currentTarget).is(".old")&&!t(e.currentTarget).is(".new")){var
i=t(this).closest("form");setTimeout(function(){i.submit()},200)}})},parseDate:function(t,e){var
i=null;return
t&&(i=this.dpg.parseDate(t,e,this.options.datepicker.language),"string"==typeof
t&&t!==this.dpg.formatDate(i,e,this.options.datepicker.language)&&(i=null)),i}}),e.defaults=t.extend({},t.fn.editabletypes.abstractinput.defaults,{tpl:'<div
class="editable-date
well"></div>',inputclass:null,format:"yyyy-mm-dd",viewformat:null,datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:!1},clear:"×
clear"}),t.fn.editabletypes.date=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("datefield",t,e.defaults),this.initPicker(t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.date),t.extend(e.prototype,{render:function(){this.$input=this.$tpl.find("input"),this.setClass(),this.setAttr("placeholder"),this.$tpl.bdatepicker(this.options.datepicker),this.$input.off("focus
keydown"),this.$input.keyup(t.proxy(function(){this.$tpl.removeData("date"),this.$tpl.bdatepicker("update")},this))},value2input:function(t){this.$input.val(t?this.dpg.formatDate(t,this.parsedViewFormat,this.options.datepicker.language):""),this.$tpl.bdatepicker("update")},input2value:function(){return
this.html2value(this.$input.val())},activate:function(){t.fn.editabletypes.text.prototype.activate.call(this)},autosubmit:function(){}}),e.defaults=t.extend({},t.fn.editabletypes.date.defaults,{tpl:'<div
class="input-append date"><input
type="text"/><span class="add-on"><i
class="icon-th"></i></span></div>',inputclass:"input-small",datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:!0}}),t.fn.editabletypes.datefield=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("datetime",t,e.defaults),this.initPicker(t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.abstractinput),t.extend(e.prototype,{initPicker:function(e,i){this.options.viewformat||(this.options.viewformat=this.options.format),e.datetimepicker=t.fn.editableutils.tryParseJson(e.datetimepicker,!0),this.options.datetimepicker=t.extend({},i.datetimepicker,e.datetimepicker,{format:this.options.viewformat}),this.options.datetimepicker.language=this.options.datetimepicker.language||"en",this.dpg=t.fn.datetimepicker.DPGlobal,this.parsedFormat=this.dpg.parseFormat(this.options.format,this.options.formatType),this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat,this.options.formatType)},render:function(){this.$input.datetimepicker(this.options.datetimepicker),this.$input.on("changeMode",function(e){var
i=t(this).closest("form").parent();setTimeout(function(){i.triggerHandler("resize")},0)}),this.options.clear&&(this.$clear=t('<a
href="#"></a>').html(this.options.clear).click(t.proxy(function(t){t.preventDefault(),t.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(t('<div
class="editable-clear">').append(this.$clear)))},value2html:function(t,i){var
s=t?this.dpg.formatDate(this.toUTC(t),this.parsedViewFormat,this.options.datetimepicker.language,this.options.formatType):"";if(!i)return
s;e.superclass.value2html.call(this,s,i)},html2value:function(t){var
e=this.parseDate(t,this.parsedViewFormat);return
e?this.fromUTC(e):null},value2str:function(t){return
t?this.dpg.formatDate(this.toUTC(t),this.parsedFormat,this.options.datetimepicker.language,this.options.formatType):""},str2value:function(t){var
e=this.parseDate(t,this.parsedFormat);return
e?this.fromUTC(e):null},value2submit:function(t){return
this.value2str(t)},value2input:function(t){t&&this.$input.data("datetimepicker").setDate(t)},input2value:function(){var
t=this.$input.data("datetimepicker");return
t.date?t.getDate():null},activate:function(){},clear:function(){this.$input.data("datetimepicker").date=null,this.$input.find(".active").removeClass("active"),this.options.showbuttons||this.$input.closest("form").submit()},autosubmit:function(){this.$input.on("mouseup",".minute",function(e){var
i=t(this).closest("form");setTimeout(function(){i.submit()},200)})},toUTC:function(t){return
t?new
Date(t.valueOf()-6e4*t.getTimezoneOffset()):t},fromUTC:function(t){return
t?new
Date(t.valueOf()+6e4*t.getTimezoneOffset()):t},parseDate:function(t,e){var
i=null;return
t&&(i=this.dpg.parseDate(t,e,this.options.datetimepicker.language,this.options.formatType),"string"==typeof
t&&t!==this.dpg.formatDate(i,e,this.options.datetimepicker.language,this.options.formatType)&&(i=null)),i}}),e.defaults=t.extend({},t.fn.editabletypes.abstractinput.defaults,{tpl:'<div
class="editable-date
well"></div>',inputclass:null,format:"yyyy-mm-dd
hh:ii",formatType:"standard",viewformat:null,datetimepicker:{todayHighlight:!1,autoclose:!1},clear:"×
clear"}),t.fn.editabletypes.datetime=e}(window.jQuery),function(t){"use
strict";var
e=function(t){this.init("datetimefield",t,e.defaults),this.initPicker(t,e.defaults)};t.fn.editableutils.inherit(e,t.fn.editabletypes.datetime),t.extend(e.prototype,{render:function(){this.$input=this.$tpl.find("input"),this.setClass(),this.setAttr("placeholder"),this.$tpl.datetimepicker(this.options.datetimepicker),this.$input.off("focus
keydown"),this.$input.keyup(t.proxy(function(){this.$tpl.removeData("date"),this.$tpl.datetimepicker("update")},this))},value2input:function(t){this.$input.val(this.value2html(t)),this.$tpl.datetimepicker("update")},input2value:function(){return
this.html2value(this.$input.val())},activate:function(){t.fn.editabletypes.text.prototype.activate.call(this)},autosubmit:function(){}}),e.defaults=t.extend({},t.fn.editabletypes.datetime.defaults,{tpl:'<div
class="input-append date"><input
type="text"/><span class="add-on"><i
class="icon-th"></i></span></div>',inputclass:"input-medium",datetimepicker:{todayHighlight:!1,autoclose:!0}}),t.fn.editabletypes.datetimefield=e}(window.jQuery);assets/js/editable/css/bootstrap-editable.css000064400000057131151171034400015324
0ustar00/*! X-editable - v1.4.6
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
* http://github.com/vitalets/x-editable
* Copyright (C) 2013 - 2015 Vitaliy Potapov; Licensed MIT */
.editableform {
margin-bottom: 0; /* overwrites bootstrap margin */
}
.editableform .control-group {
margin-bottom: 0; /* overwrites bootstrap margin */
white-space: nowrap; /* prevent wrapping buttons on new line */
line-height: 20px; /* overwriting bootstrap line-height. See #133 */
}
.editable-buttons {
display: inline-block; /* should be inline to take effect of
parent's white-space: nowrap */
vertical-align: top;
margin-left: 7px;
/* inline-block emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-buttons.editable-buttons-bottom {
display: block;
margin-top: 7px;
margin-left: 0;
}
.editable-input {
vertical-align: top;
display: inline-block; /* should be inline to take effect of
parent's white-space: nowrap */
width: auto; /* bootstrap-responsive has width: 100% that breakes
layout */
white-space: normal; /* reset white-space decalred in parent*/
/* display-inline emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-buttons .editable-cancel {
margin-left: 7px;
}
/*for jquery-ui buttons need set height to look more pretty*/
.editable-buttons button.ui-button-icon-only {
height: 24px;
width: 30px;
}
.editableform-loading {
background: url('../img/loading.gif') center center
no-repeat;
height: 25px;
width: auto;
min-width: 25px;
}
.editable-inline .editableform-loading {
background-position: left 5px;
}
.editable-error-block {
max-width: 300px;
margin: 5px 0 0 0;
width: auto;
white-space: normal;
}
/*add padding for jquery ui*/
.editable-error-block.ui-state-error {
padding: 3px;
}
.editable-error {
color: red;
}
/* ---- For specific types ---- */
.editableform .editable-date {
padding: 0;
margin: 0;
float: left;
}
/* move datepicker icon to center of add-on button. See
https://github.com/vitalets/x-editable/issues/183 */
.editable-inline .add-on .icon-th {
margin-top: 3px;
margin-left: 1px;
}
/* checklist vertical alignment */
.editable-checklist label input[type="checkbox"],
.editable-checklist label span {
vertical-align: middle;
margin: 0;
}
.editable-checklist label {
white-space: nowrap;
}
/* set exact width of textarea to fit buttons toolbar */
.editable-wysihtml5 {
width: 566px;
height: 250px;
}
/* clear button shown as link in date inputs */
.editable-clear {
clear: both;
font-size: 0.9em;
text-decoration: none;
text-align: right;
}
/* IOS-style clear button for text inputs */
.editable-clear-x {
background: url('../img/clear.png') center center no-repeat;
display: block;
width: 13px;
height: 13px;
position: absolute;
opacity: 0.6;
z-index: 100;
top: 50%;
right: 6px;
margin-top: -6px;
}
.editable-clear-x:hover {
opacity: 1;
}
.editable-pre-wrapped {
}
.editable-container.editable-popup {
max-width: none !important; /* without this rule poshytip/tooltip does
not stretch */
}
.editable-container.popover {
width: auto; /* without this rule popover does not stretch */
}
.editable-container.editable-inline {
display: inline-block;
vertical-align: middle;
width: auto;
/* inline-block emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-container.ui-widget {
font-size: inherit; /* jqueryui widget font 1.1em too big, overwrite it
*/
z-index: 9990; /* should be less than select2 dropdown z-index to close
dropdown first when click */
}
.editable-click,
a.editable-click,
a.editable-click:hover {
text-decoration: none;
}
.editable-click.editable-disabled,
a.editable-click.editable-disabled,
a.editable-click.editable-disabled:hover {
color: #585858;
cursor: default;
border-bottom: none;
}
.editable-empty, .editable-empty:hover, .editable-empty:focus{
font-style: italic;
color: #DD1144;
/* border-bottom: none; */
text-decoration: none;
}
.editable-unsaved {
}
.editable-unsaved:after {
/* content: '*'*/
}
.editable-bg-transition {
-webkit-transition: background-color 1400ms ease-out;
-moz-transition: background-color 1400ms ease-out;
-o-transition: background-color 1400ms ease-out;
-ms-transition: background-color 1400ms ease-out;
transition: background-color 1400ms ease-out;
}
/*see https://github.com/vitalets/x-editable/issues/139 */
.form-horizontal .editable
{
padding-top: 5px;
display:inline-block;
}
/*!
* Datepicker for Bootstrap
*
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/
.datepicker {
padding: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
direction: ltr;
/*.dow {
border-top: 1px solid #ddd !important;
}*/
}
.datepicker-inline {
width: 220px;
}
.datepicker.datepicker-rtl {
direction: rtl;
}
.datepicker.datepicker-rtl table tr td span {
float: right;
}
.datepicker-dropdown {
top: 0;
left: 0;
}
.datepicker-dropdown:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
top: -7px;
left: 6px;
}
.datepicker-dropdown:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #ffffff;
position: absolute;
top: -6px;
left: 7px;
}
.datepicker > div {
display: none;
}
.datepicker.days div.datepicker-days {
display: block;
}
.datepicker.months div.datepicker-months {
display: block;
}
.datepicker.years div.datepicker-years {
display: block;
}
.datepicker table {
margin: 0;
}
.datepicker td,
.datepicker th {
text-align: center;
width: 20px;
height: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
background-color: transparent;
}
.datepicker table tr td.day:hover {
background: #eeeeee;
cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
color: #999999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
background-color: #fde19a;
background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a),
to(#fdf59a));
background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
background-image: linear-gradient(top, #fdd49a, #fdf59a);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',
endColorstr='#fdf59a', GradientType=0);
border-color: #fdf59a #fdf59a #fbed50;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #000;
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
background-color: #fdf59a;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
background-color: #fbf069 \9;
}
.datepicker table tr td.today:hover:hover {
color: #000;
}
.datepicker table tr td.today.active:hover {
color: #fff;
}
.datepicker table tr td.range,
.datepicker table tr td.range:hover,
.datepicker table tr td.range.disabled,
.datepicker table tr td.range.disabled:hover {
background: #eeeeee;
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today,
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today.disabled:hover {
background-color: #f3d17a;
background-image: -moz-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -ms-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f3c17a),
to(#f3e97a));
background-image: -webkit-linear-gradient(top, #f3c17a, #f3e97a);
background-image: -o-linear-gradient(top, #f3c17a, #f3e97a);
background-image: linear-gradient(top, #f3c17a, #f3e97a);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3c17a',
endColorstr='#f3e97a', GradientType=0);
border-color: #f3e97a #f3e97a #edde34;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
-webkit-border-radius: 0;
-moz-border-radius: 0;
border-radius: 0;
}
.datepicker table tr td.range.today:hover,
.datepicker table tr td.range.today:hover:hover,
.datepicker table tr td.range.today.disabled:hover,
.datepicker table tr td.range.today.disabled:hover:hover,
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active,
.datepicker table tr td.range.today.disabled,
.datepicker table tr td.range.today:hover.disabled,
.datepicker table tr td.range.today.disabled.disabled,
.datepicker table tr td.range.today.disabled:hover.disabled,
.datepicker table tr td.range.today[disabled],
.datepicker table tr td.range.today:hover[disabled],
.datepicker table tr td.range.today.disabled[disabled],
.datepicker table tr td.range.today.disabled:hover[disabled] {
background-color: #f3e97a;
}
.datepicker table tr td.range.today:active,
.datepicker table tr td.range.today:hover:active,
.datepicker table tr td.range.today.disabled:active,
.datepicker table tr td.range.today.disabled:hover:active,
.datepicker table tr td.range.today.active,
.datepicker table tr td.range.today:hover.active,
.datepicker table tr td.range.today.disabled.active,
.datepicker table tr td.range.today.disabled:hover.active {
background-color: #efe24b \9;
}
.datepicker table tr td.selected,
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected.disabled:hover {
background-color: #9e9e9e;
background-image: -moz-linear-gradient(top, #b3b3b3, #808080);
background-image: -ms-linear-gradient(top, #b3b3b3, #808080);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#b3b3b3),
to(#808080));
background-image: -webkit-linear-gradient(top, #b3b3b3, #808080);
background-image: -o-linear-gradient(top, #b3b3b3, #808080);
background-image: linear-gradient(top, #b3b3b3, #808080);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#b3b3b3',
endColorstr='#808080', GradientType=0);
border-color: #808080 #808080 #595959;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.selected:hover,
.datepicker table tr td.selected:hover:hover,
.datepicker table tr td.selected.disabled:hover,
.datepicker table tr td.selected.disabled:hover:hover,
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active,
.datepicker table tr td.selected.disabled,
.datepicker table tr td.selected:hover.disabled,
.datepicker table tr td.selected.disabled.disabled,
.datepicker table tr td.selected.disabled:hover.disabled,
.datepicker table tr td.selected[disabled],
.datepicker table tr td.selected:hover[disabled],
.datepicker table tr td.selected.disabled[disabled],
.datepicker table tr td.selected.disabled:hover[disabled] {
background-color: #808080;
}
.datepicker table tr td.selected:active,
.datepicker table tr td.selected:hover:active,
.datepicker table tr td.selected.disabled:active,
.datepicker table tr td.selected.disabled:hover:active,
.datepicker table tr td.selected.active,
.datepicker table tr td.selected:hover.active,
.datepicker table tr td.selected.disabled.active,
.datepicker table tr td.selected.disabled:hover.active {
background-color: #666666 \9;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc),
to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',
endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.datepicker table tr td span:hover {
background: #eeeeee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc),
to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter:
progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',
endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span.old,
.datepicker table tr td span.new {
color: #999999;
}
.datepicker th.datepicker-switch {
width: 145px;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr th {
cursor: pointer;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr th:hover {
background: #eeeeee;
}
.datepicker .cw {
font-size: 10px;
width: 12px;
padding: 0 2px 0 5px;
vertical-align: middle;
}
.datepicker thead tr:first-child th.cw {
cursor: default;
background-color: transparent;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
display: block;
cursor: pointer;
width: 16px;
height: 16px;
}
.input-daterange input {
text-align: center;
}
.input-daterange input:first-child {
-webkit-border-radius: 3px 0 0 3px;
-moz-border-radius: 3px 0 0 3px;
border-radius: 3px 0 0 3px;
}
.input-daterange input:last-child {
-webkit-border-radius: 0 3px 3px 0;
-moz-border-radius: 0 3px 3px 0;
border-radius: 0 3px 3px 0;
}
.input-daterange .add-on {
display: inline-block;
width: auto;
min-width: 16px;
height: 18px;
padding: 4px 5px;
font-weight: normal;
line-height: 18px;
text-align: center;
text-shadow: 0 1px 0 #ffffff;
vertical-align: middle;
background-color: #eeeeee;
border: 1px solid #ccc;
margin-left: -5px;
margin-right: -5px;
}
.popover {
position: absolute;
top: 0;
left: 0;
z-index: 1010;
display: none;
max-width: 276px;
padding: 1px;
text-align: left;
background-color: #fff;
-webkit-background-clip: padding-box;
-moz-background-clip: padding;
background-clip: padding-box;
border: 1px solid #ccc;
border: 1px solid rgba(0,0,0,0.2);
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border-radius: 6px;
-webkit-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
-moz-box-shadow: 0 5px 10px rgba(0,0,0,0.2);
box-shadow: 0 5px 10px rgba(0,0,0,0.2);
white-space: normal;
}
.popover.top {
margin-top: -10px;
}
.popover.right {
margin-left: 10px;
}
.popover.bottom {
margin-top: 10px;
}
.popover.left {
margin-left: -10px;
}
.popover-title {
margin: 0;
padding: 8px 14px;
font-size: 14px;
font-weight: normal;
line-height: 18px;
background-color: #f7f7f7;
border-bottom: 1px solid #ebebeb;
-webkit-border-radius: 5px 5px 0 0;
-moz-border-radius: 5px 5px 0 0;
border-radius: 5px 5px 0 0;
}
.popover-title:empty {
display: none;
}
.popover-content {
padding: 9px 14px;
}
.popover .arrow,
.popover .arrow:after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.popover .arrow {
border-width: 11px;
}
.popover .arrow:after {
border-width: 10px;
content: "";
}
.popover.top .arrow {
left: 50%;
margin-left: -11px;
border-bottom-width: 0;
border-top-color: #999;
border-top-color: rgba(0,0,0,0.25);
bottom: -11px;
}
.popover.top .arrow:after {
bottom: 1px;
margin-left: -10px;
border-bottom-width: 0;
border-top-color: #fff;
}
.popover.right .arrow {
top: 50%;
left: -11px;
margin-top: -11px;
border-left-width: 0;
border-right-color: #999;
border-right-color: rgba(0,0,0,0.25);
}
.popover.right .arrow:after {
left: 1px;
bottom: -10px;
border-left-width: 0;
border-right-color: #fff;
}
.popover.bottom .arrow {
left: 50%;
margin-left: -11px;
border-top-width: 0;
border-bottom-color: #999;
border-bottom-color: rgba(0,0,0,0.25);
top: -11px;
}
.popover.bottom .arrow:after {
top: 1px;
margin-left: -10px;
border-top-width: 0;
border-bottom-color: #fff;
}
.popover.left .arrow {
top: 50%;
right: -11px;
margin-top: -11px;
border-right-width: 0;
border-left-color: #999;
border-left-color: rgba(0,0,0,0.25);
}
.popover.left .arrow:after {
right: 1px;
border-right-width: 0;
border-left-color: #fff;
bottom: -10px;
}
assets/js/editable/img/loading.gif000064400000003471151171034400013114
0ustar00GIF89a����������FFFzzzXXX$$$���������666hhh!�NETSCAPE2.0!�Created
with ajaxload.info!�
,w !�DB�A��H���¬��a��D���@
^�A�X��P�@�"U���Q# ��B�\;���1�o�:2$v@
$|,3
�_#
d�53�"s5e!!�
,v i@e9�DA�A�����/�`ph$�Ca%@
���pH���x�F��uS��x#�
�.�݄�Yf�L_"
p
3B�W��]|L
\6�{|z�8�7[7!!�
,x
�e9�DE"������2r,��qP���j��`�8��@8bH,
*��0-�
�mFW��9�LP�E3+
(�B"
f�{�*BW_/�
@_$��~Kr�7Ar7!!�
,v
�4e9��!H�"�*��Q�/@���-�4�ép4�R+��-��p�ȧ`�P(�6��U/�
*,�)(+/]"lO�/�*Ak���K���]A~66�6!!�
,l
ie9�"���*���-�80H���=N;���T�E�����q��e��UoK2_WZ�V��1jgWe@tuH//w`?��f~#���6��#!!�
,~ �,e9��"���*
�;pR�%��#0��`�
�'�c�(��J@@���/1�i4��`�V��B�V
u}�"caNi/]))�-Lel mi}
me[+!!�
,y
Ie9��"M�6�*¨"7E͖��@G((L&�pqj@Z�����
��%@�w�Z) �pl(
���ԭ�q�u*R&c `))(s_J��>_\'Gm7�$+!!�
,w Ie9�*,� (�*�(�B5[1�
�Z��Iah!G��exz��J0�e�6��@V|U��4��Dm��%$͛�p
\Gx
}@+|=+
1�- Ea5l)+!!�
,y
)�䨞'A�K����ڍ,�����E\(l���&;5
��5D���0��3�a�0-���-�����ÃpH4V %
i
p[R"| ��#
� 6iZwcw*!!�
,y
)�䨞,K�*�����0�a�;аY8�b`4�n�¨Bb�b�x�,������������( Ƚ�
%
>
2*�i* /:�+$v*!!�
,u )�䨞l[�$�
�Jq[��q3�`Q[�5��:���IX!0�rAD8Cv����HPfi��iQ���AP@pC
%D
PQ46�
iciNj0w
�)#!!�
,y )��.q��
,G�Jr(�J�8�C��*���B�,����&<
�����h�W~-��`�, ����,�>;
8RN<,�<1T]
�c��'
qk$
@)#!;assets/js/editable/js/bootstrap-editable.js000064400000173766151171034400015011
0ustar00/*! Bootstrap Editable - v1.1.4
* In-place editing with Bootstrap Form and Popover
* https://github.com/vitalets/bootstrap-editable
* Copyright (c) 2012 Vitaliy Potapov; Licensed MIT, GPL */
(function ($) {
//Editable object
var Editable = function (element, options) {
var type, typeDefaults, doAutotext = false, valueSetByText =
false;
this.$element = $(element);
//if exists 'placement' or 'title' options,
copy them to data attributes to aplly for popover
if (options && options.placement &&
!this.$element.data('placement')) {
this.$element.attr('data-placement',
options.placement);
}
if (options && options.title &&
!this.$element.data('original-title')) {
this.$element.attr('data-original-title',
options.title);
}
//detect type
type = (this.$element.data().type || (options &&
options.type) || $.fn.editable.defaults.type);
typeDefaults = ($.fn.editable.types[type]) ?
$.fn.editable.types[type] : {};
//apply options
this.settings = $.extend({}, $.fn.editable.defaults,
$.fn.editable.types.defaults, typeDefaults, options,
this.$element.data());
//apply type's specific init()
this.settings.init.call(this, options);
//store name
this.name = this.settings.name ||
this.$element.attr('id');
if (!this.name) {
$.error('You should define name (or id) for Editable
element');
}
//if validate is map take only needed function
if (typeof this.settings.validate === 'object' &&
this.name in this.settings.validate) {
this.settings.validate = this.settings.validate[this.name];
}
//set value from settings or by element text
if (this.settings.value === undefined || this.settings.value ===
null) {
this.settings.setValueByText.call(this);
valueSetByText = true;
} else {
this.value = this.settings.value;
valueSetByText = false;
}
//also storing last saved value (initially equals to value)
this.lastSavedValue = this.value;
//set toggle element
if (this.settings.toggle) {
this.$toggle = $(this.settings.toggle);
//insert in DOM if needed
if (!this.$toggle.parent().length) {
this.$element.after(this.$toggle);
}
//prevent tabstop on element
this.$element.attr('tabindex', -1);
} else {
this.$toggle = this.$element;
//add editable class
this.$element.addClass('editable');
}
//bind click event on toggle
this.$toggle.on('click', $.proxy(this.click, this));
//blocking click event when going from inside popover. all other
clicks will close it
$('body').on('click.editable',
'.editable-popover', function (e) { e.stopPropagation(); });
//autotext
if(!valueSetByText && this.value !== null &&
this.value !== undefined) {
switch(this.settings.autotext) {
case 'always':
doAutotext = true;
break;
case 'never':
doAutotext = false;
break;
case 'auto':
if(this.$element.html().length) {
doAutotext = false;
} else {
//for SELECT do not use autotext when source is url and
autotext = 'auto' (to prevent extra request)
if (type === 'select') {
this.settings.source =
tryParseJson(this.settings.source, true);
if (this.settings.source && typeof
this.settings.source === 'object') {
doAutotext = true;
}
} else {
doAutotext = true;
}
}
break;
}
}
function finalize() {
//show emptytext if visible text is empty
this.handleEmpty();
//trigger 'init' event: DEPRECATED
this.$element.trigger('init', this);
//trigger 'render' event with property isInit = true
var event = jQuery.Event("render");
event.isInit = true;
this.$element.trigger(event, this);
}
if(doAutotext) {
$.when(this.settings.setTextByValue.call(this)).then($.proxy(finalize,
this));
} else {
finalize.call(this);
}
};
Editable.prototype = {
constructor: Editable,
click: function (e) {
e.stopPropagation();
e.preventDefault();
var popover = this.$element.data('popover');
if (popover && popover.tip().is(':visible'))
{
this.hide();
} else {
this.show();
}
},
show: function () {
//hide all other popovers if shown
$('.popover').find('form').find('button.editable-cancel').click();
//for the first time create popover
if (!this.$element.data('popover')) {
this.$element.popover({
trigger :'manual',
placement:'top',
content :this.settings.loading
});
this.$element.data('popover').tip().addClass('editable-popover');
}
//show popover
this.$element.popover('show');
//movepopover to correct position. Refers to bug in bootstrap
2.1.x with popover positioning
this.setPosition();
this.$element.addClass('editable-open');
this.errorOnRender = false;
//use deffered approach to load data asynchroniously
$.when(this.settings.renderInput.call(this))
.then($.proxy(function () {
var $tip = this.$element.data('popover').tip();
//render content & input
this.$content = $(this.settings.formTemplate);
this.$content.find('div.control-group').prepend(this.$input);
//invoke form into popover content
$tip.find('.popover-content
p').append(this.$content);
//set position once more. It is required to pre-move
popover when it is close to screen edge.
this.setPosition();
//check for error during render input
if (this.errorOnRender) {
this.$input.attr('disabled', true);
$tip.find('button.btn-primary').attr('disabled',
true);
$tip.find('form').submit(function () {
return false;
});
//show error
this.enableContent(this.errorOnRender);
} else {
this.$input.removeAttr('disabled');
$tip.find('button.btn-primary').removeAttr('disabled');
//bind form submit
$tip.find('form').submit($.proxy(this.submit,
this));
//show input (and hide loading)
this.enableContent();
//set input value
this.settings.setInputValue.call(this);
}
//bind popover hide on button
$tip.find('button.editable-cancel').click($.proxy(this.hide,
this));
//bind popover hide on escape
$(document).on('keyup.editable', $.proxy(function
(e) {
if (e.which === 27) {
e.stopPropagation();
this.hide();
}
}, this));
//hide popover on external click
$(document).on('click.editable',
$.proxy(this.hide, this));
//trigger 'shown' event
this.$element.trigger('shown', this);
}, this));
},
submit: function (e) {
e.stopPropagation();
e.preventDefault();
var error,
value = this.settings.getInputValue.call(this);
//validation
if (error = this.validate(value)) {
this.enableContent(error);
return;
}
/*jslint eqeqeq: false*/
if (value == this.value) {
/*jslint eqeqeq: true*/
//if value not changed --> do nothing, simply hide
popover
this.hide();
} else {
//saving new value
this.save(value);
}
},
save: function(value) {
$.when(this.send(value))
.done($.proxy(function (data) {
var error, isAjax = (typeof data !==
'undefined');
//check and run custom success handler
if (isAjax && typeof this.settings.success ===
'function' && (error = this.settings.success.apply(this,
arguments))) {
//show form with error message
this.enableContent(error);
return;
}
//set new value and text
this.value = value;
this.settings.setTextByValue.call(this);
//to show that value modified but not saved
if (isAjax) {
this.markAsSaved();
} else {
this.markAsUnsaved();
}
this.handleEmpty();
this.hide();
//trigger 'update' event. DEPRECATED! Use
'render' instead.
this.$element.trigger('update', this);
//trigger 'render' event with property isInit =
false
var event = jQuery.Event("render");
event.isInit = false;
this.$element.trigger(event, this);
}, this))
.fail($.proxy(function(xhr) {
var msg = (typeof this.settings.error ===
'function') ? this.settings.error.apply(this, arguments) : null;
this.enableContent(msg || xhr.responseText ||
xhr.statusText);
}, this));
},
send: function(value) {
var send, pk, params;
//getting primary key
if (typeof this.settings.pk === 'function') {
pk = this.settings.pk.call(this.$element);
} else if (typeof this.settings.pk === 'string'
&& $(this.settings.pk).length === 1 &&
$(this.settings.pk).parent().length) { //pk is ID of existing element
pk = $(this.settings.pk).text();
} else {
pk = this.settings.pk;
}
send = (this.settings.url !== undefined) &&
((this.settings.send === 'always') || (this.settings.send ===
'auto' && pk) || (this.settings.send === 'ifpk'
/* deprecated */ && pk));
if (send) { //send to server
//hide form, show loading
this.enableLoading();
//try parse json in single quotes
this.settings.params = tryParseJson(this.settings.params,
true);
//creating params
params = (typeof this.settings.params ===
'string') ? {params:this.settings.params} : $.extend({},
this.settings.params);
params.name = this.name;
params.value = value;
if (pk) {
params.pk = pk;
}
//send ajax to server and return deferred object
return $.ajax({
url : (typeof this.settings.url ===
'function') ? this.settings.url.call(this) : this.settings.url,
data : params,
type : 'post',
dataType: 'json'
});
}
},
hide: function () {
this.$element.popover('hide');
this.$element.removeClass('editable-open');
$(document).off('keyup.editable');
$(document).off('click.editable');
//returning focus on toggle element
if (this.settings.enablefocus || this.$element.get(0) !==
this.$toggle.get(0)) {
this.$toggle.focus();
}
//trigger 'hidden' event
this.$element.trigger('hidden', this);
},
/**
* show input inside popover
*/
enableContent:function (error) {
if (error !== undefined && error.length > 0) {
this.$content.find('div.control-group').addClass('error').find('span.help-block').text(error);
} else {
this.$content.find('div.control-group').removeClass('error').find('span.help-block').text('');
}
this.$content.show();
//hide loading
this.$element.data('popover').tip().find('.editable-loading').hide();
//move popover to final correct position
this.setPosition();
//TODO: find elegant way to exclude hardcode of types here
if (this.settings.type === 'text' ||
this.settings.type === 'textarea') {
this.$input.focus();
}
},
/**
* move popover to new position. This function mainly copied from
bootstrap-popover.
*/
setPosition: function () {
var p = this.$element.data('popover'), $tip =
p.tip(), inside = false, placement, pos, actualWidth, actualHeight, tp;
placement = typeof p.options.placement === 'function'
? p.options.placement.call(p, $tip[0], p.$element[0]) :
p.options.placement;
pos = p.getPosition(inside);
actualWidth = $tip[0].offsetWidth;
actualHeight = $tip[0].offsetHeight;
switch (inside ? placement.split(' ')[1] : placement)
{
case 'bottom':
tp = {top:pos.top + pos.height, left:pos.left +
pos.width / 2 - actualWidth / 2};
break;
case 'top':
/* For Bootstrap 2.1.x: 10 pixels needed to correct
popover position. See https://github.com/twitter/bootstrap/issues/4665 */
if($tip.find('.arrow').get(0).offsetHeight
=== 10) {actualHeight += 10;}
tp = {top:pos.top - actualHeight, left:pos.left +
pos.width / 2 - actualWidth / 2};
break;
case 'left':
/* For Bootstrap 2.1.x: 10 pixels needed to correct
popover position. See https://github.com/twitter/bootstrap/issues/4665 */
if($tip.find('.arrow').get(0).offsetWidth ===
10) {actualWidth += 10;}
tp = {top:pos.top + pos.height / 2 - actualHeight / 2,
left:pos.left - actualWidth};
break;
case 'right':
tp = {top:pos.top + pos.height / 2 - actualHeight / 2,
left:pos.left + pos.width};
break;
}
$tip.css(tp).addClass(placement).addClass('in');
},
/**
* show loader inside popover
*/
enableLoading:function () {
//enlage loading to whole area of popover
var $tip = this.$element.data('popover').$tip;
$tip.find('.editable-loading').css({height:this.$content[0].offsetHeight,
width:this.$content[0].offsetWidth});
this.$content.hide();
this.$element.data('popover').tip().find('.editable-loading').show();
},
handleEmpty:function () {
//don't have editalbe class --> it's not link
--> toggled by another element --> no need to set emptytext
if (!this.$element.hasClass('editable')) {
return;
}
if ($.trim(this.$element.text()) === '') {
this.$element.addClass('editable-empty').text(this.settings.emptytext);
} else {
this.$element.removeClass('editable-empty');
}
},
validate:function (value) {
if (value === undefined) {
value = this.value;
}
if (typeof this.settings.validate === 'function') {
return this.settings.validate.call(this, value);
}
},
markAsUnsaved:function () {
if (this.value !== this.lastSavedValue) {
this.$element.addClass('editable-changed');
} else {
this.$element.removeClass('editable-changed');
}
},
markAsSaved:function () {
this.lastSavedValue = this.value;
this.$element.removeClass('editable-changed');
}
};
/* EDITABLE PLUGIN DEFINITION
* ======================= */
$.fn.editable = function (option) {
//special methods returning non-jquery object
var result = {}, args = arguments;
switch (option) {
case 'validate':
this.each(function () {
var $this = $(this), data =
$this.data('editable'), error;
if (data && (error = data.validate())) {
result[data.name] = error;
}
});
return result;
case 'getValue':
this.each(function () {
var $this = $(this), data =
$this.data('editable');
if (data && data.value !== undefined &&
data.value !== null) {
result[data.name] = data.value;
}
});
return result;
case 'submit': //collects value, validate and submit
to server for creating new record
var config = arguments[1] || {},
$elems = this,
errors = this.editable('validate'),
values;
if(typeof config.error !== 'function') {
config.error = function() {};
}
if($.isEmptyObject(errors)) {
values = this.editable('getValue');
if(config.data) {
$.extend(values, config.data);
}
$.ajax({
type: 'POST',
url: config.url,
data: values,
dataType: 'json'
}).success(function(response) {
if(typeof response === 'object'
&& response.id) {
$elems.editable('option',
'pk', response.id);
$elems.editable('markAsSaved');
if(typeof config.success ===
'function') {
config.success.apply($elems, arguments);
}
} else { //server-side validation error
config.error.apply($elems, arguments);
}
}).error(function(){ //ajax error
config.error.apply($elems, arguments);
});
} else { //client-side validation error
config.error.call($elems, {errors: errors});
}
return this;
}
//return jquery object
return this.each(function () {
var $this = $(this), data = $this.data('editable'),
options = typeof option === 'object' && option;
if (!data) {
$this.data('editable', (data = new Editable(this,
options)));
}
if(option === 'option') {
if(args.length === 2 && typeof args[1] ===
'object') {
$.extend(data.settings, args[1]); //set options by
object
} else if(args.length === 3 && typeof args[1] ===
'string') {
data.settings[args[1]] = args[2]; //set one option
}
} else if (typeof option === 'string') {
data[option]();
}
});
};
$.fn.editable.Constructor = Editable;
//default settings
$.fn.editable.defaults = {
url:null, //url for submit
type:'text', //input type
name:null, //field name
pk:null, //primary key or record
value:null, //real value, not shown. Especially usefull for select
emptytext:'Empty', //text shown on empty element
params:null, //additional params to submit
send:'auto', // strategy for sending data on server:
'always', 'never', 'auto' (default).
'auto' = 'ifpk' (deprecated)
autotext:'auto', //can be auto|never|always. Useful for
select element: if 'auto' -> element text will be
automatically set by provided value and source (in case source is object so
no extra request will be performed).
enablefocus:false, //wether to return focus on link after popover
is closed. It's more functional, but focused links may look not
pretty
formTemplate:'<form class="form-inline"
autocomplete="off">' +
'<div
class="control-group">' +
' <button type="submit"
class="btn btn-primary"><i class="icon-ok
icon-white"></i></button> <button
type="button" class="btn editable-cancel"><i
class="icon-ban-circle"></i></button>' +
'<span class="help-block"
style="clear: both"></span>' +
'</div>' +
'</form>',
loading:'<div
class="editable-loading"></div>',
validate:function (value) {
}, //client-side validation. If returns msg - data will not be
sent
success:function (data) {
}, //after send callback
error:function (xhr) {
} //error wnen submitting data
};
//input types
$.fn.editable.types = {
//for all types
defaults:{
inputclass:'span2',
placeholder:null,
init:function (options) {},
// this function called every time popover shown. Should set
value of this.$input
renderInput:function () {
this.$input = $(this.settings.template);
this.$input.addClass(this.settings.inputclass);
if (this.settings.placeholder) {
this.$input.attr('placeholder',
this.settings.placeholder);
}
},
setInputValue:function () {
this.$input.val(this.value);
this.$input.focus();
},
//getter for value from input
getInputValue:function () {
return this.$input.val();
},
//setting text of element (init)
setTextByValue:function () {
this.$element.text(this.value);
},
//setting value by element text (init)
setValueByText:function () {
this.value = $.trim(this.$element.text());
}
},
//text
text:{
template:'<input type="text">',
setInputValue:function () {
this.$input.val(this.value);
setCursorPosition.call(this.$input,
this.$input.val().length);
this.$input.focus();
}
},
//select
select:{
template:'<select></select>',
source:null,
prepend:false,
onSourceReady:function (success, error) {
// try parse json in single quotes (for double quotes
jquery does automatically)
try {
this.settings.source =
tryParseJson(this.settings.source, false);
} catch (e) {
error.call(this);
return;
}
if (typeof this.settings.source === 'string') {
var cacheID = this.settings.source + '-' +
this.name, cache;
if (!$(document).data(cacheID)) {
$(document).data(cacheID, {});
}
cache = $(document).data(cacheID);
//check for cached data
if (cache.loading === false && cache.source
&& typeof cache.source === 'object') { //take source from
cache
this.settings.source = cache.source;
success.call(this);
return;
} else if (cache.loading === true) { //cache is
loading, put callback in stack to be called later
cache.callbacks.push($.proxy(function () {
this.settings.source = cache.source;
success.call(this);
}, this));
//also collecting error callbacks
cache.err_callbacks.push($.proxy(error, this));
return;
} else { //no cache yet, activate it
cache.loading = true;
cache.callbacks = [];
cache.err_callbacks = [];
}
//options loading from server
$.ajax({
url:this.settings.source,
type:'get',
data:{name:this.name},
dataType:'json',
success:$.proxy(function (data) {
this.settings.source =
this.settings.doPrepend.call(this, data);
cache.loading = false;
cache.source = this.settings.source;
success.call(this);
$.each(cache.callbacks, function () {
this.call();
}); //run callbacks for other fields
}, this),
error:$.proxy(function () {
cache.loading = false;
error.call(this);
$.each(cache.err_callbacks, function () {
this.call();
}); //run callbacks for other fields
}, this)
});
} else { //options as json/array
//convert regular array to object
if ($.isArray(this.settings.source)) {
var arr = this.settings.source, obj = {};
for (var i = 0; i < arr.length; i++) {
if (arr[i] !== undefined) {
obj[i] = arr[i];
}
}
this.settings.source = obj;
}
this.settings.source =
this.settings.doPrepend.call(this, this.settings.source);
success.call(this);
}
},
doPrepend:function (data) {
this.settings.prepend = tryParseJson(this.settings.prepend,
true);
if (typeof this.settings.prepend === 'string') {
return $.extend({},
{'':this.settings.prepend}, data);
} else if (typeof this.settings.prepend ===
'object') {
return $.extend({}, this.settings.prepend, data);
} else {
return data;
}
},
renderInput:function () {
var deferred = $.Deferred();
this.$input = $(this.settings.template);
this.$input.addClass(this.settings.inputclass);
this.settings.onSourceReady.call(this, function () {
if (typeof this.settings.source ===
'object' && this.settings.source != null) {
$.each(this.settings.source, $.proxy(function
(key, value) {
this.$input.append($('<option>', { value:key
}).text(value));
}, this));
}
deferred.resolve();
}, function () {
this.errorOnRender = 'Error when loading
options';
deferred.resolve();
});
return deferred.promise();
},
setValueByText:function () {
this.value = null; //it's not good to set value by
select text. better set NULL
},
setTextByValue:function () {
var deferred = $.Deferred();
this.settings.onSourceReady.call(this, function () {
if (typeof this.settings.source ===
'object' && this.value in this.settings.source) {
this.$element.text(this.settings.source[this.value]);
} else {
//set empty string when key not found in
source
this.$element.text('');
}
deferred.resolve();
}, function () {
this.$element.text('Error!');
deferred.resolve();
});
return deferred.promise();
}
},
//textarea
textarea:{
template:'<textarea
rows="8"></textarea>',
inputclass:'span3',
renderInput:function () {
this.$input = $(this.settings.template);
this.$input.addClass(this.settings.inputclass);
if (this.settings.placeholder) {
this.$input.attr('placeholder',
this.settings.placeholder);
}
//ctrl + enter
this.$input.keydown(function (e) {
if (e.ctrlKey && e.which === 13) {
$(this).closest('form').submit();
}
});
},
setInputValue:function () {
this.$input.val(this.value);
setCursorPosition.apply(this.$input,
[this.$input.val().length]);
this.$input.focus();
},
setValueByText:function () {
var lines =
this.$element.html().split(/<br\s*\/?>/i);
for (var i = 0; i < lines.length; i++) {
lines[i] =
$('<div>').html(lines[i]).text();
}
this.value = lines.join("\n");
},
setTextByValue:function () {
var lines = this.value.split("\n");
for (var i = 0; i < lines.length; i++) {
lines[i] =
$('<div>').text(lines[i]).html();
}
var text = lines.join('<br>');
this.$element.html(text);
}
},
/*
date
based on fork: https://github.com/vitalets/bootstrap-datepicker
*/
date:{
template:'<div style="float: left; padding: 0;
margin: 0" class="well"></div>',
format:'yyyy-mm-dd', //format used for datepicker and
sending to server
viewformat: null, //used only for showing date
datepicker:{
autoclose:false,
keyboardNavigation:false
},
init:function (options) {
//set popular options directly from settings or data-*
attributes
var directOptions = mergeKeys({}, this.settings,
['format', 'weekStart', 'startView']);
//overriding datepicker config (as by default jQuery merge
is not recursive)
this.settings.datepicker = $.extend({},
$.fn.editable.types.date.datepicker, directOptions, options.datepicker);
//by default viewformat equals to format
if(!this.settings.viewformat) {
this.settings.viewformat =
this.settings.datepicker.format;
}
},
renderInput:function () {
this.$input = $(this.settings.template);
this.$input.datepicker(this.settings.datepicker);
},
setInputValue:function () {
this.$input.datepicker('update', this.value);
},
getInputValue:function () {
var dp = this.$input.data('datepicker');
return dp.getFormattedDate();
},
setTextByValue:function () {
var text = this.settings.converFormat.call(this,
this.value, this.settings.format, this.settings.viewformat);
this.$element.text(text);
},
setValueByText:function () {
var text = $.trim(this.$element.text());
if(!text.length) {
return;
}
this.value = this.settings.converFormat.call(this, text,
this.settings.viewformat, this.settings.format);
},
//helper function to convert date between two formats
converFormat: function(dateStr, formatFrom, formatTo) {
if(formatFrom === formatTo) {
return dateStr;
}
var dpg = $.fn.datepicker.DPGlobal,
dateObj,
lang = (this.settings.datepicker &&
this.settings.datepicker.language) || 'en';
formatFrom = dpg.parseFormat(formatFrom);
formatTo = dpg.parseFormat(formatTo);
dateObj = dpg.parseDate($.trim(dateStr), formatFrom,
lang);
return dpg.formatDate(dateObj, formatTo, lang);
}
}
};
/*
* ========================== FUNCTIONS ========================
*/
/**
* set caret position in input
* see
http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area
*/
function setCursorPosition(pos) {
this.each(function (index, elem) {
if (elem.setSelectionRange) {
elem.setSelectionRange(pos, pos);
} else if (elem.createTextRange) {
var range = elem.createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
});
return this;
}
/**
* function to parse JSON in *single* quotes. (jquery automatically
parse only double quotes)
* That allows such code as: <a data-source="{'a':
'b', 'c': 'd'}">
* safe = true --> means no exception will be thrown
* for details see
http://stackoverflow.com/questions/7410348/how-to-set-json-format-to-html5-data-attributes-in-the-jquery
*/
function tryParseJson(s, safe) {
if (typeof s === 'string' && s.length &&
s.match(/^\{.*\}$/)) {
if (safe) {
try {
/*jslint evil: true*/
s = (new Function('return ' + s))();
/*jslint evil: false*/
} catch (e) {} finally {
return s;
}
} else {
/*jslint evil: true*/
s = (new Function('return ' + s))();
/*jslint evil: false*/
}
}
return s;
}
/**
* function merges only specified keys
*/
function mergeKeys(objTo, objFrom, keys) {
var key, keyLower;
if (!$.isArray(keys)) {
return objTo;
}
for (var i = 0; i < keys.length; i++) {
key = keys[i];
if (key in objFrom) {
objTo[key] = objFrom[key];
continue;
}
//note, that when getting data-* attributes via $.data()
it's converted it to lowercase.
//details:
http://stackoverflow.com/questions/7602565/using-data-attributes-with-jquery
//workaround is code below.
keyLower = key.toLowerCase();
if (keyLower in objFrom) {
objTo[key] = objFrom[keyLower];
}
}
return objTo;
}
}(window.jQuery));
!function( $ ) {
function UTCDate(){
return new Date(Date.UTC.apply(Date, arguments));
}
// Picker object
var Datepicker = function(element, options) {
var that = this;
this.element = $(element);
this.language =
options.language||this.element.data('date-language')||"en";
this.language = this.language in dates ? this.language : "en";
this.format =
DPGlobal.parseFormat(options.format||this.element.data('date-format')||'mm/dd/yyyy');
this.isInline = false;
this.isInput = this.element.is('input');
this.component = this.element.is('.date') ?
this.element.find('.add-on') : false;
this.hasInput = this.component &&
this.element.find('input').length;
if(this.component && this.component.length === 0)
this.component = false;
if (this.isInput) { //single input
this.element.on({
focus: $.proxy(this.show, this),
keyup: $.proxy(this.update, this),
keydown: $.proxy(this.keydown, this)
});
} else if(this.component && this.hasInput) { //component:
input + button
// For components that are not readonly, allow keyboard
nav
this.element.find('input').on({
focus: $.proxy(this.show, this),
keyup: $.proxy(this.update, this),
keydown: $.proxy(this.keydown, this)
});
this.component.on('click', $.proxy(this.show,
this));
} else if(this.element.is('div')) { //inline datepicker
this.isInline = true;
} else {
this.element.on('click', $.proxy(this.show, this));
}
this.picker = $(DPGlobal.template)
.appendTo(this.isInline ? this.element :
'body')
.on({
click: $.proxy(this.click, this),
mousedown: $.proxy(this.mousedown, this)
});
if(this.isInline) {
this.picker.addClass('datepicker-inline');
} else {
this.picker.addClass('dropdown-menu');
}
$(document).on('mousedown', function (e) {
// Clicked outside the datepicker, hide it
if ($(e.target).closest('.datepicker').length == 0) {
that.hide();
}
});
this.autoclose = false;
if ('autoclose' in options) {
this.autoclose = options.autoclose;
} else if ('dateAutoclose' in this.element.data()) {
this.autoclose = this.element.data('date-autoclose');
}
this.keyboardNavigation = true;
if ('keyboardNavigation' in options) {
this.keyboardNavigation = options.keyboardNavigation;
} else if ('dateKeyboardNavigation' in this.element.data()) {
this.keyboardNavigation =
this.element.data('date-keyboard-navigation');
}
switch(options.startView ||
this.element.data('date-start-view')){
case 2:
case 'decade':
this.viewMode = this.startViewMode = 2;
break;
case 1:
case 'year':
this.viewMode = this.startViewMode = 1;
break;
case 0:
case 'month':
default:
this.viewMode = this.startViewMode = 0;
break;
}
this.weekStart =
((options.weekStart||this.element.data('date-weekstart')||dates[this.language].weekStart||0)
% 7);
this.weekEnd = ((this.weekStart + 6) % 7);
this.startDate = -Infinity;
this.endDate = Infinity;
this.setStartDate(options.startDate||this.element.data('date-startdate'));
this.setEndDate(options.endDate||this.element.data('date-enddate'));
this.fillDow();
this.fillMonths();
this.update();
this.showMode();
if(this.isInline) {
this.show();
}
};
Datepicker.prototype = {
constructor: Datepicker,
show: function(e) {
this.picker.show();
this.height = this.component ? this.component.outerHeight() :
this.element.outerHeight();
this.update();
this.place();
$(window).on('resize', $.proxy(this.place, this));
if (e ) {
e.stopPropagation();
e.preventDefault();
}
this.element.trigger({
type: 'show',
date: this.date
});
},
hide: function(e){
if(this.isInline) return;
this.picker.hide();
$(window).off('resize', this.place);
this.viewMode = this.startViewMode;
this.showMode();
if (!this.isInput) {
$(document).off('mousedown', this.hide);
}
if (e && e.currentTarget.value)
this.setValue();
this.element.trigger({
type: 'hide',
date: this.date
});
},
setValue: function() {
var formatted = this.getFormattedDate();
if (!this.isInput) {
if (this.component){
this.element.find('input').prop('value',
formatted);
}
this.element.data('date', formatted);
} else {
this.element.prop('value', formatted);
}
},
getFormattedDate: function(format) {
if(format == undefined) format = this.format;
return DPGlobal.formatDate(this.date, format, this.language);
},
setStartDate: function(startDate){
this.startDate = startDate||-Infinity;
if (this.startDate !== -Infinity) {
this.startDate = DPGlobal.parseDate(this.startDate, this.format,
this.language);
}
this.update();
this.updateNavArrows();
},
setEndDate: function(endDate){
this.endDate = endDate||Infinity;
if (this.endDate !== Infinity) {
this.endDate = DPGlobal.parseDate(this.endDate, this.format,
this.language);
}
this.update();
this.updateNavArrows();
},
place: function(){
if(this.isInline) return;
var zIndex = parseInt(this.element.parents().filter(function() {
return $(this).css('z-index') != 'auto';
}).first().css('z-index'))+10;
var offset = this.component ? this.component.offset() :
this.element.offset();
this.picker.css({
top: offset.top + this.height,
left: offset.left,
zIndex: zIndex
});
},
update: function(){
var date, fromArgs = false;
if(arguments && arguments.length && (typeof
arguments[0] === 'string' || arguments[0] instanceof Date)) {
date = arguments[0];
fromArgs = true;
} else {
date = this.isInput ? this.element.prop('value')
: this.element.data('date') ||
this.element.find('input').prop('value');
}
this.date = DPGlobal.parseDate(date, this.format, this.language);
if(fromArgs) this.setValue();
if (this.date < this.startDate) {
this.viewDate = new Date(this.startDate);
} else if (this.date > this.endDate) {
this.viewDate = new Date(this.endDate);
} else {
this.viewDate = new Date(this.date);
}
this.fill();
},
fillDow: function(){
var dowCnt = this.weekStart;
var html = '<tr>';
while (dowCnt < this.weekStart + 7) {
html += '<th
class="dow">'+dates[this.language].daysMin[(dowCnt++)%7]+'</th>';
}
html += '</tr>';
this.picker.find('.datepicker-days thead').append(html);
},
fillMonths: function(){
var html = '';
var i = 0
while (i < 12) {
html += '<span
class="month">'+dates[this.language].monthsShort[i++]+'</span>';
}
this.picker.find('.datepicker-months td').html(html);
},
fill: function() {
var d = new Date(this.viewDate),
year = d.getUTCFullYear(),
month = d.getUTCMonth(),
startYear = this.startDate !== -Infinity ?
this.startDate.getUTCFullYear() : -Infinity,
startMonth = this.startDate !== -Infinity ?
this.startDate.getUTCMonth() : -Infinity,
endYear = this.endDate !== Infinity ? this.endDate.getUTCFullYear() :
Infinity,
endMonth = this.endDate !== Infinity ? this.endDate.getUTCMonth() :
Infinity,
currentDate = this.date.valueOf();
this.picker.find('.datepicker-days th:eq(1)')
.text(dates[this.language].months[month]+' '+year);
this.updateNavArrows();
this.fillMonths();
var prevMonth = UTCDate(year, month-1, 28,0,0,0,0),
day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(),
prevMonth.getUTCMonth());
prevMonth.setUTCDate(day);
prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.weekStart +
7)%7);
var nextMonth = new Date(prevMonth);
nextMonth.setUTCDate(nextMonth.getUTCDate() + 42);
nextMonth = nextMonth.valueOf();
var html = [];
var clsName;
while(prevMonth.valueOf() < nextMonth) {
if (prevMonth.getUTCDay() == this.weekStart) {
html.push('<tr>');
}
clsName = '';
if (prevMonth.getUTCFullYear() < year || (prevMonth.getUTCFullYear()
== year && prevMonth.getUTCMonth() < month)) {
clsName += ' old';
} else if (prevMonth.getUTCFullYear() > year ||
(prevMonth.getUTCFullYear() == year && prevMonth.getUTCMonth() >
month)) {
clsName += ' new';
}
if (prevMonth.valueOf() == currentDate) {
clsName += ' active';
}
if (prevMonth.valueOf() < this.startDate || prevMonth.valueOf() >
this.endDate) {
clsName += ' disabled';
}
html.push('<td
class="day'+clsName+'">'+prevMonth.getUTCDate()
+ '</td>');
if (prevMonth.getUTCDay() == this.weekEnd) {
html.push('</tr>');
}
prevMonth.setUTCDate(prevMonth.getUTCDate()+1);
}
this.picker.find('.datepicker-days
tbody').empty().append(html.join(''));
var currentYear = this.date.getUTCFullYear();
var months = this.picker.find('.datepicker-months')
.find('th:eq(1)')
.text(year)
.end()
.find('span').removeClass('active');
if (currentYear == year) {
months.eq(this.date.getUTCMonth()).addClass('active');
}
if (year < startYear || year > endYear) {
months.addClass('disabled');
}
if (year == startYear) {
months.slice(0, startMonth).addClass('disabled');
}
if (year == endYear) {
months.slice(endMonth+1).addClass('disabled');
}
html = '';
year = parseInt(year/10, 10) * 10;
var yearCont = this.picker.find('.datepicker-years')
.find('th:eq(1)')
.text(year + '-' + (year + 9))
.end()
.find('td');
year -= 1;
for (var i = -1; i < 11; i++) {
html += '<span class="year'+(i == -1 || i == 10 ?
' old' : '')+(currentYear == year ? ' active'
: '')+(year < startYear || year > endYear ? '
disabled' :
'')+'">'+year+'</span>';
year += 1;
}
yearCont.html(html);
},
updateNavArrows: function() {
var d = new Date(this.viewDate),
year = d.getUTCFullYear(),
month = d.getUTCMonth();
switch (this.viewMode) {
case 0:
if (this.startDate !== -Infinity && year <=
this.startDate.getUTCFullYear() && month <=
this.startDate.getUTCMonth()) {
this.picker.find('.prev').css({visibility:
'hidden'});
} else {
this.picker.find('.prev').css({visibility:
'visible'});
}
if (this.endDate !== Infinity && year >=
this.endDate.getUTCFullYear() && month >=
this.endDate.getUTCMonth()) {
this.picker.find('.next').css({visibility:
'hidden'});
} else {
this.picker.find('.next').css({visibility:
'visible'});
}
break;
case 1:
case 2:
if (this.startDate !== -Infinity && year <=
this.startDate.getUTCFullYear()) {
this.picker.find('.prev').css({visibility:
'hidden'});
} else {
this.picker.find('.prev').css({visibility:
'visible'});
}
if (this.endDate !== Infinity && year >=
this.endDate.getUTCFullYear()) {
this.picker.find('.next').css({visibility:
'hidden'});
} else {
this.picker.find('.next').css({visibility:
'visible'});
}
break;
}
},
click: function(e) {
e.stopPropagation();
e.preventDefault();
var target = $(e.target).closest('span, td, th');
if (target.length == 1) {
switch(target[0].nodeName.toLowerCase()) {
case 'th':
switch(target[0].className) {
case 'switch':
this.showMode(1);
break;
case 'prev':
case 'next':
var dir = DPGlobal.modes[this.viewMode].navStep *
(target[0].className == 'prev' ? -1 : 1);
switch(this.viewMode){
case 0:
this.viewDate = this.moveMonth(this.viewDate, dir);
break;
case 1:
case 2:
this.viewDate = this.moveYear(this.viewDate, dir);
break;
}
this.fill();
break;
}
break;
case 'span':
if (!target.is('.disabled')) {
this.viewDate.setUTCDate(1);
if (target.is('.month')) {
var month = target.parent().find('span').index(target);
this.viewDate.setUTCMonth(month);
this.element.trigger({
type: 'changeMonth',
date: this.viewDate
});
} else {
var year = parseInt(target.text(), 10)||0;
this.viewDate.setUTCFullYear(year);
this.element.trigger({
type: 'changeYear',
date: this.viewDate
});
}
this.showMode(-1);
this.fill();
}
break;
case 'td':
if (target.is('.day') &&
!target.is('.disabled')){
var day = parseInt(target.text(), 10)||1;
var year = this.viewDate.getUTCFullYear(),
month = this.viewDate.getUTCMonth();
if (target.is('.old')) {
if (month == 0) {
month = 11;
year -= 1;
} else {
month -= 1;
}
} else if (target.is('.new')) {
if (month == 11) {
month = 0;
year += 1;
} else {
month += 1;
}
}
this.date = UTCDate(year, month, day,0,0,0,0);
this.viewDate = UTCDate(year, month, day,0,0,0,0);
this.fill();
this.setValue();
this.element.trigger({
type: 'changeDate',
date: this.date
});
var element;
if (this.isInput) {
element = this.element;
} else if (this.component){
element = this.element.find('input');
}
if (element) {
element.change();
if (this.autoclose) {
this.hide();
}
}
}
break;
}
}
},
moveMonth: function(date, dir){
if (!dir) return date;
var new_date = new Date(date.valueOf()),
day = new_date.getUTCDate(),
month = new_date.getUTCMonth(),
mag = Math.abs(dir),
new_month, test;
dir = dir > 0 ? 1 : -1;
if (mag == 1){
test = dir == -1
// If going back one month, make sure month is not current month
// (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)
? function(){ return new_date.getUTCMonth() == month; }
// If going forward one month, make sure month is as expected
// (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)
: function(){ return new_date.getUTCMonth() != new_month; };
new_month = month + dir;
new_date.setUTCMonth(new_month);
// Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to
0-11
if (new_month < 0 || new_month > 11)
new_month = (new_month + 12) % 12;
} else {
// For magnitudes >1, move one month at a time...
for (var i=0; i<mag; i++)
// ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...
new_date = this.moveMonth(new_date, dir);
// ...then reset the day, keeping it in the new month
new_month = new_date.getUTCMonth();
new_date.setUTCDate(day);
test = function(){ return new_month != new_date.getUTCMonth(); };
}
// Common date-resetting loop -- if date is beyond end of month, make
it
// end of month
while (test()){
new_date.setUTCDate(--day);
new_date.setUTCMonth(new_month);
}
return new_date;
},
moveYear: function(date, dir){
return this.moveMonth(date, dir*12);
},
dateWithinRange: function(date){
return date >= this.startDate && date <= this.endDate;
},
keydown: function(e){
if (this.picker.is(':not(:visible)')){
if (e.keyCode == 27) // allow escape to hide and re-show picker
this.show();
return;
}
var dateChanged = false,
dir, day, month,
newDate, newViewDate;
switch(e.keyCode){
case 27: // escape
this.hide();
e.preventDefault();
break;
case 37: // left
case 39: // right
if (!this.keyboardNavigation) break;
dir = e.keyCode == 37 ? -1 : 1;
if (e.ctrlKey){
newDate = this.moveYear(this.date, dir);
newViewDate = this.moveYear(this.viewDate, dir);
} else if (e.shiftKey){
newDate = this.moveMonth(this.date, dir);
newViewDate = this.moveMonth(this.viewDate, dir);
} else {
newDate = new Date(this.date);
newDate.setUTCDate(this.date.getUTCDate() + dir);
newViewDate = new Date(this.viewDate);
newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir);
}
if (this.dateWithinRange(newDate)){
this.date = newDate;
this.viewDate = newViewDate;
this.setValue();
this.update();
e.preventDefault();
dateChanged = true;
}
break;
case 38: // up
case 40: // down
if (!this.keyboardNavigation) break;
dir = e.keyCode == 38 ? -1 : 1;
if (e.ctrlKey){
newDate = this.moveYear(this.date, dir);
newViewDate = this.moveYear(this.viewDate, dir);
} else if (e.shiftKey){
newDate = this.moveMonth(this.date, dir);
newViewDate = this.moveMonth(this.viewDate, dir);
} else {
newDate = new Date(this.date);
newDate.setUTCDate(this.date.getUTCDate() + dir * 7);
newViewDate = new Date(this.viewDate);
newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir * 7);
}
if (this.dateWithinRange(newDate)){
this.date = newDate;
this.viewDate = newViewDate;
this.setValue();
this.update();
e.preventDefault();
dateChanged = true;
}
break;
case 13: // enter
this.hide();
e.preventDefault();
break;
case 9: // tab
this.hide();
break;
}
if (dateChanged){
this.element.trigger({
type: 'changeDate',
date: this.date
});
var element;
if (this.isInput) {
element = this.element;
} else if (this.component){
element = this.element.find('input');
}
if (element) {
element.change();
}
}
},
showMode: function(dir) {
if (dir) {
this.viewMode = Math.max(0, Math.min(2, this.viewMode + dir));
}
this.picker.find('>div').hide().filter('.datepicker-'+DPGlobal.modes[this.viewMode].clsName).show();
this.updateNavArrows();
}
};
$.fn.datepicker = function ( option ) {
var args = Array.apply(null, arguments);
args.shift();
return this.each(function () {
var $this = $(this),
data = $this.data('datepicker'),
options = typeof option == 'object' && option;
if (!data) {
$this.data('datepicker', (data = new Datepicker(this,
$.extend({}, $.fn.datepicker.defaults,options))));
}
if (typeof option == 'string' && typeof data[option]
== 'function') {
data[option].apply(data, args);
}
});
};
$.fn.datepicker.defaults = {
};
$.fn.datepicker.Constructor = Datepicker;
var dates = $.fn.datepicker.dates = {
en: {
days: ["Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday",
"Saturday", "Sunday"],
daysShort: ["Sun", "Mon", "Tue",
"Wed", "Thu", "Fri", "Sat",
"Sun"],
daysMin: ["Su", "Mo", "Tu",
"We", "Th", "Fr", "Sa",
"Su"],
months: ["January", "February", "March",
"April", "May", "June", "July",
"August", "September", "October",
"November", "December"],
monthsShort: ["Jan", "Feb", "Mar",
"Apr", "May", "Jun", "Jul",
"Aug", "Sep", "Oct", "Nov",
"Dec"]
}
}
var DPGlobal = {
modes: [
{
clsName: 'days',
navFnc: 'Month',
navStep: 1
},
{
clsName: 'months',
navFnc: 'FullYear',
navStep: 1
},
{
clsName: 'years',
navFnc: 'FullYear',
navStep: 10
}],
isLeapYear: function (year) {
return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400
=== 0))
},
getDaysInMonth: function (year, month) {
return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31,
31, 30, 31, 30, 31][month]
},
validParts: /dd?|mm?|MM?|yy(?:yy)?/g,
nonpunctuation: /[^ -\/:-@\[-`{-~\t\n\r]+/g,
parseFormat: function(format){
// IE treats \0 as a string end in inputs (truncating the value),
// so it's a bad format delimiter, anyway
var separators = format.replace(this.validParts,
'\0').split('\0'),
parts = format.match(this.validParts);
if (!separators || !separators.length || !parts || parts.length == 0){
throw new Error("Invalid date format.");
}
return {separators: separators, parts: parts};
},
parseDate: function(date, format, language) {
if (date instanceof Date) return date;
if (/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(date)) {
var part_re = /([-+]\d+)([dmwy])/,
parts = date.match(/([-+]\d+)([dmwy])/g),
part, dir;
date = new Date();
for (var i=0; i<parts.length; i++) {
part = part_re.exec(parts[i]);
dir = parseInt(part[1]);
switch(part[2]){
case 'd':
date.setUTCDate(date.getUTCDate() + dir);
break;
case 'm':
date = Datepicker.prototype.moveMonth.call(Datepicker.prototype,
date, dir);
break;
case 'w':
date.setUTCDate(date.getUTCDate() + dir * 7);
break;
case 'y':
date = Datepicker.prototype.moveYear.call(Datepicker.prototype,
date, dir);
break;
}
}
return UTCDate(date.getUTCFullYear(), date.getUTCMonth(),
date.getUTCDate(), 0, 0, 0);
}
var parts = date && date.match(this.nonpunctuation) || [],
date = new Date(),
parsed = {},
setters_order = ['yyyy', 'yy', 'M',
'MM', 'm', 'mm', 'd',
'dd'],
setters_map = {
yyyy: function(d,v){ return d.setUTCFullYear(v); },
yy: function(d,v){ return d.setUTCFullYear(2000+v); },
m: function(d,v){
v -= 1;
while (v<0) v += 12;
v %= 12;
d.setUTCMonth(v);
while (d.getUTCMonth() != v)
d.setUTCDate(d.getUTCDate()-1);
return d;
},
d: function(d,v){ return d.setUTCDate(v); }
},
val, filtered, part;
setters_map['M'] = setters_map['MM'] =
setters_map['mm'] = setters_map['m'];
setters_map['dd'] = setters_map['d'];
date = UTCDate(date.getUTCFullYear(), date.getUTCMonth(),
date.getUTCDate(), 0, 0, 0);
if (parts.length == format.parts.length) {
for (var i=0, cnt = format.parts.length; i < cnt; i++) {
val = parseInt(parts[i], 10);
part = format.parts[i];
if (isNaN(val)) {
switch(part) {
case 'MM':
filtered = $(dates[language].months).filter(function(){
var m = this.slice(0, parts[i].length),
p = parts[i].slice(0, m.length);
return m == p;
});
val = $.inArray(filtered[0], dates[language].months) + 1;
break;
case 'M':
filtered = $(dates[language].monthsShort).filter(function(){
var m = this.slice(0, parts[i].length),
p = parts[i].slice(0, m.length);
return m == p;
});
val = $.inArray(filtered[0], dates[language].monthsShort) + 1;
break;
}
}
parsed[part] = val;
}
for (var i=0, s; i<setters_order.length; i++){
s = setters_order[i];
if (s in parsed)
setters_map[s](date, parsed[s])
}
}
return date;
},
formatDate: function(date, format, language){
var val = {
d: date.getUTCDate(),
m: date.getUTCMonth() + 1,
M: dates[language].monthsShort[date.getUTCMonth()],
MM: dates[language].months[date.getUTCMonth()],
yy: date.getUTCFullYear().toString().substring(2),
yyyy: date.getUTCFullYear()
};
val.dd = (val.d < 10 ? '0' : '') + val.d;
val.mm = (val.m < 10 ? '0' : '') + val.m;
var date = [],
seps = $.extend([], format.separators);
for (var i=0, cnt = format.parts.length; i < cnt; i++) {
if (seps.length)
date.push(seps.shift())
date.push(val[format.parts[i]]);
}
return date.join('');
},
headTemplate: '<thead>'+
'<tr>'+
'<th class="prev"><i
class="icon-arrow-left"/></th>'+
'<th colspan="5"
class="switch"></th>'+
'<th class="next"><i
class="icon-arrow-right"/></th>'+
'</tr>'+
'</thead>',
contTemplate: '<tbody><tr><td
colspan="7"></td></tr></tbody>'
};
DPGlobal.template = '<div class="datepicker">'+
'<div class="datepicker-days">'+
'<table class=" table-condensed">'+
DPGlobal.headTemplate+
'<tbody></tbody>'+
'</table>'+
'</div>'+
'<div class="datepicker-months">'+
'<table class="table-condensed">'+
DPGlobal.headTemplate+
DPGlobal.contTemplate+
'</table>'+
'</div>'+
'<div class="datepicker-years">'+
'<table class="table-condensed">'+
DPGlobal.headTemplate+
DPGlobal.contTemplate+
'</table>'+
'</div>'+
'</div>';
$.fn.datepicker.DPGlobal = DPGlobal;
}( window.jQuery );
assets/js/editable/js/bootstrap-editable.min.js000064400000227711151171034400015561
0ustar00/*! X-editable - v1.4.6
* In-place editing with Twitter Bootstrap, jQuery UI or pure jQuery
* http://github.com/vitalets/x-editable
* Copyright (C) 2013 - 2015 Vitaliy Potapov; Licensed MIT */
(function(e){"use strict";var
t=function(t,n){this.options=e.extend({},e.fn.editableform.defaults,n),this.$div=e(t),this.options.scope||(this.options.scope=this)};t.prototype={constructor:t,initInput:function(){this.input=this.options.input,this.value=this.input.str2value(this.options.value)},initTemplate:function(){this.$form=e(e.fn.editableform.template)},initButtons:function(){var
t=this.$form.find(".editable-buttons");t.append(e.fn.editableform.buttons),this.options.showbuttons==="bottom"&&t.addClass("editable-buttons-bottom")},render:function(){this.$loading=e(e.fn.editableform.loading),this.$div.empty().append(this.$loading),this.initTemplate(),this.options.showbuttons?this.initButtons():this.$form.find(".editable-buttons").remove(),this.showLoading(),this.isSaving=!1,this.$div.triggerHandler("rendering"),this.initInput(),this.input.prerender(),this.$form.find("div.editable-input").append(this.input.$tpl),this.$div.append(this.$form),e.when(this.input.render()).then(e.proxy(function(){this.options.showbuttons||this.input.autosubmit(),this.$form.find(".editable-cancel").click(e.proxy(this.cancel,this));if(this.input.error)this.error(this.input.error),this.$form.find(".editable-submit").attr("disabled",!0),this.input.$input.attr("disabled",!0),this.$form.submit(function(e){e.preventDefault()});else{this.error(!1),this.input.$input.removeAttr("disabled"),this.$form.find(".editable-submit").removeAttr("disabled");var
t=this.value===null||this.value===undefined||this.value===""?this.options.defaultValue:this.value;this.input.value2input(t),this.$form.submit(e.proxy(this.submit,this))}this.$div.triggerHandler("rendered"),this.showForm(),this.input.postrender&&this.input.postrender()},this))},cancel:function(){this.$div.triggerHandler("cancel")},showLoading:function(){var
e,t;this.$form?(e=this.$form.outerWidth(),t=this.$form.outerHeight(),e&&this.$loading.width(e),t&&this.$loading.height(t),this.$form.hide()):(e=this.$loading.parent().width(),e&&this.$loading.width(e)),this.$loading.show()},showForm:function(e){this.$loading.hide(),this.$form.show(),e!==!1&&this.input.activate(),this.$div.triggerHandler("show")},error:function(t){var
n=this.$form.find(".control-group"),r=this.$form.find(".editable-error-block"),i;if(t===!1)n.removeClass(e.fn.editableform.errorGroupClass),r.removeClass(e.fn.editableform.errorBlockClass).empty().hide();else{if(t){i=t.split("\n");for(var
s=0;s<i.length;s++)i[s]=e("<div>").text(i[s]).html();t=i.join("<br>")}n.addClass(e.fn.editableform.errorGroupClass),r.addClass(e.fn.editableform.errorBlockClass).html(t).show()}},submit:function(t){t.stopPropagation(),t.preventDefault();var
n,r=this.input.input2value();if(n=this.validate(r)){this.error(n),this.showForm();return}if(!this.options.savenochange&&this.input.value2str(r)==this.input.value2str(this.value)){this.$div.triggerHandler("nochange");return}var
i=this.input.value2submit(r);this.isSaving=!0,e.when(this.save(i)).done(e.proxy(function(e){this.isSaving=!1;var
t=typeof
this.options.success=="function"?this.options.success.call(this.options.scope,e,r):null;if(t===!1){this.error(!1),this.showForm(!1);return}if(typeof
t=="string"){this.error(t),this.showForm();return}t&&typeof
t=="object"&&t.hasOwnProperty("newValue")&&(r=t.newValue),this.error(!1),this.value=r,this.$div.triggerHandler("save",{newValue:r,submitValue:i,response:e})},this)).fail(e.proxy(function(e){this.isSaving=!1;var
t;typeof
this.options.error=="function"?t=this.options.error.call(this.options.scope,e,r):t=typeof
e=="string"?e:e.responseText||e.statusText||"Unknown
error!",this.error(t),this.showForm()},this))},save:function(t){this.options.pk=e.fn.editableutils.tryParseJson(this.options.pk,!0);var
n=typeof
this.options.pk=="function"?this.options.pk.call(this.options.scope):this.options.pk,r=!!(typeof
this.options.url=="function"||this.options.url&&(this.options.send==="always"||this.options.send==="auto"&&n!==null&&n!==undefined)),i;if(r)return
this.showLoading(),i={name:this.options.name||"",value:t,pk:n},typeof
this.options.params=="function"?i=this.options.params.call(this.options.scope,i):(this.options.params=e.fn.editableutils.tryParseJson(this.options.params,!0),e.extend(i,this.options.params)),typeof
this.options.url=="function"?this.options.url.call(this.options.scope,i):e.ajax(e.extend({url:this.options.url,data:i,type:"POST"},this.options.ajaxOptions))},validate:function(e){e===undefined&&(e=this.value);if(typeof
this.options.validate=="function")return
this.options.validate.call(this.options.scope,e)},option:function(e,t){e in
this.options&&(this.options[e]=t),e==="value"&&this.setValue(t)},setValue:function(e,t){t?this.value=this.input.str2value(e):this.value=e,this.$form&&this.$form.is(":visible")&&this.input.value2input(this.value)}},e.fn.editableform=function(n){var
r=arguments;return this.each(function(){var
i=e(this),s=i.data("editableform"),o=typeof
n=="object"&&n;s||i.data("editableform",s=new
t(this,o)),typeof
n=="string"&&s[n].apply(s,Array.prototype.slice.call(r,1))})},e.fn.editableform.Constructor=t,e.fn.editableform.defaults={type:"text",url:null,params:null,name:null,pk:null,value:null,defaultValue:null,send:"auto",validate:null,success:null,error:null,ajaxOptions:null,showbuttons:!0,scope:null,savenochange:!1},e.fn.editableform.template='<form
class="form-inline editableform"><div
class="control-group"><div><div
class="editable-input"></div><div
class="editable-buttons"></div></div><div
class="editable-error-block"></div></div></form>',e.fn.editableform.loading='<div
class="editableform-loading"></div>',e.fn.editableform.buttons='<button
type="submit"
class="editable-submit">ok</button><button
type="button"
class="editable-cancel">cancel</button>',e.fn.editableform.errorGroupClass=null,e.fn.editableform.errorBlockClass="editable-error"})(window.jQuery),function(e){"use
strict";e.fn.editableutils={inherit:function(e,t){var
n=function(){};n.prototype=t.prototype,e.prototype=new
n,e.prototype.constructor=e,e.superclass=t.prototype},setCursorPosition:function(e,t){if(e.setSelectionRange)e.setSelectionRange(t,t);else
if(e.createTextRange){var
n=e.createTextRange();n.collapse(!0),n.moveEnd("character",t),n.moveStart("character",t),n.select()}},tryParseJson:function(e,t){if(typeof
e=="string"&&e.length&&e.match(/^[\{\[].*[\}\]]$/))if(t)try{e=(new
Function("return "+e))()}catch(n){}finally{return e}else e=(new
Function("return "+e))();return e},sliceObj:function(t,n,r){var
i,s,o={};if(!e.isArray(n)||!n.length)return o;for(var
u=0;u<n.length;u++){i=n[u],t.hasOwnProperty(i)&&(o[i]=t[i]);if(r===!0)continue;s=i.toLowerCase(),t.hasOwnProperty(s)&&(o[i]=t[s])}return
o},getConfigData:function(t){var n={};return
e.each(t.data(),function(e,t){if(typeof
t!="object"||t&&typeof
t=="object"&&(t.constructor===Object||t.constructor===Array))n[e]=t}),n},objectKeys:function(e){if(Object.keys)return
Object.keys(e);if(e!==Object(e))throw new TypeError("Object.keys
called on a non-object");var t=[],n;for(n in
e)Object.prototype.hasOwnProperty.call(e,n)&&t.push(n);return
t},escape:function(t){return
e("<div>").text(t).html()},itemsByValue:function(t,n,r){if(!n||t===null)return[];if(typeof
r!="function"){var i=r||"value";r=function(e){return
e[i]}}var s=e.isArray(t),o=[],u=this;return
e.each(n,function(n,i){if(i.children)o=o.concat(u.itemsByValue(t,i.children,r));else
if(s)e.grep(t,function(e){return e==(i&&typeof
i==="object"?r(i):i)}).length&&o.push(i);else{var
a=i&&typeof
i=="object"?r(i):i;t==a&&o.push(i)}}),o},createInput:function(t){var
n,r,i,s=t.type;return
s==="date"&&(t.mode==="inline"?e.fn.editabletypes.datefield?s="datefield":e.fn.editabletypes.dateuifield&&(s="dateuifield"):e.fn.editabletypes.date?s="date":e.fn.editabletypes.dateui&&(s="dateui"),s==="date"&&!e.fn.editabletypes.date&&(s="combodate")),s==="datetime"&&t.mode==="inline"&&(s="datetimefield"),s==="wysihtml5"&&!e.fn.editabletypes[s]&&(s="textarea"),typeof
e.fn.editabletypes[s]=="function"?(n=e.fn.editabletypes[s],r=this.sliceObj(t,this.objectKeys(n.defaults)),i=new
n(r),i):(e.error("Unknown type:
"+s),!1)},supportsTransitions:function(){var
e=document.body||document.documentElement,t=e.style,n="transition",r=["Moz","Webkit","Khtml","O","ms"];if(typeof
t[n]=="string")return!0;n=n.charAt(0).toUpperCase()+n.substr(1);for(var
i=0;i<r.length;i++)if(typeof
t[r[i]+n]=="string")return!0;return!1}}}(window.jQuery),function(e){"use
strict";var
t=function(e,t){this.init(e,t)},n=function(e,t){this.init(e,t)};t.prototype={containerName:null,containerDataName:null,innerCss:null,containerClass:"editable-container
editable-popup",init:function(n,r){this.$element=e(n),this.options=e.extend({},e.fn.editableContainer.defaults,r),this.splitOptions(),this.formOptions.scope=this.$element[0],this.initContainer(),this.delayedHide=!1,this.$element.on("destroyed",e.proxy(function(){this.destroy()},this)),e(document).data("editable-handlers-attached")||(e(document).on("keyup.editable",function(t){t.which===27&&e(".editable-open").editableContainer("hide")}),e(document).on("click.editable",function(n){var
r=e(n.target),i,s=[".editable-container",".ui-datepicker-header",".datepicker",".modal-backdrop",".bootstrap-wysihtml5-insert-image-modal",".bootstrap-wysihtml5-insert-link-modal"];if(!e.contains(document.documentElement,n.target))return;if(r.is(document))return;for(i=0;i<s.length;i++)if(r.is(s[i])||r.parents(s[i]).length)return;t.prototype.closeOthers(n.target)}),e(document).data("editable-handlers-attached",!0))},splitOptions:function(){this.containerOptions={},this.formOptions={};if(!e.fn[this.containerName])throw
new Error(this.containerName+" not found. Have you included
corresponding js file?");var
t=e.fn[this.containerName].defaults;for(var n in this.options)n in
t?this.containerOptions[n]=this.options[n]:this.formOptions[n]=this.options[n]},tip:function(){return
this.container()?this.container().$tip:null},container:function(){var
e;if(this.containerDataName)if(e=this.$element.data(this.containerDataName))return
e;return
e=this.$element.data(this.containerName),e},call:function(){this.$element[this.containerName].apply(this.$element,arguments)},initContainer:function(){this.call(this.containerOptions)},renderForm:function(){this.$form.editableform(this.formOptions).on({save:e.proxy(this.save,this),nochange:e.proxy(function(){this.hide("nochange")},this),cancel:e.proxy(function(){this.hide("cancel")},this),show:e.proxy(function(){this.delayedHide?(this.hide(this.delayedHide.reason),this.delayedHide=!1):this.setPosition()},this),rendering:e.proxy(this.setPosition,this),resize:e.proxy(this.setPosition,this),rendered:e.proxy(function(){this.$element.triggerHandler("shown",e(this.options.scope).data("editable"))},this)}).editableform("render")},show:function(t){this.$element.addClass("editable-open"),t!==!1&&this.closeOthers(this.$element[0]),this.innerShow(),this.tip().addClass(this.containerClass),this.$form,this.$form=e("<div>"),this.tip().is(this.innerCss)?this.tip().append(this.$form):this.tip().find(this.innerCss).append(this.$form),this.renderForm()},hide:function(e){if(!this.tip()||!this.tip().is(":visible")||!this.$element.hasClass("editable-open"))return;if(this.$form.data("editableform").isSaving){this.delayedHide={reason:e};return}this.delayedHide=!1,this.$element.removeClass("editable-open"),this.innerHide(),this.$element.triggerHandler("hidden",e||"manual")},innerShow:function(){},innerHide:function(){},toggle:function(e){this.container()&&this.tip()&&this.tip().is(":visible")?this.hide():this.show(e)},setPosition:function(){},save:function(e,t){this.$element.triggerHandler("save",t),this.hide("save")},option:function(e,t){this.options[e]=t,e
in
this.containerOptions?(this.containerOptions[e]=t,this.setContainerOption(e,t)):(this.formOptions[e]=t,this.$form&&this.$form.editableform("option",e,t))},setContainerOption:function(e,t){this.call("option",e,t)},destroy:function(){this.hide(),this.innerDestroy(),this.$element.off("destroyed"),this.$element.removeData("editableContainer")},innerDestroy:function(){},closeOthers:function(t){e(".editable-open").each(function(n,r){if(r===t||e(r).find(t).length)return;var
i=e(r),s=i.data("editableContainer");if(!s)return;s.options.onblur==="cancel"?i.data("editableContainer").hide("onblur"):s.options.onblur==="submit"&&i.data("editableContainer").tip().find("form").submit()})},activate:function(){this.tip&&this.tip().is(":visible")&&this.$form&&this.$form.data("editableform").input.activate()}},e.fn.editableContainer=function(r){var
i=arguments;return this.each(function(){var
s=e(this),o="editableContainer",u=s.data(o),a=typeof
r=="object"&&r,f=a.mode==="inline"?n:t;u||s.data(o,u=new
f(this,a)),typeof
r=="string"&&u[r].apply(u,Array.prototype.slice.call(i,1))})},e.fn.editableContainer.Popup=t,e.fn.editableContainer.Inline=n,e.fn.editableContainer.defaults={value:null,placement:"top",autohide:!0,onblur:"cancel",anim:!1,mode:"popup"},jQuery.event.special.destroyed={remove:function(e){e.handler&&e.handler()}}}(window.jQuery),function(e){"use
strict";e.extend(e.fn.editableContainer.Inline.prototype,e.fn.editableContainer.Popup.prototype,{containerName:"editableform",innerCss:".editable-inline",containerClass:"editable-container
editable-inline",initContainer:function(){this.$tip=e("<span></span>"),this.options.anim||(this.options.anim=0)},splitOptions:function(){this.containerOptions={},this.formOptions=this.options},tip:function(){return
this.$tip},innerShow:function(){this.$element.hide(),this.tip().insertAfter(this.$element).show()},innerHide:function(){this.$tip.hide(this.options.anim,e.proxy(function(){this.$element.show(),this.innerDestroy()},this))},innerDestroy:function(){this.tip()&&this.tip().empty().remove()}})}(window.jQuery),function(e){"use
strict";var
t=function(t,n){this.$element=e(t),this.options=e.extend({},e.fn.editable.defaults,n,e.fn.editableutils.getConfigData(this.$element)),this.options.selector?this.initLive():this.init(),this.options.highlight&&!e.fn.editableutils.supportsTransitions()&&(this.options.highlight=!1)};t.prototype={constructor:t,init:function(){var
t=!1,n,r;this.options.name=this.options.name||this.$element.attr("id"),this.options.scope=this.$element[0],this.input=e.fn.editableutils.createInput(this.options);if(!this.input)return;this.options.value===undefined||this.options.value===null?(this.value=this.input.html2value(e.trim(this.$element.html())),t=!0):(this.options.value=e.fn.editableutils.tryParseJson(this.options.value,!0),typeof
this.options.value=="string"?this.value=this.input.str2value(this.options.value):this.value=this.options.value),this.$element.addClass("editable"),this.input.type==="textarea"&&this.$element.addClass("editable-pre-wrapped"),this.options.toggle!=="manual"?(this.$element.addClass("editable-click"),this.$element.on(this.options.toggle+".editable",e.proxy(function(e){this.options.disabled||e.preventDefault();if(this.options.toggle==="mouseenter")this.show();else{var
t=this.options.toggle!=="click";this.toggle(t)}},this))):this.$element.attr("tabindex",-1),typeof
this.options.display=="function"&&(this.options.autotext="always");switch(this.options.autotext){case"always":n=!0;break;case"auto":n=!e.trim(this.$element.text()).length&&this.value!==null&&this.value!==undefined&&!t;break;default:n=!1}e.when(n?this.render():!0).then(e.proxy(function(){this.options.disabled?this.disable():this.enable(),this.$element.triggerHandler("init",this)},this))},initLive:function(){var
t=this.options.selector;this.options.selector=!1,this.options.autotext="never",this.$element.on(this.options.toggle+".editable",t,e.proxy(function(t){var
n=e(t.target);n.data("editable")||(n.hasClass(this.options.emptyclass)&&n.empty(),n.editable(this.options).trigger(t))},this))},render:function(e){if(this.options.display===!1)return;return
this.input.value2htmlFinal?this.input.value2html(this.value,this.$element[0],this.options.display,e):typeof
this.options.display=="function"?this.options.display.call(this.$element[0],this.value,e):this.input.value2html(this.value,this.$element[0])},enable:function(){this.options.disabled=!1,this.$element.removeClass("editable-disabled"),this.handleEmpty(this.isEmpty),this.options.toggle!=="manual"&&this.$element.attr("tabindex")==="-1"&&this.$element.removeAttr("tabindex")},disable:function(){this.options.disabled=!0,this.hide(),this.$element.addClass("editable-disabled"),this.handleEmpty(this.isEmpty),this.$element.attr("tabindex",-1)},toggleDisabled:function(){this.options.disabled?this.enable():this.disable()},option:function(t,n){if(t&&typeof
t=="object"){e.each(t,e.proxy(function(t,n){this.option(e.trim(t),n)},this));return}this.options[t]=n;if(t==="disabled")return
n?this.disable():this.enable();t==="value"&&this.setValue(n),this.container&&this.container.option(t,n),this.input.option&&this.input.option(t,n)},handleEmpty:function(t){if(this.options.display===!1)return;t!==undefined?this.isEmpty=t:e.trim(this.$element.html())===""?this.isEmpty=!0:e.trim(this.$element.text())!==""?this.isEmpty=!1:this.isEmpty=!this.$element.height()||!this.$element.width(),this.options.disabled?this.isEmpty&&(this.$element.empty(),this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass)):this.isEmpty?(this.$element.html(this.options.emptytext),this.options.emptyclass&&this.$element.addClass(this.options.emptyclass)):this.options.emptyclass&&this.$element.removeClass(this.options.emptyclass)},show:function(t){if(this.options.disabled)return;if(!this.container){var
n=e.extend({},this.options,{value:this.value,input:this.input});this.$element.editableContainer(n),this.$element.on("save.internal",e.proxy(this.save,this)),this.container=this.$element.data("editableContainer")}else
if(this.container.tip().is(":visible"))return;this.container.show(t)},hide:function(){this.container&&this.container.hide()},toggle:function(e){this.container&&this.container.tip().is(":visible")?this.hide():this.show(e)},save:function(e,t){if(this.options.unsavedclass){var
n=!1;n=n||typeof
this.options.url=="function",n=n||this.options.display===!1,n=n||t.response!==undefined,n=n||this.options.savenochange&&this.input.value2str(this.value)!==this.input.value2str(t.newValue),n?this.$element.removeClass(this.options.unsavedclass):this.$element.addClass(this.options.unsavedclass)}if(this.options.highlight){var
r=this.$element,i=r.css("background-color");r.css("background-color",this.options.highlight),setTimeout(function(){i==="transparent"&&(i=""),r.css("background-color",i),r.addClass("editable-bg-transition"),setTimeout(function(){r.removeClass("editable-bg-transition")},1700)},10)}this.setValue(t.newValue,!1,t.response)},validate:function(){if(typeof
this.options.validate=="function")return
this.options.validate.call(this,this.value)},setValue:function(t,n,r){n?this.value=this.input.str2value(t):this.value=t,this.container&&this.container.option("value",this.value),e.when(this.render(r)).then(e.proxy(function(){this.handleEmpty()},this))},activate:function(){this.container&&this.container.activate()},destroy:function(){this.disable(),this.container&&this.container.destroy(),this.input.destroy(),this.options.toggle!=="manual"&&(this.$element.removeClass("editable-click"),this.$element.off(this.options.toggle+".editable")),this.$element.off("save.internal"),this.$element.removeClass("editable
editable-open
editable-disabled"),this.$element.removeData("editable")}},e.fn.editable=function(n){var
r={},i=arguments,s="editable";switch(n){case"validate":return
this.each(function(){var
t=e(this),n=t.data(s),i;n&&(i=n.validate())&&(r[n.options.name]=i)}),r;case"getValue":return
arguments.length===2&&arguments[1]===!0?r=this.eq(0).data(s).value:this.each(function(){var
t=e(this),n=t.data(s);n&&n.value!==undefined&&n.value!==null&&(r[n.options.name]=n.input.value2submit(n.value))}),r;case"submit":var
o=arguments[1]||{},u=this,a=this.editable("validate"),f;return
e.isEmptyObject(a)?(f=this.editable("getValue"),o.data&&e.extend(f,o.data),e.ajax(e.extend({url:o.url,data:f,type:"POST"},o.ajaxOptions)).success(function(e){typeof
o.success=="function"&&o.success.call(u,e,o)}).error(function(){typeof
o.error=="function"&&o.error.apply(u,arguments)})):typeof
o.error=="function"&&o.error.call(u,a),this}return
this.each(function(){var r=e(this),o=r.data(s),u=typeof
n=="object"&&n;if(u&&u.selector){o=new
t(this,u);return}o||r.data(s,o=new t(this,u)),typeof
n=="string"&&o[n].apply(o,Array.prototype.slice.call(i,1))})},e.fn.editable.defaults={type:"text",disabled:!1,toggle:"click",emptytext:"Empty",autotext:"auto",value:null,display:null,emptyclass:"editable-empty",unsavedclass:"editable-unsaved",selector:null,highlight:"#FFFF80"}}(window.jQuery),function(e){"use
strict";e.fn.editabletypes={};var
t=function(){};t.prototype={init:function(t,n,r){this.type=t,this.options=e.extend({},r,n)},prerender:function(){this.$tpl=e(this.options.tpl),this.$input=this.$tpl,this.$clear=null,this.error=null},render:function(){},value2html:function(t,n){e(n).text(e.trim(t))},html2value:function(t){return
e("<div>").html(t).text()},value2str:function(e){return
e},str2value:function(e){return e},value2submit:function(e){return
e},value2input:function(e){this.$input.val(e)},input2value:function(){return
this.$input.val()},activate:function(){this.$input.is(":visible")&&this.$input.focus()},clear:function(){this.$input.val(null)},escape:function(t){return
e("<div>").text(t).html()},autosubmit:function(){},destroy:function(){},setClass:function(){this.options.inputclass&&this.$input.addClass(this.options.inputclass)},setAttr:function(e){this.options[e]!==undefined&&this.options[e]!==null&&this.$input.attr(e,this.options[e])},option:function(e,t){this.options[e]=t}},t.defaults={tpl:"",inputclass:"input-medium",scope:null,showbuttons:!0},e.extend(e.fn.editabletypes,{abstractinput:t})}(window.jQuery),function(e){"use
strict";var
t=function(e){};e.fn.editableutils.inherit(t,e.fn.editabletypes.abstractinput),e.extend(t.prototype,{render:function(){var
t=e.Deferred();return
this.error=null,this.onSourceReady(function(){this.renderList(),t.resolve()},function(){this.error=this.options.sourceError,t.resolve()}),t.promise()},html2value:function(e){return
null},value2html:function(t,n,r,i){var s=e.Deferred(),o=function(){typeof
r=="function"?r.call(n,t,this.sourceData,i):this.value2htmlFinal(t,n),s.resolve()};return
t===null?o.call(this):this.onSourceReady(o,function(){s.resolve()}),s.promise()},onSourceReady:function(t,n){var
r;e.isFunction(this.options.source)?(r=this.options.source.call(this.options.scope),this.sourceData=null):r=this.options.source;if(this.options.sourceCache&&e.isArray(this.sourceData)){t.call(this);return}try{r=e.fn.editableutils.tryParseJson(r,!1)}catch(i){n.call(this);return}if(typeof
r=="string"){if(this.options.sourceCache){var
s=r,o;e(document).data(s)||e(document).data(s,{}),o=e(document).data(s);if(o.loading===!1&&o.sourceData){this.sourceData=o.sourceData,this.doPrepend(),t.call(this);return}if(o.loading===!0){o.callbacks.push(e.proxy(function(){this.sourceData=o.sourceData,this.doPrepend(),t.call(this)},this)),o.err_callbacks.push(e.proxy(n,this));return}o.loading=!0,o.callbacks=[],o.err_callbacks=[]}e.ajax({url:r,type:"get",cache:!1,dataType:"json",success:e.proxy(function(r){o&&(o.loading=!1),this.sourceData=this.makeArray(r),e.isArray(this.sourceData)?(o&&(o.sourceData=this.sourceData,e.each(o.callbacks,function(){this.call()})),this.doPrepend(),t.call(this)):(n.call(this),o&&e.each(o.err_callbacks,function(){this.call()}))},this),error:e.proxy(function(){n.call(this),o&&(o.loading=!1,e.each(o.err_callbacks,function(){this.call()}))},this)})}else
this.sourceData=this.makeArray(r),e.isArray(this.sourceData)?(this.doPrepend(),t.call(this)):n.call(this)},doPrepend:function(){if(this.options.prepend===null||this.options.prepend===undefined)return;e.isArray(this.prependData)||(e.isFunction(this.options.prepend)&&(this.options.prepend=this.options.prepend.call(this.options.scope)),this.options.prepend=e.fn.editableutils.tryParseJson(this.options.prepend,!0),typeof
this.options.prepend=="string"&&(this.options.prepend={"":this.options.prepend}),this.prependData=this.makeArray(this.options.prepend)),e.isArray(this.prependData)&&e.isArray(this.sourceData)&&(this.sourceData=this.prependData.concat(this.sourceData))},renderList:function(){},value2htmlFinal:function(e,t){},makeArray:function(t){var
n,r,i=[],s,o;if(!t||typeof t=="string")return
null;if(e.isArray(t)){o=function(e,t){r={value:e,text:t};if(n++>=2)return!1};for(var
u=0;u<t.length;u++)s=t[u],typeof
s=="object"?(n=0,e.each(s,o),n===1?i.push(r):n>1&&(s.children&&(s.children=this.makeArray(s.children)),i.push(s))):i.push({value:s,text:s})}else
e.each(t,function(e,t){i.push({value:e,text:t})});return
i},option:function(e,t){this.options[e]=t,e==="source"&&(this.sourceData=null),e==="prepend"&&(this.prependData=null)}}),t.defaults=e.extend({},e.fn.editabletypes.abstractinput.defaults,{source:null,prepend:!1,sourceError:"Error
when loading
list",sourceCache:!0}),e.fn.editabletypes.list=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("text",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.abstractinput),e.extend(t.prototype,{render:function(){this.renderClear(),this.setClass(),this.setAttr("placeholder")},activate:function(){this.$input.is(":visible")&&(this.$input.focus(),e.fn.editableutils.setCursorPosition(this.$input.get(0),this.$input.val().length),this.toggleClear&&this.toggleClear())},renderClear:function(){this.options.clear&&(this.$clear=e('<span
class="editable-clear-x"></span>'),this.$input.after(this.$clear).css("padding-right",24).keyup(e.proxy(function(t){if(~e.inArray(t.keyCode,[40,38,9,13,27]))return;clearTimeout(this.t);var
n=this;this.t=setTimeout(function(){n.toggleClear(t)},100)},this)).parent().css("position","relative"),this.$clear.click(e.proxy(this.clear,this)))},postrender:function(){},toggleClear:function(e){if(!this.$clear)return;var
t=this.$input.val().length,n=this.$clear.is(":visible");t&&!n&&this.$clear.show(),!t&&n&&this.$clear.hide()},clear:function(){this.$clear.hide(),this.$input.val("").focus()}}),t.defaults=e.extend({},e.fn.editabletypes.abstractinput.defaults,{tpl:'<input
type="text">',placeholder:null,clear:!0}),e.fn.editabletypes.text=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("textarea",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.abstractinput),e.extend(t.prototype,{render:function(){this.setClass(),this.setAttr("placeholder"),this.setAttr("rows"),this.$input.keydown(function(t){t.ctrlKey&&t.which===13&&e(this).closest("form").submit()})},activate:function(){e.fn.editabletypes.text.prototype.activate.call(this)}}),t.defaults=e.extend({},e.fn.editabletypes.abstractinput.defaults,{tpl:"<textarea></textarea>",inputclass:"input-large",placeholder:null,rows:7}),e.fn.editabletypes.textarea=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("select",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.list),e.extend(t.prototype,{renderList:function(){this.$input.empty();var
t=function(n,r){var i;if(e.isArray(r))for(var
s=0;s<r.length;s++)i={},r[s].children?(i.label=r[s].text,n.append(t(e("<optgroup>",i),r[s].children))):(i.value=r[s].value,r[s].disabled&&(i.disabled=!0),n.append(e("<option>",i).text(r[s].text)));return
n};t(this.$input,this.sourceData),this.setClass(),this.$input.on("keydown.editable",function(t){t.which===13&&e(this).closest("form").submit()})},value2htmlFinal:function(t,n){var
r="",i=e.fn.editableutils.itemsByValue(t,this.sourceData);i.length&&(r=i[0].text),e(n).text(r)},autosubmit:function(){this.$input.off("keydown.editable").on("change.editable",function(){e(this).closest("form").submit()})}}),t.defaults=e.extend({},e.fn.editabletypes.list.defaults,{tpl:"<select></select>"}),e.fn.editabletypes.select=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("checklist",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.list),e.extend(t.prototype,{renderList:function(){var
t,n;this.$tpl.empty();if(!e.isArray(this.sourceData))return;for(var
r=0;r<this.sourceData.length;r++)t=e("<label>").append(e("<input>",{type:"checkbox",value:this.sourceData[r].value})).append(e("<span>").text("
"+this.sourceData[r].text)),e("<div>").append(t).appendTo(this.$tpl);this.$input=this.$tpl.find('input[type="checkbox"]'),this.setClass()},value2str:function(t){return
e.isArray(t)?t.sort().join(e.trim(this.options.separator)):""},str2value:function(t){var
n,r=null;return typeof t=="string"&&t.length?(n=new
RegExp("\\s*"+e.trim(this.options.separator)+"\\s*"),r=t.split(n)):e.isArray(t)?r=t:r=[t],r},value2input:function(t){this.$input.prop("checked",!1),e.isArray(t)&&t.length&&this.$input.each(function(n,r){var
i=e(r);e.each(t,function(e,t){i.val()==t&&i.prop("checked",!0)})})},input2value:function(){var
t=[];return
this.$input.filter(":checked").each(function(n,r){t.push(e(r).val())}),t},value2htmlFinal:function(t,n){var
r=[],i=e.fn.editableutils.itemsByValue(t,this.sourceData);i.length?(e.each(i,function(t,n){r.push(e.fn.editableutils.escape(n.text))}),e(n).html(r.join("<br>"))):e(n).empty()},activate:function(){this.$input.first().focus()},autosubmit:function(){this.$input.on("keydown",function(t){t.which===13&&e(this).closest("form").submit()})}}),t.defaults=e.extend({},e.fn.editabletypes.list.defaults,{tpl:'<div
class="editable-checklist"></div>',inputclass:null,separator:","}),e.fn.editabletypes.checklist=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("password",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.text),e.extend(t.prototype,{value2html:function(t,n){t?e(n).text("[hidden]"):e(n).empty()},html2value:function(e){return
null}}),t.defaults=e.extend({},e.fn.editabletypes.text.defaults,{tpl:'<input
type="password">'}),e.fn.editabletypes.password=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("email",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.text),t.defaults=e.extend({},e.fn.editabletypes.text.defaults,{tpl:'<input
type="email">'}),e.fn.editabletypes.email=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("url",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.text),t.defaults=e.extend({},e.fn.editabletypes.text.defaults,{tpl:'<input
type="url">'}),e.fn.editabletypes.url=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("tel",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.text),t.defaults=e.extend({},e.fn.editabletypes.text.defaults,{tpl:'<input
type="tel">'}),e.fn.editabletypes.tel=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("number",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.text),e.extend(t.prototype,{render:function(){t.superclass.render.call(this),this.setAttr("min"),this.setAttr("max"),this.setAttr("step")},postrender:function(){this.$clear&&this.$clear.css({right:24})}}),t.defaults=e.extend({},e.fn.editabletypes.text.defaults,{tpl:'<input
type="number">',inputclass:"input-mini",min:null,max:null,step:null}),e.fn.editabletypes.number=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("range",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.number),e.extend(t.prototype,{render:function(){this.$input=this.$tpl.filter("input"),this.setClass(),this.setAttr("min"),this.setAttr("max"),this.setAttr("step"),this.$input.on("input",function(){e(this).siblings("output").text(e(this).val())})},activate:function(){this.$input.focus()}}),t.defaults=e.extend({},e.fn.editabletypes.number.defaults,{tpl:'<input
type="range"><output style="width: 30px; display:
inline-block"></output>',inputclass:"input-medium"}),e.fn.editabletypes.range=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("time",e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.abstractinput),e.extend(t.prototype,{render:function(){this.setClass()}}),t.defaults=e.extend({},e.fn.editabletypes.abstractinput.defaults,{tpl:'<input
type="time">'}),e.fn.editabletypes.time=t}(window.jQuery),function(e){"use
strict";var
t=function(n){this.init("select2",n,t.defaults),n.select2=n.select2||{},this.sourceData=null,n.placeholder&&(n.select2.placeholder=n.placeholder);if(!n.select2.tags&&n.source){var
r=n.source;e.isFunction(n.source)&&(r=n.source.call(n.scope)),typeof
r=="string"?(n.select2.ajax=n.select2.ajax||{},n.select2.ajax.data||(n.select2.ajax.data=function(e){return{query:e}}),n.select2.ajax.results||(n.select2.ajax.results=function(e){return{results:e}}),n.select2.ajax.url=r):(this.sourceData=this.convertSource(r),n.select2.data=this.sourceData)}this.options.select2=e.extend({},t.defaults.select2,n.select2),this.isMultiple=this.options.select2.tags||this.options.select2.multiple,this.isRemote="ajax"in
this.options.select2,this.idFunc=this.options.select2.id;if(typeof
this.idFunc!="function"){var
i=this.idFunc||"id";this.idFunc=function(e){return
e[i]}}this.formatSelection=this.options.select2.formatSelection,typeof
this.formatSelection!="function"&&(this.formatSelection=function(e){return
e.text})};e.fn.editableutils.inherit(t,e.fn.editabletypes.abstractinput),e.extend(t.prototype,{render:function(){this.setClass(),this.$input.select2(this.options.select2),this.isRemote&&this.$input.on("select2-loaded",e.proxy(function(e){this.sourceData=e.items.results},this)),this.isMultiple&&this.$input.on("change",function(){e(this).closest("form").parent().triggerHandler("resize")})},value2html:function(t,n){var
r="",i,s=this;this.options.select2.tags?i=t:this.sourceData&&(i=e.fn.editableutils.itemsByValue(t,this.sourceData,this.idFunc)),e.isArray(i)?(r=[],e.each(i,function(e,t){r.push(t&&typeof
t=="object"?s.formatSelection(t):t)})):i&&(r=s.formatSelection(i)),r=e.isArray(r)?r.join(this.options.viewseparator):r,e(n).text(r)},html2value:function(e){return
this.options.select2.tags?this.str2value(e,this.options.viewseparator):null},value2input:function(t){this.$input.val(t).trigger("change",!0);if(this.isRemote&&!this.isMultiple&&!this.options.select2.initSelection){var
n=this.options.select2.id,r=this.options.select2.formatSelection;if(!n&&!r){var
i={id:t,text:e(this.options.scope).text()};this.$input.select2("data",i)}}},input2value:function(){return
this.$input.select2("val")},str2value:function(t,n){if(typeof
t!="string"||!this.isMultiple)return
t;n=n||this.options.select2.separator||e.fn.select2.defaults.separator;var
r,i,s;if(t===null||t.length<1)return
null;r=t.split(n);for(i=0,s=r.length;i<s;i+=1)r[i]=e.trim(r[i]);return
r},autosubmit:function(){this.$input.on("change",function(t,n){n||e(this).closest("form").submit()})},convertSource:function(t){if(e.isArray(t)&&t.length&&t[0].value!==undefined)for(var
n=0;n<t.length;n++)t[n].value!==undefined&&(t[n].id=t[n].value,delete
t[n].value);return
t},destroy:function(){this.$input.data("select2")&&this.$input.select2("destroy")}}),t.defaults=e.extend({},e.fn.editabletypes.abstractinput.defaults,{tpl:'<input
type="hidden">',select2:null,placeholder:null,source:null,viewseparator:",
"}),e.fn.editabletypes.select2=t}(window.jQuery),function(e){var
t=function(t,n){this.$element=e(t);if(!this.$element.is("input")){e.error("Combodate
should be applied to INPUT
element");return}this.options=e.extend({},e.fn.combodate.defaults,n,this.$element.data()),this.init()};t.prototype={constructor:t,init:function(){this.map={day:["D","date"],month:["M","month"],year:["Y","year"],hour:["[Hh]","hours"],minute:["m","minutes"],second:["s","seconds"],ampm:["[Aa]",""]},this.$widget=e('<span
class="combodate"></span>').html(this.getTemplate()),this.initCombos(),this.$widget.on("change","select",e.proxy(function(){this.$element.val(this.getValue())},this)),this.$widget.find("select").css("width","auto"),this.$element.hide().after(this.$widget),this.setValue(this.$element.val()||this.options.value)},getTemplate:function(){var
t=this.options.template;return e.each(this.map,function(e,n){n=n[0];var
r=new
RegExp(n+"+"),i=n.length>1?n.substring(1,2):n;t=t.replace(r,"{"+i+"}")}),t=t.replace(/
/g," "),e.each(this.map,function(e,n){n=n[0];var
r=n.length>1?n.substring(1,2):n;t=t.replace("{"+r+"}",'<select
class="'+e+'"></select>')}),t},initCombos:function(){var
t=this;e.each(this.map,function(e,n){var
r=t.$widget.find("."+e),i,s;r.length&&(t["$"+e]=r,i="fill"+e.charAt(0).toUpperCase()+e.slice(1),s=t[i](),t["$"+e].html(t.renderItems(s)))})},initItems:function(e){var
t=[],n;if(this.options.firstItem==="name"){n=moment.relativeTime||moment.langData()._relativeTime;var
r=typeof n[e]=="function"?n[e](1,!0,e,!1):n[e];r=r.split("
").reverse()[0],t.push(["",r])}else
this.options.firstItem==="empty"&&t.push(["",""]);return
t},renderItems:function(e){var t=[];for(var
n=0;n<e.length;n++)t.push('<option
value="'+e[n][0]+'">'+e[n][1]+"</option>");return
t.join("\n")},fillDay:function(){var
e=this.initItems("d"),t,n,r=this.options.template.indexOf("DD")!==-1;for(n=1;n<=31;n++)t=r?this.leadZero(n):n,e.push([n,t]);return
e},fillMonth:function(){var
e=this.initItems("M"),t,n,r=this.options.template.indexOf("MMMM")!==-1,i=this.options.template.indexOf("MMM")!==-1,s=this.options.template.indexOf("MM")!==-1;for(n=0;n<=11;n++)r?t=moment().date(1).month(n).format("MMMM"):i?t=moment().date(1).month(n).format("MMM"):s?t=this.leadZero(n+1):t=n+1,e.push([n,t]);return
e},fillYear:function(){var
e=[],t,n,r=this.options.template.indexOf("YYYY")!==-1;for(n=this.options.maxYear;n>=this.options.minYear;n--)t=r?n:(n+"").substring(2),e[this.options.yearDescending?"push":"unshift"]([n,t]);return
e=this.initItems("y").concat(e),e},fillHour:function(){var
e=this.initItems("h"),t,n,r=this.options.template.indexOf("h")!==-1,i=this.options.template.indexOf("H")!==-1,s=this.options.template.toLowerCase().indexOf("hh")!==-1,o=r?1:0,u=r?12:23;for(n=o;n<=u;n++)t=s?this.leadZero(n):n,e.push([n,t]);return
e},fillMinute:function(){var
e=this.initItems("m"),t,n,r=this.options.template.indexOf("mm")!==-1;for(n=0;n<=59;n+=this.options.minuteStep)t=r?this.leadZero(n):n,e.push([n,t]);return
e},fillSecond:function(){var
e=this.initItems("s"),t,n,r=this.options.template.indexOf("ss")!==-1;for(n=0;n<=59;n+=this.options.secondStep)t=r?this.leadZero(n):n,e.push([n,t]);return
e},fillAmpm:function(){var
e=this.options.template.indexOf("a")!==-1,t=this.options.template.indexOf("A")!==-1,n=[["am",e?"am":"AM"],["pm",e?"pm":"PM"]];return
n},getValue:function(t){var n,r={},i=this,s=!1;return
e.each(this.map,function(e,t){if(e==="ampm")return;var
n=e==="day"?1:0;r[e]=i["$"+e]?parseInt(i["$"+e].val(),10):n;if(isNaN(r[e]))return
s=!0,!1}),s?"":(this.$ampm&&(r.hour===12?r.hour=this.$ampm.val()==="am"?0:12:r.hour=this.$ampm.val()==="am"?r.hour:r.hour+12),n=moment([r.year,r.month,r.day,r.hour,r.minute,r.second]),this.highlight(n),t=t===undefined?this.options.format:t,t===null?n.isValid()?n:null:n.isValid()?n.format(t):"")},setValue:function(t){function
s(t,n){var r={};return
t.children("option").each(function(t,i){var
s=e(i).attr("value"),o;if(s==="")return;o=Math.abs(s-n);if(typeof
r.distance=="undefined"||o<r.distance)r={value:s,distance:o}}),r.value}if(!t)return;var
n=typeof
t=="string"?moment(t,this.options.format):moment(t),r=this,i={};n.isValid()&&(e.each(this.map,function(e,t){if(e==="ampm")return;i[e]=n[t[1]]()}),this.$ampm&&(i.hour>=12?(i.ampm="pm",i.hour>12&&(i.hour-=12)):(i.ampm="am",i.hour===0&&(i.hour=12))),e.each(i,function(e,t){r["$"+e]&&(e==="minute"&&r.options.minuteStep>1&&r.options.roundTime&&(t=s(r["$"+e],t)),e==="second"&&r.options.secondStep>1&&r.options.roundTime&&(t=s(r["$"+e],t)),r["$"+e].val(t))}),this.$element.val(n.format(this.options.format)))},highlight:function(e){e.isValid()?this.options.errorClass?this.$widget.removeClass(this.options.errorClass):this.$widget.find("select").css("border-color",this.borderColor):this.options.errorClass?this.$widget.addClass(this.options.errorClass):(this.borderColor||(this.borderColor=this.$widget.find("select").css("border-color")),this.$widget.find("select").css("border-color","red"))},leadZero:function(e){return
e<=9?"0"+e:e},destroy:function(){this.$widget.remove(),this.$element.removeData("combodate").show()}},e.fn.combodate=function(n){var
r,i=Array.apply(null,arguments);return
i.shift(),n==="getValue"&&this.length&&(r=this.eq(0).data("combodate"))?r.getValue.apply(r,i):this.each(function(){var
r=e(this),s=r.data("combodate"),o=typeof
n=="object"&&n;s||r.data("combodate",s=new
t(this,o)),typeof n=="string"&&typeof
s[n]=="function"&&s[n].apply(s,i)})},e.fn.combodate.defaults={format:"DD-MM-YYYY
HH:mm",template:"D / MMM / YYYY H :
mm",value:null,minYear:1970,maxYear:2015,yearDescending:!0,minuteStep:5,secondStep:1,firstItem:"empty",errorClass:null,roundTime:!0}}(window.jQuery),function(e){"use
strict";var
t=function(n){this.init("combodate",n,t.defaults),this.options.viewformat||(this.options.viewformat=this.options.format),n.combodate=e.fn.editableutils.tryParseJson(n.combodate,!0),this.options.combodate=e.extend({},t.defaults.combodate,n.combodate,{format:this.options.format,template:this.options.template})};e.fn.editableutils.inherit(t,e.fn.editabletypes.abstractinput),e.extend(t.prototype,{render:function(){this.$input.combodate(this.options.combodate)},value2html:function(t,n){var
r=t?t.format(this.options.viewformat):"";e(n).text(r)},html2value:function(e){return
e?moment(e,this.options.viewformat):null},value2str:function(e){return
e?e.format(this.options.format):""},str2value:function(e){return
e?moment(e,this.options.format):null},value2submit:function(e){return
this.value2str(e)},value2input:function(e){this.$input.combodate("setValue",e)},input2value:function(){return
this.$input.combodate("getValue",null)},activate:function(){this.$input.siblings(".combodate").find("select").eq(0).focus()},autosubmit:function(){}}),t.defaults=e.extend({},e.fn.editabletypes.abstractinput.defaults,{tpl:'<input
type="text">',inputclass:null,format:"YYYY-MM-DD",viewformat:null,template:"D
/ MMM /
YYYY",combodate:null}),e.fn.editabletypes.combodate=t}(window.jQuery),function(e){"use
strict";e.extend(e.fn.editableform.Constructor.prototype,{initTemplate:function(){this.$form=e(e.fn.editableform.template),this.$form.find(".editable-error-block").addClass("help-block")}}),e.fn.editableform.buttons='<button
type="submit" class="btn btn-primary
editable-submit"><i class="icon-ok
icon-white"></i></button><button
type="button" class="btn editable-cancel"><i
class="icon-remove"></i></button>',e.fn.editableform.errorGroupClass="error",e.fn.editableform.errorBlockClass=null}(window.jQuery),function(e){"use
strict";e.extend(e.fn.editableContainer.Popup.prototype,{containerName:"popover",innerCss:e.fn.popover&&e(e.fn.popover.defaults.template).find("p").length?".popover-content
p":".popover-content",initContainer:function(){e.extend(this.containerOptions,{trigger:"manual",selector:!1,content:"
",template:e.fn.popover.defaults.template});var
t;this.$element.data("template")&&(t=this.$element.data("template"),this.$element.removeData("template")),this.call(this.containerOptions),t&&this.$element.data("template",t)},innerShow:function(){this.call("show")},innerHide:function(){this.call("hide")},innerDestroy:function(){this.call("destroy")},setContainerOption:function(e,t){this.container().options[e]=t},setPosition:function(){(function(){var
t=this.tip(),n,r,i,s,o,u,a,f,l,c;o=typeof
this.options.placement=="function"?this.options.placement.call(this,t[0],this.$element[0]):this.options.placement,n=/in/.test(o),t.removeClass("top
right bottom
left").css({top:0,left:0,display:"block"}),r=this.getPosition(n),i=t[0].offsetWidth,s=t[0].offsetHeight,o=n?o.split("
")[1]:o,f={top:r.top+r.height,left:r.left+r.width/2-i/2},a={top:r.top-s,left:r.left+r.width/2-i/2},l={top:r.top+r.height/2-s/2,left:r.left-i},c={top:r.top+r.height/2-s/2,left:r.left+r.width};switch(o){case"bottom":f.top+s>e(window).scrollTop()+e(window).height()&&(a.top>e(window).scrollTop()?o="top":c.left+i<e(window).scrollLeft()+e(window).width()?o="right":l.left>e(window).scrollLeft()?o="left":o="right");break;case"top":a.top<e(window).scrollTop()&&(f.top+s<e(window).scrollTop()+e(window).height()?o="bottom":c.left+i<e(window).scrollLeft()+e(window).width()?o="right":l.left>e(window).scrollLeft()?o="left":o="right");break;case"left":l.left<e(window).scrollLeft()&&(c.left+i<e(window).scrollLeft()+e(window).width()?o="right":a.top>e(window).scrollTop()?o="top":a.top>e(window).scrollTop()?o="bottom":o="right");break;case"right":c.left+i>e(window).scrollLeft()+e(window).width()&&(l.left>e(window).scrollLeft()?o="left":a.top>e(window).scrollTop()?o="top":a.top>e(window).scrollTop()&&(o="bottom"))}switch(o){case"bottom":u=f;break;case"top":u=a;break;case"left":u=l;break;case"right":u=c}t.offset(u).addClass(o).addClass("in")}).call(this.container())}})}(window.jQuery),function(e){function
t(){return new Date(Date.UTC.apply(Date,arguments))}function n(){var e=new
Date;return t(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())}function
s(t,n){var r=e(t).data(),i={},s,o=new
RegExp("^"+n.toLowerCase()+"([A-Z])"),n=new
RegExp("^"+n.toLowerCase());for(var u in
r)n.test(u)&&(s=u.replace(o,function(e,t){return
t.toLowerCase()}),i[s]=r[u]);return i}function o(t){var
n={};if(!c[t]){t=t.split("-")[0];if(!c[t])return}var
r=c[t];return e.each(l,function(e,t){t in r&&(n[t]=r[t])}),n}var
r=function(t,n){var
r=this;this._process_options(n),this.element=e(t),this.isInline=!1,this.isInput=this.element.is("input"),this.component=this.element.is(".date")?this.element.find(".add-on,
.btn"):!1,this.hasInput=this.component&&this.element.find("input").length,this.component&&this.component.length===0&&(this.component=!1),this.picker=e(h.template),this._buildEvents(),this._attachEvents(),this.isInline?this.picker.addClass("datepicker-inline").appendTo(this.element):this.picker.addClass("datepicker-dropdown
dropdown-menu"),this.o.rtl&&(this.picker.addClass("datepicker-rtl"),this.picker.find(".prev
i, .next i").toggleClass("icon-arrow-left
icon-arrow-right")),this.viewMode=this.o.startView,this.o.calendarWeeks&&this.picker.find("tfoot
th.today").attr("colspan",function(e,t){return
parseInt(t)+1}),this._allow_update=!1,this.setStartDate(this.o.startDate),this.setEndDate(this.o.endDate),this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled),this.fillDow(),this.fillMonths(),this._allow_update=!0,this.update(),this.showMode(),this.isInline&&this.show()};r.prototype={constructor:r,_process_options:function(t){this._o=e.extend({},this._o,t);var
n=this.o=e.extend({},this._o),r=n.language;c[r]||(r=r.split("-")[0],c[r]||(r=f.language)),n.language=r;switch(n.startView){case
2:case"decade":n.startView=2;break;case
1:case"year":n.startView=1;break;default:n.startView=0}switch(n.minViewMode){case
1:case"months":n.minViewMode=1;break;case
2:case"years":n.minViewMode=2;break;default:n.minViewMode=0}n.startView=Math.max(n.startView,n.minViewMode),n.weekStart%=7,n.weekEnd=(n.weekStart+6)%7;var
i=h.parseFormat(n.format);n.startDate!==-Infinity&&(n.startDate=h.parseDate(n.startDate,i,n.language)),n.endDate!==Infinity&&(n.endDate=h.parseDate(n.endDate,i,n.language)),n.daysOfWeekDisabled=n.daysOfWeekDisabled||[],e.isArray(n.daysOfWeekDisabled)||(n.daysOfWeekDisabled=n.daysOfWeekDisabled.split(/[,\s]*/)),n.daysOfWeekDisabled=e.map(n.daysOfWeekDisabled,function(e){return
parseInt(e,10)})},_events:[],_secondaryEvents:[],_applyEvents:function(e){for(var
t=0,n,r;t<e.length;t++)n=e[t][0],r=e[t][1],n.on(r)},_unapplyEvents:function(e){for(var
t=0,n,r;t<e.length;t++)n=e[t][0],r=e[t][1],n.off(r)},_buildEvents:function(){this.isInput?this._events=[[this.element,{focus:e.proxy(this.show,this),keyup:e.proxy(this.update,this),keydown:e.proxy(this.keydown,this)}]]:this.component&&this.hasInput?this._events=[[this.element.find("input"),{focus:e.proxy(this.show,this),keyup:e.proxy(this.update,this),keydown:e.proxy(this.keydown,this)}],[this.component,{click:e.proxy(this.show,this)}]]:this.element.is("div")?this.isInline=!0:this._events=[[this.element,{click:e.proxy(this.show,this)}]],this._secondaryEvents=[[this.picker,{click:e.proxy(this.click,this)}],[e(window),{resize:e.proxy(this.place,this)}],[e(document),{mousedown:e.proxy(function(e){this.element.is(e.target)||this.element.find(e.target).size()||this.picker.is(e.target)||this.picker.find(e.target).size()||this.hide()},this)}]]},_attachEvents:function(){this._detachEvents(),this._applyEvents(this._events)},_detachEvents:function(){this._unapplyEvents(this._events)},_attachSecondaryEvents:function(){this._detachSecondaryEvents(),this._applyEvents(this._secondaryEvents)},_detachSecondaryEvents:function(){this._unapplyEvents(this._secondaryEvents)},_trigger:function(t,n){var
r=n||this.date,i=new
Date(r.getTime()+r.getTimezoneOffset()*6e4);this.element.trigger({type:t,date:i,format:e.proxy(function(e){var
t=e||this.o.format;return
h.formatDate(r,t,this.o.language)},this)})},show:function(e){this.isInline||this.picker.appendTo("body"),this.picker.show(),this.height=this.component?this.component.outerHeight():this.element.outerHeight(),this.place(),this._attachSecondaryEvents(),e&&e.preventDefault(),this._trigger("show")},hide:function(e){if(this.isInline)return;if(!this.picker.is(":visible"))return;this.picker.hide().detach(),this._detachSecondaryEvents(),this.viewMode=this.o.startView,this.showMode(),this.o.forceParse&&(this.isInput&&this.element.val()||this.hasInput&&this.element.find("input").val())&&this.setValue(),this._trigger("hide")},remove:function(){this.hide(),this._detachEvents(),this._detachSecondaryEvents(),this.picker.remove(),delete
this.element.data().datepicker,this.isInput||delete
this.element.data().date},getDate:function(){var e=this.getUTCDate();return
new
Date(e.getTime()+e.getTimezoneOffset()*6e4)},getUTCDate:function(){return
this.date},setDate:function(e){this.setUTCDate(new
Date(e.getTime()-e.getTimezoneOffset()*6e4))},setUTCDate:function(e){this.date=e,this.setValue()},setValue:function(){var
e=this.getFormattedDate();this.isInput?this.element.val(e):this.component&&this.element.find("input").val(e)},getFormattedDate:function(e){return
e===undefined&&(e=this.o.format),h.formatDate(this.date,e,this.o.language)},setStartDate:function(e){this._process_options({startDate:e}),this.update(),this.updateNavArrows()},setEndDate:function(e){this._process_options({endDate:e}),this.update(),this.updateNavArrows()},setDaysOfWeekDisabled:function(e){this._process_options({daysOfWeekDisabled:e}),this.update(),this.updateNavArrows()},place:function(){if(this.isInline)return;var
t=parseInt(this.element.parents().filter(function(){return
e(this).css("z-index")!="auto"}).first().css("z-index"))+10,n=this.component?this.component.parent().offset():this.element.offset(),r=this.component?this.component.outerHeight(!0):this.element.outerHeight(!0);this.picker.css({top:n.top+r,left:n.left,zIndex:t})},_allow_update:!0,update:function(){if(!this._allow_update)return;var
e,t=!1;arguments&&arguments.length&&(typeof
arguments[0]=="string"||arguments[0]instanceof
Date)?(e=arguments[0],t=!0):(e=this.isInput?this.element.val():this.element.data("date")||this.element.find("input").val(),delete
this.element.data().date),this.date=h.parseDate(e,this.o.format,this.o.language),t&&this.setValue(),this.date<this.o.startDate?this.viewDate=new
Date(this.o.startDate):this.date>this.o.endDate?this.viewDate=new
Date(this.o.endDate):this.viewDate=new
Date(this.date),this.fill()},fillDow:function(){var
e=this.o.weekStart,t="<tr>";if(this.o.calendarWeeks){var
n='<th
class="cw"> </th>';t+=n,this.picker.find(".datepicker-days
thead
tr:first-child").prepend(n)}while(e<this.o.weekStart+7)t+='<th
class="dow">'+c[this.o.language].daysMin[e++%7]+"</th>";t+="</tr>",this.picker.find(".datepicker-days
thead").append(t)},fillMonths:function(){var
e="",t=0;while(t<12)e+='<span
class="month">'+c[this.o.language].monthsShort[t++]+"</span>";this.picker.find(".datepicker-months
td").html(e)},setRange:function(t){!t||!t.length?delete
this.range:this.range=e.map(t,function(e){return
e.valueOf()}),this.fill()},getClassNames:function(t){var
n=[],r=this.viewDate.getUTCFullYear(),i=this.viewDate.getUTCMonth(),s=this.date.valueOf(),o=new
Date;return
t.getUTCFullYear()<r||t.getUTCFullYear()==r&&t.getUTCMonth()<i?n.push("old"):(t.getUTCFullYear()>r||t.getUTCFullYear()==r&&t.getUTCMonth()>i)&&n.push("new"),this.o.todayHighlight&&t.getUTCFullYear()==o.getFullYear()&&t.getUTCMonth()==o.getMonth()&&t.getUTCDate()==o.getDate()&&n.push("today"),s&&t.valueOf()==s&&n.push("active"),(t.valueOf()<this.o.startDate||t.valueOf()>this.o.endDate||e.inArray(t.getUTCDay(),this.o.daysOfWeekDisabled)!==-1)&&n.push("disabled"),this.range&&(t>this.range[0]&&t<this.range[this.range.length-1]&&n.push("range"),e.inArray(t.valueOf(),this.range)!=-1&&n.push("selected")),n},fill:function(){var
n=new
Date(this.viewDate),r=n.getUTCFullYear(),i=n.getUTCMonth(),s=this.o.startDate!==-Infinity?this.o.startDate.getUTCFullYear():-Infinity,o=this.o.startDate!==-Infinity?this.o.startDate.getUTCMonth():-Infinity,u=this.o.endDate!==Infinity?this.o.endDate.getUTCFullYear():Infinity,a=this.o.endDate!==Infinity?this.o.endDate.getUTCMonth():Infinity,f=this.date&&this.date.valueOf(),l;this.picker.find(".datepicker-days
thead th.datepicker-switch").text(c[this.o.language].months[i]+"
"+r),this.picker.find("tfoot
th.today").text(c[this.o.language].today).toggle(this.o.todayBtn!==!1),this.picker.find("tfoot
th.clear").text(c[this.o.language].clear).toggle(this.o.clearBtn!==!1),this.updateNavArrows(),this.fillMonths();var
p=t(r,i-1,28,0,0,0,0),d=h.getDaysInMonth(p.getUTCFullYear(),p.getUTCMonth());p.setUTCDate(d),p.setUTCDate(d-(p.getUTCDay()-this.o.weekStart+7)%7);var
v=new Date(p);v.setUTCDate(v.getUTCDate()+42),v=v.valueOf();var
m=[],g;while(p.valueOf()<v){if(p.getUTCDay()==this.o.weekStart){m.push("<tr>");if(this.o.calendarWeeks){var
y=new Date(+p+(this.o.weekStart-p.getUTCDay()-7)%7*864e5),b=new
Date(+y+(11-y.getUTCDay())%7*864e5),w=new
Date(+(w=t(b.getUTCFullYear(),0,1))+(11-w.getUTCDay())%7*864e5),E=(b-w)/864e5/7+1;m.push('<td
class="cw">'+E+"</td>")}}g=this.getClassNames(p),g.push("day");var
S=this.o.beforeShowDay(p);S===undefined?S={}:typeof
S=="boolean"?S={enabled:S}:typeof
S=="string"&&(S={classes:S}),S.enabled===!1&&g.push("disabled"),S.classes&&(g=g.concat(S.classes.split(/\s+/))),S.tooltip&&(l=S.tooltip),g=e.unique(g),m.push('<td
class="'+g.join(" ")+'"'+(l?'
title="'+l+'"':"")+">"+p.getUTCDate()+"</td>"),p.getUTCDay()==this.o.weekEnd&&m.push("</tr>"),p.setUTCDate(p.getUTCDate()+1)}this.picker.find(".datepicker-days
tbody").empty().append(m.join(""));var
x=this.date&&this.date.getUTCFullYear(),T=this.picker.find(".datepicker-months").find("th:eq(1)").text(r).end().find("span").removeClass("active");x&&x==r&&T.eq(this.date.getUTCMonth()).addClass("active"),(r<s||r>u)&&T.addClass("disabled"),r==s&&T.slice(0,o).addClass("disabled"),r==u&&T.slice(a+1).addClass("disabled"),m="",r=parseInt(r/10,10)*10;var
N=this.picker.find(".datepicker-years").find("th:eq(1)").text(r+"-"+(r+9)).end().find("td");r-=1;for(var
C=-1;C<11;C++)m+='<span class="year'+(C==-1?"
old":C==10?" new":"")+(x==r?"
active":"")+(r<s||r>u?"
disabled":"")+'">'+r+"</span>",r+=1;N.html(m)},updateNavArrows:function(){if(!this._allow_update)return;var
e=new
Date(this.viewDate),t=e.getUTCFullYear(),n=e.getUTCMonth();switch(this.viewMode){case
0:this.o.startDate!==-Infinity&&t<=this.o.startDate.getUTCFullYear()&&n<=this.o.startDate.getUTCMonth()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==Infinity&&t>=this.o.endDate.getUTCFullYear()&&n>=this.o.endDate.getUTCMonth()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"});break;case
1:case
2:this.o.startDate!==-Infinity&&t<=this.o.startDate.getUTCFullYear()?this.picker.find(".prev").css({visibility:"hidden"}):this.picker.find(".prev").css({visibility:"visible"}),this.o.endDate!==Infinity&&t>=this.o.endDate.getUTCFullYear()?this.picker.find(".next").css({visibility:"hidden"}):this.picker.find(".next").css({visibility:"visible"})}},click:function(n){n.preventDefault();var
r=e(n.target).closest("span, td,
th");if(r.length==1)switch(r[0].nodeName.toLowerCase()){case"th":switch(r[0].className){case"datepicker-switch":this.showMode(1);break;case"prev":case"next":var
i=h.modes[this.viewMode].navStep*(r[0].className=="prev"?-1:1);switch(this.viewMode){case
0:this.viewDate=this.moveMonth(this.viewDate,i);break;case 1:case
2:this.viewDate=this.moveYear(this.viewDate,i)}this.fill();break;case"today":var
s=new
Date;s=t(s.getFullYear(),s.getMonth(),s.getDate(),0,0,0),this.showMode(-2);var
o=this.o.todayBtn=="linked"?null:"view";this._setDate(s,o);break;case"clear":var
u;this.isInput?u=this.element:this.component&&(u=this.element.find("input")),u&&u.val("").change(),this._trigger("changeDate"),this.update(),this.o.autoclose&&this.hide()}break;case"span":if(!r.is(".disabled")){this.viewDate.setUTCDate(1);if(r.is(".month")){var
a=1,f=r.parent().find("span").index(r),l=this.viewDate.getUTCFullYear();this.viewDate.setUTCMonth(f),this._trigger("changeMonth",this.viewDate),this.o.minViewMode===1&&this._setDate(t(l,f,a,0,0,0,0))}else{var
l=parseInt(r.text(),10)||0,a=1,f=0;this.viewDate.setUTCFullYear(l),this._trigger("changeYear",this.viewDate),this.o.minViewMode===2&&this._setDate(t(l,f,a,0,0,0,0))}this.showMode(-1),this.fill()}break;case"td":if(r.is(".day")&&!r.is(".disabled")){var
a=parseInt(r.text(),10)||1,l=this.viewDate.getUTCFullYear(),f=this.viewDate.getUTCMonth();r.is(".old")?f===0?(f=11,l-=1):f-=1:r.is(".new")&&(f==11?(f=0,l+=1):f+=1),this._setDate(t(l,f,a,0,0,0,0))}}},_setDate:function(e,t){if(!t||t=="date")this.date=new
Date(e);if(!t||t=="view")this.viewDate=new
Date(e);this.fill(),this.setValue(),this._trigger("changeDate");var
n;this.isInput?n=this.element:this.component&&(n=this.element.find("input")),n&&(n.change(),this.o.autoclose&&(!t||t=="date")&&this.hide())},moveMonth:function(e,t){if(!t)return
e;var n=new
Date(e.valueOf()),r=n.getUTCDate(),i=n.getUTCMonth(),s=Math.abs(t),o,u;t=t>0?1:-1;if(s==1){u=t==-1?function(){return
n.getUTCMonth()==i}:function(){return
n.getUTCMonth()!=o},o=i+t,n.setUTCMonth(o);if(o<0||o>11)o=(o+12)%12}else{for(var
a=0;a<s;a++)n=this.moveMonth(n,t);o=n.getUTCMonth(),n.setUTCDate(r),u=function(){return
o!=n.getUTCMonth()}}while(u())n.setUTCDate(--r),n.setUTCMonth(o);return
n},moveYear:function(e,t){return
this.moveMonth(e,t*12)},dateWithinRange:function(e){return
e>=this.o.startDate&&e<=this.o.endDate},keydown:function(e){if(this.picker.is(":not(:visible)")){e.keyCode==27&&this.show();return}var
t=!1,n,r,i,s,o;switch(e.keyCode){case
27:this.hide(),e.preventDefault();break;case 37:case
39:if(!this.o.keyboardNavigation)break;n=e.keyCode==37?-1:1,e.ctrlKey?(s=this.moveYear(this.date,n),o=this.moveYear(this.viewDate,n)):e.shiftKey?(s=this.moveMonth(this.date,n),o=this.moveMonth(this.viewDate,n)):(s=new
Date(this.date),s.setUTCDate(this.date.getUTCDate()+n),o=new
Date(this.viewDate),o.setUTCDate(this.viewDate.getUTCDate()+n)),this.dateWithinRange(s)&&(this.date=s,this.viewDate=o,this.setValue(),this.update(),e.preventDefault(),t=!0);break;case
38:case
40:if(!this.o.keyboardNavigation)break;n=e.keyCode==38?-1:1,e.ctrlKey?(s=this.moveYear(this.date,n),o=this.moveYear(this.viewDate,n)):e.shiftKey?(s=this.moveMonth(this.date,n),o=this.moveMonth(this.viewDate,n)):(s=new
Date(this.date),s.setUTCDate(this.date.getUTCDate()+n*7),o=new
Date(this.viewDate),o.setUTCDate(this.viewDate.getUTCDate()+n*7)),this.dateWithinRange(s)&&(this.date=s,this.viewDate=o,this.setValue(),this.update(),e.preventDefault(),t=!0);break;case
13:this.hide(),e.preventDefault();break;case
9:this.hide()}if(t){this._trigger("changeDate");var
u;this.isInput?u=this.element:this.component&&(u=this.element.find("input")),u&&u.change()}},showMode:function(e){e&&(this.viewMode=Math.max(this.o.minViewMode,Math.min(2,this.viewMode+e))),this.picker.find(">div").hide().filter(".datepicker-"+h.modes[this.viewMode].clsName).css("display","block"),this.updateNavArrows()}};var
i=function(t,n){this.element=e(t),this.inputs=e.map(n.inputs,function(e){return
e.jquery?e[0]:e}),delete
n.inputs,e(this.inputs).datepicker(n).bind("changeDate",e.proxy(this.dateUpdated,this)),this.pickers=e.map(this.inputs,function(t){return
e(t).data("datepicker")}),this.updateDates()};i.prototype={updateDates:function(){this.dates=e.map(this.pickers,function(e){return
e.date}),this.updateRanges()},updateRanges:function(){var
t=e.map(this.dates,function(e){return
e.valueOf()});e.each(this.pickers,function(e,n){n.setRange(t)})},dateUpdated:function(t){var
n=e(t.target).data("datepicker"),r=n.getUTCDate(),i=e.inArray(t.target,this.inputs),s=this.inputs.length;if(i==-1)return;if(r<this.dates[i])while(i>=0&&r<this.dates[i])this.pickers[i--].setUTCDate(r);else
if(r>this.dates[i])while(i<s&&r>this.dates[i])this.pickers[i++].setUTCDate(r);this.updateDates()},remove:function(){e.map(this.pickers,function(e){e.remove()}),delete
this.element.data().datepicker}};var
u=e.fn.datepicker,a=e.fn.datepicker=function(t){var
n=Array.apply(null,arguments);n.shift();var u,a;return
this.each(function(){var
a=e(this),l=a.data("datepicker"),c=typeof
t=="object"&&t;if(!l){var
h=s(this,"date"),p=e.extend({},f,h,c),d=o(p.language),v=e.extend({},f,d,h,c);if(a.is(".input-daterange")||v.inputs){var
m={inputs:v.inputs||a.find("input").toArray()};a.data("datepicker",l=new
i(this,e.extend(v,m)))}else a.data("datepicker",l=new
r(this,v))}if(typeof t=="string"&&typeof
l[t]=="function"){u=l[t].apply(l,n);if(u!==undefined)return!1}}),u!==undefined?u:this},f=e.fn.datepicker.defaults={autoclose:!1,beforeShowDay:e.noop,calendarWeeks:!1,clearBtn:!1,daysOfWeekDisabled:[],endDate:Infinity,forceParse:!0,format:"mm/dd/yyyy",keyboardNavigation:!0,language:"en",minViewMode:0,rtl:!1,startDate:-Infinity,startView:0,todayBtn:!1,todayHighlight:!1,weekStart:0},l=e.fn.datepicker.locale_opts=["format","rtl","weekStart"];e.fn.datepicker.Constructor=r;var
c=e.fn.datepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],today:"Today",clear:"Clear"}},h={modes:[{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(e){return
e%4===0&&e%100!==0||e%400===0},getDaysInMonth:function(e,t){return[31,h.isLeapYear(e)?29:28,31,30,31,30,31,31,30,31,30,31][t]},validParts:/dd?|DD?|mm?|MM?|yy(?:yy)?/g,nonpunctuation:/[^
-\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g,parseFormat:function(e){var
t=e.replace(this.validParts,"\0").split("\0"),n=e.match(this.validParts);if(!t||!t.length||!n||n.length===0)throw
new Error("Invalid date
format.");return{separators:t,parts:n}},parseDate:function(n,i,s){if(n
instanceof Date)return n;typeof
i=="string"&&(i=h.parseFormat(i));if(/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(n)){var
o=/([\-+]\d+)([dmwy])/,u=n.match(/([\-+]\d+)([dmwy])/g),a,f;n=new
Date;for(var
l=0;l<u.length;l++){a=o.exec(u[l]),f=parseInt(a[1]);switch(a[2]){case"d":n.setUTCDate(n.getUTCDate()+f);break;case"m":n=r.prototype.moveMonth.call(r.prototype,n,f);break;case"w":n.setUTCDate(n.getUTCDate()+f*7);break;case"y":n=r.prototype.moveYear.call(r.prototype,n,f)}}return
t(n.getUTCFullYear(),n.getUTCMonth(),n.getUTCDate(),0,0,0)}var
u=n&&n.match(this.nonpunctuation)||[],n=new
Date,p={},d=["yyyy","yy","M","MM","m","mm","d","dd"],v={yyyy:function(e,t){return
e.setUTCFullYear(t)},yy:function(e,t){return
e.setUTCFullYear(2e3+t)},m:function(e,t){t-=1;while(t<0)t+=12;t%=12,e.setUTCMonth(t);while(e.getUTCMonth()!=t)e.setUTCDate(e.getUTCDate()-1);return
e},d:function(e,t){return
e.setUTCDate(t)}},m,g,a;v.M=v.MM=v.mm=v.m,v.dd=v.d,n=t(n.getFullYear(),n.getMonth(),n.getDate(),0,0,0);var
y=i.parts.slice();u.length!=y.length&&(y=e(y).filter(function(t,n){return
e.inArray(n,d)!==-1}).toArray());if(u.length==y.length){for(var
l=0,b=y.length;l<b;l++){m=parseInt(u[l],10),a=y[l];if(isNaN(m))switch(a){case"MM":g=e(c[s].months).filter(function(){var
e=this.slice(0,u[l].length),t=u[l].slice(0,e.length);return
e==t}),m=e.inArray(g[0],c[s].months)+1;break;case"M":g=e(c[s].monthsShort).filter(function(){var
e=this.slice(0,u[l].length),t=u[l].slice(0,e.length);return
e==t}),m=e.inArray(g[0],c[s].monthsShort)+1}p[a]=m}for(var
l=0,w;l<d.length;l++)w=d[l],w in
p&&!isNaN(p[w])&&v[w](n,p[w])}return
n},formatDate:function(t,n,r){typeof
n=="string"&&(n=h.parseFormat(n));var
i={d:t.getUTCDate(),D:c[r].daysShort[t.getUTCDay()],DD:c[r].days[t.getUTCDay()],m:t.getUTCMonth()+1,M:c[r].monthsShort[t.getUTCMonth()],MM:c[r].months[t.getUTCMonth()],yy:t.getUTCFullYear().toString().substring(2),yyyy:t.getUTCFullYear()};i.dd=(i.d<10?"0":"")+i.d,i.mm=(i.m<10?"0":"")+i.m;var
t=[],s=e.extend([],n.separators);for(var
o=0,u=n.parts.length;o<=u;o++)s.length&&t.push(s.shift()),t.push(i[n.parts[o]]);return
t.join("")},headTemplate:'<thead><tr><th
class="prev"><i
class="icon-arrow-left"/></th><th
colspan="5"
class="datepicker-switch"></th><th
class="next"><i
class="icon-arrow-right"/></th></tr></thead>',contTemplate:'<tbody><tr><td
colspan="7"></td></tr></tbody>',footTemplate:'<tfoot><tr><th
colspan="7"
class="today"></th></tr><tr><th
colspan="7"
class="clear"></th></tr></tfoot>'};h.template='<div
class="datepicker"><div
class="datepicker-days"><table class="
table-condensed">'+h.headTemplate+"<tbody></tbody>"+h.footTemplate+"</table>"+"</div>"+'<div
class="datepicker-months">'+'<table
class="table-condensed">'+h.headTemplate+h.contTemplate+h.footTemplate+"</table>"+"</div>"+'<div
class="datepicker-years">'+'<table
class="table-condensed">'+h.headTemplate+h.contTemplate+h.footTemplate+"</table>"+"</div>"+"</div>",e.fn.datepicker.DPGlobal=h,e.fn.datepicker.noConflict=function(){return
e.fn.datepicker=u,this},e(document).on("focus.datepicker.data-api
click.datepicker.data-api",'[data-provide="datepicker"]',function(t){var
n=e(this);if(n.data("datepicker"))return;t.preventDefault(),a.call(n,"show")}),e(function(){a.call(e('[data-provide="datepicker-inline"]'))})}(window.jQuery),function(e){"use
strict";e.fn.bdatepicker=e.fn.datepicker.noConflict(),e.fn.datepicker||(e.fn.datepicker=e.fn.bdatepicker);var
t=function(e){this.init("date",e,t.defaults),this.initPicker(e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.abstractinput),e.extend(t.prototype,{initPicker:function(t,n){this.options.viewformat||(this.options.viewformat=this.options.format),t.datepicker=e.fn.editableutils.tryParseJson(t.datepicker,!0),this.options.datepicker=e.extend({},n.datepicker,t.datepicker,{format:this.options.viewformat}),this.options.datepicker.language=this.options.datepicker.language||"en",this.dpg=e.fn.bdatepicker.DPGlobal,this.parsedFormat=this.dpg.parseFormat(this.options.format),this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat)},render:function(){this.$input.bdatepicker(this.options.datepicker),this.options.clear&&(this.$clear=e('<a
href="#"></a>').html(this.options.clear).click(e.proxy(function(e){e.preventDefault(),e.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(e('<div
class="editable-clear">').append(this.$clear)))},value2html:function(e,n){var
r=e?this.dpg.formatDate(e,this.parsedViewFormat,this.options.datepicker.language):"";t.superclass.value2html(r,n)},html2value:function(e){return
this.parseDate(e,this.parsedViewFormat)},value2str:function(e){return
e?this.dpg.formatDate(e,this.parsedFormat,this.options.datepicker.language):""},str2value:function(e){return
this.parseDate(e,this.parsedFormat)},value2submit:function(e){return
this.value2str(e)},value2input:function(e){this.$input.bdatepicker("update",e)},input2value:function(){return
this.$input.data("datepicker").date},activate:function(){},clear:function(){this.$input.data("datepicker").date=null,this.$input.find(".active").removeClass("active"),this.options.showbuttons||this.$input.closest("form").submit()},autosubmit:function(){this.$input.on("mouseup",".day",function(t){if(e(t.currentTarget).is(".old")||e(t.currentTarget).is(".new"))return;var
n=e(this).closest("form");setTimeout(function(){n.submit()},200)})},parseDate:function(e,t){var
n=null,r;return
e&&(n=this.dpg.parseDate(e,t,this.options.datepicker.language),typeof
e=="string"&&(r=this.dpg.formatDate(n,t,this.options.datepicker.language),e!==r&&(n=null))),n}}),t.defaults=e.extend({},e.fn.editabletypes.abstractinput.defaults,{tpl:'<div
class="editable-date
well"></div>',inputclass:null,format:"yyyy-mm-dd",viewformat:null,datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:!1},clear:"×
clear"}),e.fn.editabletypes.date=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("datefield",e,t.defaults),this.initPicker(e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.date),e.extend(t.prototype,{render:function(){this.$input=this.$tpl.find("input"),this.setClass(),this.setAttr("placeholder"),this.$tpl.bdatepicker(this.options.datepicker),this.$input.off("focus
keydown"),this.$input.keyup(e.proxy(function(){this.$tpl.removeData("date"),this.$tpl.bdatepicker("update")},this))},value2input:function(e){this.$input.val(e?this.dpg.formatDate(e,this.parsedViewFormat,this.options.datepicker.language):""),this.$tpl.bdatepicker("update")},input2value:function(){return
this.html2value(this.$input.val())},activate:function(){e.fn.editabletypes.text.prototype.activate.call(this)},autosubmit:function(){}}),t.defaults=e.extend({},e.fn.editabletypes.date.defaults,{tpl:'<div
class="input-append date"><input
type="text"/><span class="add-on"><i
class="icon-th"></i></span></div>',inputclass:"input-small",datepicker:{weekStart:0,startView:0,minViewMode:0,autoclose:!0}}),e.fn.editabletypes.datefield=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("datetime",e,t.defaults),this.initPicker(e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.abstractinput),e.extend(t.prototype,{initPicker:function(t,n){this.options.viewformat||(this.options.viewformat=this.options.format),t.datetimepicker=e.fn.editableutils.tryParseJson(t.datetimepicker,!0),this.options.datetimepicker=e.extend({},n.datetimepicker,t.datetimepicker,{format:this.options.viewformat}),this.options.datetimepicker.language=this.options.datetimepicker.language||"en",this.dpg=e.fn.datetimepicker.DPGlobal,this.parsedFormat=this.dpg.parseFormat(this.options.format,this.options.formatType),this.parsedViewFormat=this.dpg.parseFormat(this.options.viewformat,this.options.formatType)},render:function(){this.$input.datetimepicker(this.options.datetimepicker),this.$input.on("changeMode",function(t){var
n=e(this).closest("form").parent();setTimeout(function(){n.triggerHandler("resize")},0)}),this.options.clear&&(this.$clear=e('<a
href="#"></a>').html(this.options.clear).click(e.proxy(function(e){e.preventDefault(),e.stopPropagation(),this.clear()},this)),this.$tpl.parent().append(e('<div
class="editable-clear">').append(this.$clear)))},value2html:function(e,n){var
r=e?this.dpg.formatDate(this.toUTC(e),this.parsedViewFormat,this.options.datetimepicker.language,this.options.formatType):"";if(!n)return
r;t.superclass.value2html(r,n)},html2value:function(e){var
t=this.parseDate(e,this.parsedViewFormat);return
t?this.fromUTC(t):null},value2str:function(e){return
e?this.dpg.formatDate(this.toUTC(e),this.parsedFormat,this.options.datetimepicker.language,this.options.formatType):""},str2value:function(e){var
t=this.parseDate(e,this.parsedFormat);return
t?this.fromUTC(t):null},value2submit:function(e){return
this.value2str(e)},value2input:function(e){e&&this.$input.data("datetimepicker").setDate(e)},input2value:function(){var
e=this.$input.data("datetimepicker");return
e.date?e.getDate():null},activate:function(){},clear:function(){this.$input.data("datetimepicker").date=null,this.$input.find(".active").removeClass("active"),this.options.showbuttons||this.$input.closest("form").submit()},autosubmit:function(){this.$input.on("mouseup",".minute",function(t){var
n=e(this).closest("form");setTimeout(function(){n.submit()},200)})},toUTC:function(e){return
e?new
Date(e.valueOf()-e.getTimezoneOffset()*6e4):e},fromUTC:function(e){return
e?new
Date(e.valueOf()+e.getTimezoneOffset()*6e4):e},parseDate:function(e,t){var
n=null,r;return
e&&(n=this.dpg.parseDate(e,t,this.options.datetimepicker.language,this.options.formatType),typeof
e=="string"&&(r=this.dpg.formatDate(n,t,this.options.datetimepicker.language,this.options.formatType),e!==r&&(n=null))),n}}),t.defaults=e.extend({},e.fn.editabletypes.abstractinput.defaults,{tpl:'<div
class="editable-date
well"></div>',inputclass:null,format:"yyyy-mm-dd
hh:ii",formatType:"standard",viewformat:null,datetimepicker:{todayHighlight:!1,autoclose:!1},clear:"×
clear"}),e.fn.editabletypes.datetime=t}(window.jQuery),function(e){"use
strict";var
t=function(e){this.init("datetimefield",e,t.defaults),this.initPicker(e,t.defaults)};e.fn.editableutils.inherit(t,e.fn.editabletypes.datetime),e.extend(t.prototype,{render:function(){this.$input=this.$tpl.find("input"),this.setClass(),this.setAttr("placeholder"),this.$tpl.datetimepicker(this.options.datetimepicker),this.$input.off("focus
keydown"),this.$input.keyup(e.proxy(function(){this.$tpl.removeData("date"),this.$tpl.datetimepicker("update")},this))},value2input:function(e){this.$input.val(this.value2html(e)),this.$tpl.datetimepicker("update")},input2value:function(){return
this.html2value(this.$input.val())},activate:function(){e.fn.editabletypes.text.prototype.activate.call(this)},autosubmit:function(){}}),t.defaults=e.extend({},e.fn.editabletypes.datetime.defaults,{tpl:'<div
class="input-append date"><input
type="text"/><span class="add-on"><i
class="icon-th"></i></span></div>',inputclass:"input-medium",datetimepicker:{todayHighlight:!1,autoclose:!0}}),e.fn.editabletypes.datetimefield=t}(window.jQuery),function(e){"use
strict";var
t=function(n){this.init("typeahead",n,t.defaults),this.options.typeahead=e.extend({},t.defaults.typeahead,{matcher:this.matcher,sorter:this.sorter,highlighter:this.highlighter,updater:this.updater},n.typeahead)};e.fn.editableutils.inherit(t,e.fn.editabletypes.list),e.extend(t.prototype,{renderList:function(){this.$input=this.$tpl.is("input")?this.$tpl:this.$tpl.find('input[type="text"]'),this.options.typeahead.source=this.sourceData,this.$input.typeahead(this.options.typeahead);var
t=this.$input.data("typeahead");t.render=e.proxy(this.typeaheadRender,t),t.select=e.proxy(this.typeaheadSelect,t),t.move=e.proxy(this.typeaheadMove,t),this.renderClear(),this.setClass(),this.setAttr("placeholder")},value2htmlFinal:function(t,n){if(this.getIsObjects()){var
r=e.fn.editableutils.itemsByValue(t,this.sourceData);e(n).text(r.length?r[0].text:"")}else
e(n).text(t)},html2value:function(e){return
e?e:null},value2input:function(t){if(this.getIsObjects()){var
n=e.fn.editableutils.itemsByValue(t,this.sourceData);this.$input.data("value",t).val(n.length?n[0].text:"")}else
this.$input.val(t)},input2value:function(){if(this.getIsObjects()){var
t=this.$input.data("value"),n=e.fn.editableutils.itemsByValue(t,this.sourceData);return
n.length&&n[0].text.toLowerCase()===this.$input.val().toLowerCase()?t:null}return
this.$input.val()},getIsObjects:function(){if(this.isObjects===undefined){this.isObjects=!1;for(var
e=0;e<this.sourceData.length;e++)if(this.sourceData[e].value!==this.sourceData[e].text){this.isObjects=!0;break}}return
this.isObjects},activate:e.fn.editabletypes.text.prototype.activate,renderClear:e.fn.editabletypes.text.prototype.renderClear,postrender:e.fn.editabletypes.text.prototype.postrender,toggleClear:e.fn.editabletypes.text.prototype.toggleClear,clear:function(){e.fn.editabletypes.text.prototype.clear.call(this),this.$input.data("value","")},matcher:function(t){return
e.fn.typeahead.Constructor.prototype.matcher.call(this,t.text)},sorter:function(e){var
t=[],n=[],r=[],i,s;while(i=e.shift())s=i.text,s.toLowerCase().indexOf(this.query.toLowerCase())?~s.indexOf(this.query)?n.push(i):r.push(i):t.push(i);return
t.concat(n,r)},highlighter:function(t){return
e.fn.typeahead.Constructor.prototype.highlighter.call(this,t.text)},updater:function(e){return
this.$element.data("value",e.value),e.text},typeaheadRender:function(t){var
n=this;return t=e(t).map(function(t,r){return
t=e(n.options.item).data("item",r),t.find("a").html(n.highlighter(r)),t[0]}),this.options.autoSelect&&t.first().addClass("active"),this.$menu.html(t),this},typeaheadSelect:function(){var
e=this.$menu.find(".active").data("item");return(this.options.autoSelect||e)&&this.$element.val(this.updater(e)).change(),this.hide()},typeaheadMove:function(e){if(!this.shown)return;switch(e.keyCode){case
9:case 13:case
27:if(!this.$menu.find(".active").length)return;e.preventDefault();break;case
38:e.preventDefault(),this.prev();break;case
40:e.preventDefault(),this.next()}e.stopPropagation()}}),t.defaults=e.extend({},e.fn.editabletypes.list.defaults,{tpl:'<input
type="text">',typeahead:null,clear:!0}),e.fn.editabletypes.typeahead=t}(window.jQuery);assets/js/editable/js/locales/bootstrap-datepicker.br.js000064400000001174151171034400017356
0ustar00/**
* Brazilian translation for bootstrap-datepicker
* Cauan Cabral <cauan@radig.com.br>
*/
;(function($){
$.fn.datepicker.dates['br'] = {
days: ["Domingo", "Segunda", "Terça",
"Quarta", "Quinta", "Sexta",
"Sábado", "Domingo"],
daysShort: ["Dom", "Seg", "Ter",
"Qua", "Qui", "Sex", "Sáb",
"Dom"],
daysMin: ["Do", "Se", "Te", "Qu",
"Qu", "Se", "Sa", "Do"],
months: ["Janeiro", "Fevereiro", "Março",
"Abril", "Maio", "Junho", "Julho",
"Agosto", "Setembro", "Outubro",
"Novembro", "Dezembro"],
monthsShort: ["Jan", "Fev", "Mar",
"Abr", "Mai", "Jun", "Jul",
"Ago", "Set", "Out", "Nov",
"Dez"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.cs.js000064400000001200151171034400017346
0ustar00/**
* Czech translation for bootstrap-datepicker
* Matěj Koubík <matej@koubik.name>
*/
;(function($){
$.fn.datepicker.dates['cs'] = {
days: ["Neděle", "Pondělí", "Úterý",
"Středa", "Čtvrtek", "Pátek",
"Sobota", "Neděle"],
daysShort: ["Ne", "Po", "Út",
"St", "Čt", "Pá", "So",
"Ne"],
daysMin: ["N", "P", "Ú", "St",
"Č", "P", "So", "N"],
months: ["Leden", "Únor", "Březen",
"Duben", "Květen", "Červen",
"Červenec", "Srpen", "Září",
"Říjen", "Listopad", "Prosinec"],
monthsShort: ["Led", "Úno", "Bře",
"Dub", "Kvě", "Čer", "Čnc",
"Srp", "Zář", "Říj", "Lis",
"Pro"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.da.js000064400000001206151171034400017333
0ustar00/**
* Danish translation for bootstrap-datepicker
* Christian Pedersen <http://github.com/chripede>
*/
;(function($){
$.fn.datepicker.dates['da'] = {
days: ["Søndag", "Mandag", "Tirsdag",
"Onsdag", "Torsdag", "Fredag",
"Lørdag", "Søndag"],
daysShort: ["Søn", "Man", "Tir",
"Ons", "Tor", "Fre", "Lør",
"Søn"],
daysMin: ["Sø", "Ma", "Ti",
"On", "To", "Fr", "Lø",
"Sø"],
months: ["Januar", "Februar", "Marts",
"April", "Maj", "Juni", "Juli",
"August", "September", "Oktober",
"November", "December"],
monthsShort: ["Jan", "Feb", "Mar",
"Apr", "Maj", "Jun", "Jul",
"Aug", "Sep", "Okt", "Nov",
"Dec"]
};
}(jQuery));assets/js/editable/js/locales/bootstrap-datepicker.de.js000064400000001167151171034400017345
0ustar00/**
* German translation for bootstrap-datepicker
* Sam Zurcher <sam@orelias.ch>
*/
;(function($){
$.fn.datepicker.dates['de'] = {
days: ["Sonntag", "Montag", "Dienstag",
"Mittwoch", "Donnerstag", "Freitag",
"Samstag", "Sonntag"],
daysShort: ["Son", "Mon", "Die",
"Mit", "Don", "Fre", "Sam",
"Son"],
daysMin: ["So", "Mo", "Di", "Mi",
"Do", "Fr", "Sa", "So"],
months: ["Januar", "Februar", "März",
"April", "Mai", "Juni", "Juli",
"August", "September", "Oktober",
"November", "Dezember"],
monthsShort: ["Jan", "Feb", "Mär",
"Apr", "Mai", "Jun", "Jul",
"Aug", "Sep", "Okt", "Nov",
"Dez"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.es.js000064400000001204151171034400017354
0ustar00/**
* Spanish translation for bootstrap-datepicker
* Bruno Bonamin <bruno.bonamin@gmail.com>
*/
;(function($){
$.fn.datepicker.dates['es'] = {
days: ["Domingo", "Lunes", "Martes",
"Miércoles", "Jueves", "Viernes",
"Sábado", "Domingo"],
daysShort: ["Dom", "Lun", "Mar",
"Mié", "Jue", "Vie", "Sáb",
"Dom"],
daysMin: ["Do", "Lu", "Ma", "Mi",
"Ju", "Vi", "Sa", "Do"],
months: ["Enero", "Febrero", "Marzo",
"Abril", "Mayo", "Junio", "Julio",
"Agosto", "Septiembre", "Octubre",
"Noviembre", "Diciembre"],
monthsShort: ["Ene", "Feb", "Mar",
"Abr", "May", "Jun", "Jul",
"Ago", "Sep", "Oct", "Nov",
"Dic"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.fi.js000064400000001247151171034400017352
0ustar00/**
* Finnish translation for bootstrap-datepicker
* Jaakko Salonen <https://github.com/jsalonen>
*/
;(function($){
$.fn.datepicker.dates['fi'] = {
days: ["sunnuntai", "maanantai", "tiistai",
"keskiviikko", "torstai", "perjantai",
"lauantai", "sunnuntai"],
daysShort: ["sun", "maa", "tii",
"kes", "tor", "per", "lau",
"sun"],
daysMin: ["su", "ma", "ti", "ke",
"to", "pe", "la", "su"],
months: ["tammikuu", "helmikuu",
"maaliskuu", "huhtikuu", "toukokuu",
"kesäkuu", "heinäkuu", "elokuu",
"syyskuu", "lokakuu", "marraskuu",
"joulukuu"],
monthsShort: ["tam", "hel", "maa",
"huh", "tou", "kes", "hei",
"elo", "syy", "lok", "mar",
"jou"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.fr.js000064400000001164151171034400017361
0ustar00/**
* French translation for bootstrap-datepicker
* Nico Mollet <nico.mollet@gmail.com>
*/
;(function($){
$.fn.datepicker.dates['fr'] = {
days: ["Dimanche", "Lundi", "Mardi",
"Mercredi", "Jeudi", "Vendredi",
"Samedi", "Dimanche"],
daysShort: ["Dim", "Lun", "Mar",
"Mer", "Jeu", "Ven", "Sam",
"Dim"],
daysMin: ["D", "L", "Ma", "Me",
"J", "V", "S", "D"],
months: ["Janvier", "Février", "Mars",
"Avril", "Mai", "Juin", "Juillet",
"Août", "Septembre", "Octobre",
"Novembre", "Décembre"],
monthsShort: ["Jan", "Fev", "Mar",
"Avr", "Mai", "Jui", "Jul",
"Aou", "Sep", "Oct", "Nov",
"Dec"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.id.js000064400000001156151171034400017347
0ustar00/**
* Bahasa translation for bootstrap-datepicker
* Azwar Akbar <azwar.akbar@gmail.com>
*/
;(function($){
$.fn.datepicker.dates['id'] = {
days: ["Minggu", "Senin", "Selasa",
"Rabu", "Kamis", "Jumat", "Sabtu",
"Minggu"],
daysShort: ["Mgu", "Sen", "Sel",
"Rab", "Kam", "Jum", "Sab",
"Mgu"],
daysMin: ["Mg", "Sn", "Sl", "Ra",
"Ka", "Ju", "Sa", "Mg"],
months: ["Januari", "Februari", "Maret",
"April", "Mei", "Juni", "Juli",
"Agustus", "September", "Oktober",
"November", "Desember"],
monthsShort: ["Jan", "Feb", "Mar",
"Apr", "Mei", "Jun", "Jul",
"Ags", "Sep", "Okt", "Nov",
"Des"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.is.js000064400000001277151171034400017372
0ustar00/**
* Icelandic translation for bootstrap-datepicker
* Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
*/
;(function($){
$.fn.datepicker.dates['is'] = {
days: ["Sunnudagur", "Mánudagur",
"Þriðjudagur", "Miðvikudagur",
"Fimmtudagur", "Föstudagur", "Laugardagur",
"Sunnudagur"],
daysShort: ["Sun", "Mán", "Þri",
"Mið", "Fim", "Fös", "Lau",
"Sun"],
daysMin: ["Su", "Má", "Þr",
"Mi", "Fi", "Fö", "La",
"Su"],
months: ["Janúar", "Febrúar", "Mars",
"Apríl", "Maí", "Júní",
"Júlí", "Ágúst", "September",
"Október", "Nóvember", "Desember"],
monthsShort: ["Jan", "Feb", "Mar",
"Apr", "Maí", "Jún", "Júl",
"Ágú", "Sep", "Okt", "Nóv",
"Des"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.it.js000064400000001205151171034400017362
0ustar00/**
* Italian translation for bootstrap-datepicker
* Enrico Rubboli <rubboli@gmail.com>
*/
;(function($){
$.fn.datepicker.dates['it'] = {
days: ["Domenica", "Lunedi", "Martedi",
"Mercoledi", "Giovedi", "Venerdi",
"Sabato", "Domenica"],
daysShort: ["Dom", "Lun", "Mar",
"Mer", "Gio", "Ven", "Sab",
"Dom"],
daysMin: ["Do", "Lu", "Ma", "Me",
"Gi", "Ve", "Sa", "Do"],
months: ["Gennaio", "Febbraio", "Marzo",
"Aprile", "Maggio", "Giugno",
"Luglio", "Agosto", "Settembre",
"Ottobre", "Novembre", "Dicembre"],
monthsShort: ["Gen", "Feb", "Mar",
"Apr", "Mag", "Giu", "Lug",
"Ago", "Set", "Ott", "Nov",
"Dic"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.ja.js000064400000001173151171034400017344
0ustar00/**
* Japanese translation for bootstrap-datepicker
* Norio Suzuki <https://github.com/suzuki/>
*/
;(function($){
$.fn.datepicker.dates['ja'] = {
days: ["日曜", "月曜", "火曜",
"水曜", "木曜", "金曜",
"土曜", "日曜"],
daysShort: ["日", "月", "火",
"水", "木", "金", "土",
"日"],
daysMin: ["日", "月", "火",
"水", "木", "金", "土",
"日"],
months: ["1月", "2月", "3月",
"4月", "5月", "6月", "7月",
"8月", "9月", "10月", "11月",
"12月"],
monthsShort: ["1月", "2月", "3月",
"4月", "5月", "6月", "7月",
"8月", "9月", "10月", "11月",
"12月"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.kr.js000064400000001213151171034400017361
0ustar00/**
* Korean translation for bootstrap-datepicker
* Gu Youn <http://github.com/guyoun>
*/
;(function($){
$.fn.datepicker.dates['kr'] = {
days: ["일요일", "월요일",
"화요일", "수요일", "목요일",
"금요일", "토요일", "일요일"],
daysShort: ["일", "월", "화",
"수", "목", "금", "토",
"일"],
daysMin: ["일", "월", "화",
"수", "목", "금", "토",
"일"],
months: ["1월", "2월", "3월",
"4월", "5월", "6월", "7월",
"8월", "9월", "10월", "11월",
"12월"],
monthsShort: ["1월", "2월", "3월",
"4월", "5월", "6월", "7월",
"8월", "9월", "10월", "11월",
"12월"],
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.lt.js000064400000001362151171034400017371
0ustar00/**
* Lithuanian translation for bootstrap-datepicker
* Šarūnas Gliebus <ssharunas@yahoo.co.uk>
*/
;(function($){
$.fn.datepicker.dates['lt'] = {
days: ["Sekmadienis", "Pirmadienis",
"Antradienis", "Trečiadienis",
"Ketvirtadienis", "Penktadienis",
"Šeštadienis", "Sekmadienis"],
daysShort: ["S", "Pr", "A",
"T", "K", "Pn", "Š",
"S"],
daysMin: ["Sk", "Pr", "An",
"Tr", "Ke", "Pn", "Št",
"Sk"],
months: ["Sausis", "Vasaris",
"Kovas", "Balandis", "Gegužė",
"Birželis", "Liepa", "Rugpjūtis",
"Rugsėjis", "Spalis", "Lapkritis",
"Gruodis"],
monthsShort: ["Sau", "Vas", "Kov",
"Bal", "Geg", "Bir", "Lie",
"Rugp", "Rugs", "Spa", "Lap",
"Gru"],
weekStart: 1
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.lv.js000064400000001320151171034400017365
0ustar00/**
* Latvian translation for bootstrap-datepicker
* Artis Avotins <artis@apit.lv>
*/
;(function($){
$.fn.datepicker.dates['lv'] = {
days: ["Svētdiena", "Pirmdiena",
"Otrdiena", "Trešdiena", "Ceturtdiena",
"Piektdiena", "Sestdiena", "Svētdiena"],
daysShort: ["Sv", "P", "O",
"T", "C", "Pk", "S",
"Sv"],
daysMin: ["Sv", "Pr", "Ot",
"Tr", "Ce", "Pk", "St",
"Sv"],
months: ["Janvāris", "Februāris",
"Marts", "Aprīlis", "Maijs",
"Jūnijs", "Jūlijs", "Augusts",
"Septembris", "Oktobris", "Novembris",
"Decembris"],
monthsShort: ["Jan", "Feb", "Mar",
"Apr", "Mai", "Jūn", "Jūl",
"Aug", "Sep", "Okt", "Nov",
"Dec."],
weekStart: 1
};
}(jQuery));assets/js/editable/js/locales/bootstrap-datepicker.ms.js000064400000001145151171034400017370
0ustar00/**
* Malay translation for bootstrap-datepicker
* Ateman Faiz <noorulfaiz@gmail.com>
*/
;(function($){
$.fn.datepicker.dates['ms'] = {
days: ["Ahad", "Isnin", "Selasa",
"Rabu", "Khamis", "Jumaat",
"Sabtu", "Ahad"],
daysShort: ["Aha", "Isn", "Sel",
"Rab", "Kha", "Jum", "Sab",
"Aha"],
daysMin: ["Ah", "Is", "Se", "Ra",
"Kh", "Ju", "Sa", "Ah"],
months: ["Januari", "Februari", "Mac",
"April", "Mei", "Jun", "Julai",
"Ogos", "September", "Oktober",
"November", "Disember"],
monthsShort: ["Jan", "Feb", "Mar",
"Apr", "Mei", "Jun", "Jul",
"Ogo", "Sep", "Okt", "Nov",
"Dis"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.nb.js000064400000001221151171034400017343
0ustar00/**
* Norwegian (bokmål) translation for bootstrap-datepicker
* Fredrik Sundmyhr <http://github.com/fsundmyhr>
*/
;(function($){
$.fn.datepicker.dates['nb'] = {
days: ["Søndag", "Mandag", "Tirsdag",
"Onsdag", "Torsdag", "Fredag",
"Lørdag", "Søndag"],
daysShort: ["Søn", "Man", "Tir",
"Ons", "Tor", "Fre", "Lør",
"Søn"],
daysMin: ["Sø", "Ma", "Ti",
"On", "To", "Fr", "Lø",
"Sø"],
months: ["Januar", "Februar", "Mars",
"April", "Mai", "Juni", "Juli",
"August", "September", "Oktober",
"November", "Desember"],
monthsShort: ["Jan", "Feb", "Mar",
"Apr", "Mai", "Jun", "Jul",
"Aug", "Sep", "Okt", "Nov",
"Des"]
};
}(jQuery));assets/js/editable/js/locales/bootstrap-datepicker.nl.js000064400000001174151171034400017364
0ustar00/**
* Dutch translation for bootstrap-datepicker
* Reinier Goltstein <mrgoltstein@gmail.com>
*/
;(function($){
$.fn.datepicker.dates['nl'] = {
days: ["Zondag", "Maandag", "Dinsdag",
"Woensdag", "Donderdag", "Vrijdag",
"Zaterdag", "Zondag"],
daysShort: ["Zo", "Ma", "Di",
"Wo", "Do", "Vr", "Za",
"Zo"],
daysMin: ["Zo", "Ma", "Di", "Wo",
"Do", "Vr", "Za", "Zo"],
months: ["Januari", "Februari", "Maart",
"April", "Mei", "Juni", "Juli",
"Augustus", "September", "Oktober",
"November", "December"],
monthsShort: ["Jan", "Feb", "Mrt",
"Apr", "Mei", "Jun", "Jul",
"Aug", "Sep", "Okt", "Nov",
"Dec"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.pl.js000064400000001324151171034400017363
0ustar00/**
* Polish translation for bootstrap-datepicker
* Robert <rtpm@gazeta.pl>
*/
;(function($){
$.fn.datepicker.dates['pl'] = {
days: ["Niedziela", "Poniedziałek",
"Wtorek", "Środa", "Czwartek",
"Piątek", "Sobota", "Niedziela"],
daysShort: ["Nie", "Pn",
"Wt", "Śr", "Czw", "Pt",
"So", "Nie"],
daysMin: ["N", "Pn", "Wt",
"Śr", "Cz", "Pt", "So",
"N"],
months: ["Styczeń", "Luty",
"Marzec", "Kwiecień", "Maj",
"Czerwiec", "Lipiec", "Sierpień",
"Wrzesień", "Październik", "Listopad",
"Grudzień"],
monthsShort: ["Sty", "Lu",
"Mar", "Kw", "Maj", "Cze",
"Lip", "Sie", "Wrz", "Pa",
"Lis", "Gru"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.pt.js000064400000001267151171034400017401
0ustar00/**
* Portuguese translation for bootstrap-datepicker
* Original code: Cauan Cabral <cauan@radig.com.br>
* Tiago Melo <tiago.blackcode@gmail.com>
*/
;(function($){
$.fn.datepicker.dates['pt'] = {
days: ["Domingo", "Segunda", "Terça",
"Quarta", "Quinta", "Sexta",
"Sábado", "Domingo"],
daysShort: ["Dom", "Seg", "Ter",
"Qua", "Qui", "Sex", "Sáb",
"Dom"],
daysMin: ["Do", "Se", "Te", "Qu",
"Qu", "Se", "Sa", "Do"],
months: ["Janeiro", "Fevereiro", "Março",
"Abril", "Maio", "Junho", "Julho",
"Agosto", "Setembro", "Outubro",
"Novembro", "Dezembro"],
monthsShort: ["Jan", "Fev", "Mar",
"Abr", "Mai", "Jun", "Jul",
"Ago", "Set", "Out", "Nov",
"Dez"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.ru.js000064400000001523151171034410017400
0ustar00/**
* Russian translation for bootstrap-datepicker
* Victor Taranenko <darwin@snowdale.com>
*/
;(function($){
$.fn.datepicker.dates['ru'] = {
days: ["Воскресенье",
"Понедельник", "Вторник",
"Среда", "Четверг",
"Пятница", "Суббота",
"Воскресенье"],
daysShort: ["Вск", "Пнд", "Втр",
"Срд", "Чтв", "Птн",
"Суб", "Вск"],
daysMin: ["Вс", "Пн", "Вт",
"Ср", "Чт", "Пт", "Сб",
"Вс"],
months: ["Январь", "Февраль",
"Март", "Апрель", "Май",
"Июнь", "Июль", "Август",
"Сентябрь", "Октябрь",
"Ноябрь", "Декабрь"],
monthsShort: ["Янв", "Фев", "Мар",
"Апр", "Май", "Июн",
"Июл", "Авг", "Сен",
"Окт", "Ноя", "Дек"]
};
}(jQuery));assets/js/editable/js/locales/bootstrap-datepicker.sv.js000064400000001205151171034410017377
0ustar00/**
* Swedish translation for bootstrap-datepicker
* Patrik Ragnarsson <patrik@starkast.net>
*/
;(function($){
$.fn.datepicker.dates['sv'] = {
days: ["Söndag", "Måndag", "Tisdag",
"Onsdag", "Torsdag", "Fredag",
"Lördag", "Söndag"],
daysShort: ["Sön", "Mån", "Tis",
"Ons", "Tor", "Fre", "Lör",
"Sön"],
daysMin: ["Sö", "Må", "Ti",
"On", "To", "Fr", "Lö",
"Sö"],
months: ["Januari", "Februari", "Mars",
"April", "Maj", "Juni", "Juli",
"Augusti", "September", "Oktober",
"November", "December"],
monthsShort: ["Jan", "Feb", "Mar",
"Apr", "Maj", "Jun", "Jul",
"Aug", "Sep", "Okt", "Nov",
"Dec"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.th.js000064400000001736151171034410017373
0ustar00/**
* Thai translation for bootstrap-datepicker
* Suchau Jiraprapot <seroz24@gmail.com>
*/
;(function($){
$.fn.datepicker.dates['th'] = {
days: ["อาทิตย์", "จันทร์",
"อังคาร", "พุธ",
"พฤหัส", "ศุกร์",
"เสาร์", "อาทิตย์"],
daysShort: ["อา", "จ", "อ",
"พ", "พฤ", "ศ", "ส",
"อา"],
daysMin: ["อา", "จ", "อ",
"พ", "พฤ", "ศ", "ส",
"อา"],
months: ["มกราคม",
"กุมภาพันธ์", "มีนาคม",
"เมษายน", "พฤษภาคม",
"มิถุนายน", "กรกฎาคม",
"สิงหาคม", "กันยายน",
"ตุลาคม", "พฤศจิกายน",
"ธันวาคม"],
monthsShort: ["ม.ค.", "ก.พ.",
"มี.ค.", "เม.ย.", "พ.ค.",
"มิ.ย.", "ก.ค.", "ส.ค.",
"ก.ย.", "ต.ค.", "พ.ย.",
"ธ.ค."]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.tr.js000064400000001202151171034410017371
0ustar00/**
* Turkish translation for bootstrap-datepicker
* Serkan Algur <kaisercrazy_2@hotmail.com>
*/
;(function($){
$.fn.datepicker.dates['tr'] = {
days: ["Pazar", "Pazartesi", "Salı",
"Çarşamba", "Perşembe", "Cuma",
"Cumartesi", "Pazar"],
daysShort: ["Pz", "Pzt", "Sal",
"Çrş", "Prş", "Cu", "Cts",
"Pz"],
daysMin: ["Pz", "Pzt", "Sa",
"Çr", "Pr", "Cu", "Ct",
"Pz"],
months: ["Ocak", "Şubat", "Mart",
"Nisan", "Mayıs", "Haziran",
"Temmuz", "Ağustos", "Eylül",
"Ekim", "Kasım", "Aralık"],
monthsShort: ["Oca", "Şub", "Mar",
"Nis", "May", "Haz", "Tem",
"Ağu", "Eyl", "Eki", "Kas",
"Ara"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.zh-CN.js000064400000001355151171034410017674
0ustar00/**
* Simplified Chinese translation for bootstrap-datepicker
* Yuan Cheung <advanimal@gmail.com>
*/
;(function($){
$.fn.datepicker.dates['zh-CN'] = {
days: ["星期日", "星期一",
"星期二", "星期三", "星期四",
"星期五", "星期六", "星期日"],
daysShort: ["周日", "周一", "周二",
"周三", "周四", "周五",
"周六", "周日"],
daysMin: ["日", "一", "二",
"三", "四", "五", "六",
"日"],
months: ["一月", "二月", "三月",
"四月", "五月", "六月",
"七月", "八月", "九月",
"十月", "十一月", "十二月"],
monthsShort: ["一月", "二月",
"三月", "四月", "五月",
"六月", "七月", "八月",
"九月", "十月", "十一月",
"十二月"]
};
}(jQuery));
assets/js/editable/js/locales/bootstrap-datepicker.zh-TW.js000064400000001363151171034410017725
0ustar00/**
* Traditional Chinese translation for bootstrap-datepicker
* Rung-Sheng Jang <daniel@i-trend.co.cc>
*/
;(function($){
$.fn.datepicker.dates['zh-TW'] = {
days: ["星期日", "星期一",
"星期二", "星期三", "星期四",
"星期五", "星期六", "星期日"],
daysShort: ["周日", "周一", "周二",
"周三", "周四", "周五",
"周六", "周日"],
daysMin: ["日", "一", "二",
"三", "四", "五", "六",
"日"],
months: ["一月", "二月", "三月",
"四月", "五月", "六月",
"七月", "八月", "九月",
"十月", "十一月", "十二月"],
monthsShort: ["一月", "二月",
"三月", "四月", "五月",
"六月", "七月", "八月",
"九月", "十月", "十一月",
"十二月"]
};
}(jQuery));
assets/js/helpdeskpro.bbcode.js000064400000004614151171034440012562
0ustar00(function (document, $) {
$('#message').bind('keydown', function (event) {
if (event.ctrlKey || event.metaKey) {
switch (String.fromCharCode(event.which).toLowerCase()) {
case 'q':
event.preventDefault();
$(this).selection('insert', {
text: '[quote]',
mode: 'before'
}).selection('insert', {text:
'[/quote]', mode: 'after'});
break;
case 'p':
event.preventDefault();
$(this).selection('insert', {
text: '[phpcode]',
mode: 'before'
}).selection('insert', {text:
'[/phpcode]', mode: 'after'});
break;
case 'j':
event.preventDefault();
$(this).selection('insert', {
text: '[jscode]',
mode: 'before'
}).selection('insert', {text:
'[/jscode]', mode: 'after'});
break;
case 'h':
event.preventDefault();
$(this).selection('insert', {
text: '[htmlcode]',
mode: 'before'
}).selection('insert', {text:
'[/htmlcode]', mode: 'after'});
break;
case 'b':
event.preventDefault();
$(this).selection('insert', {text:
'[b]', mode: 'before'}).selection('insert',
{
text: '[/b]',
mode: 'after'
});
break;
case 'i':
event.preventDefault();
$(this).selection('insert', {text:
'[i]', mode: 'before'}).selection('insert',
{
text: '[/i]',
mode: 'after'
});
break;
case 'm':
event.preventDefault();
$(this).selection('insert', {
text: '[mail]',
mode: 'before'
}).selection('insert', {text:
'[/mail]', mode: 'after'});
break;
}
}
});
})(document,
HDP.jQuery);assets/js/helpdeskpro.js000064400000013654151171034440011351
0ustar00HDP = window.HDP || {};
HDP.jQuery = jQuery.noConflict();
(function ($) {
HDP.addAttachment = function () {
if (currentNumberAttachment >= maxAttachment) {
alert("You cannot add more attachment to ticket. Maximum
Attachment per ticket is : " + maxAttachment);
} else {
var attachmentId = '#hdp_attachment_' +
currentNumberAttachment;
$(attachmentId).show('');
currentNumberAttachment++;
}
};
HDP.removeAttachment = function () {
if (currentNumberAttachment > 1) {
var attachmentId = '#hdp_attachment_' +
(currentNumberAttachment - 1);
$(attachmentId).hide('');
currentNumberAttachment--;
} else {
alert("There are no remaining attachment to
remove");
}
};
HDP.showFields = function (form) {
var newCategoryId = form.category_id.value;
if (newCategoryId == '') {
newCategoryId = 0;
}
var allFields = fields[0];
if (allFields) {
for (var i = 0; i < allFields.length; i++) {
if (allFields[i]) {
var trId = '#field_' + allFields[i];
$(trId).show('');
}
}
}
if (currentCategory > 0) {
var oldFields = fields[currentCategory];
//Hide the old fields
if (oldFields) {
for (var i = 0; i < oldFields.length; i++) {
if (oldFields[i]) {
var trId = '#field_' + oldFields[i];
$(trId).hide('');
}
}
}
}
var newFields = fields[newCategoryId];
if (newFields) {
for (var i = 0; i < newFields.length; i++) {
if (newFields[i]) {
var trId = '#field_' + newFields[i];
$(trId).show('');
}
}
}
currentCategory = newCategoryId;
};
HDP.showMessageBox = function () {
if (currentStatus) {
$('#tr_message_id').hide();
currentStatus = 0;
} else {
$('#tr_message_id').show();
currentStatus = 1;
}
};
HDP.changeTicketCategory = function (newCategoryId) {
form = document.adminForm;
form.new_value.value = newCategoryId;
form.task.value = 'ticket.update_category';
form.submit();
};
HDP.applyTicketLabel = function (labelId) {
form = document.adminForm;
form.new_value.value = labelId;
form.task.value = 'ticket.apply_label';
form.submit();
};
HDP.changeTicketPriority = function (newPriority) {
form = document.adminForm;
form.new_value.value = newPriority;
form.task.value = 'ticket.update_priority';
form.submit();
};
HDP.changeTicketStatus = function (newStatus) {
form = document.adminForm;
form.new_value.value = newStatus;
form.task.value = 'ticket.update_status';
form.submit();
};
HDP.ticketRating = function (rating) {
form = document.adminForm;
form.new_value.value = rating;
form.task.value = 'ticket.save_rating';
form.submit();
};
HDP.ticketList = function () {
if (typeof jItemId == 'undefined') {
location.href =
'index.php?option=com_helpdeskpro&view=tickets';
} else {
location.href =
'index.php?option=com_helpdeskpro&view=tickets&Itemid=' +
jItemId;
}
};
$(document).ready(function () {
$('.edit_comment').on("click", function (event)
{
event.preventDefault();
var messageId = $(this).attr('id');
$.fn.editable.defaults.mode = 'popup';
$('#hdp_ticket_edit-text-' + messageId).editable({
validate: function (value) {
if ($.trim(value) == '') return 'This
value is required.';
},
inputclass: 'input-xxlarge',
type: 'textarea',
placement: 'top',
success: function (response, newValue) {
$('.editable-pre-wrapped').css("white-space",
"pre-wrap");
var data = {
'task':
'ticket.update_comment',
'message_id': messageId,
'new_message': newValue
};
$.ajax({
type: 'POST',
url: hdpSiteUrl +
'index.php?option=com_helpdeskpro',
data: data,
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
}
}).click();
event.stopPropagation();
});
//remove comment
$('.remove_comment').click(function () {
var r = confirm("Do you want to delete the selected
message ?");
if (r == true) {
var messageId = $(this).attr('id');
var data = {
'task': 'ticket.remove_comment',
'message_id': messageId
};
$(this).attr('disabled', 'disabled');
$.ajax({
type: 'POST',
url: hdpSiteUrl +
'index.php?option=com_helpdeskpro',
data: data,
success: function () {
$('#mesage-' + messageId).remove();
},
error: function (jqXHR, textStatus, errorThrown) {
alert(textStatus);
}
});
}
})
});
}(HDP.jQuery));assets/js/helpdeskpro.min.js000064400000005552151171034440012131
0ustar00HDP=window.HDP||{},HDP.jQuery=jQuery.noConflict(),function(e){HDP.addAttachment=function(){if(currentNumberAttachment>=maxAttachment)alert("You
cannot add more attachment to ticket. Maximum Attachment per ticket is :
"+maxAttachment);else{var
t="#hdp_attachment_"+currentNumberAttachment;e(t).show(""),currentNumberAttachment++}},HDP.removeAttachment=function(){if(currentNumberAttachment>1){var
t="#hdp_attachment_"+(currentNumberAttachment-1);e(t).hide(""),currentNumberAttachment--}else
alert("There are no remaining attachment to
remove")},HDP.showFields=function(t){var
a=t.category_id.value;""==a&&(a=0);var
r=fields[0];if(r)for(var i=0;i<r.length;i++)if(r[i]){var
n="#field_"+r[i];e(n).show("")}if(currentCategory>0){var
o=fields[currentCategory];if(o)for(i=0;i<o.length;i++)if(o[i]){n="#field_"+o[i];e(n).hide("")}}var
c=fields[a];if(c)for(i=0;i<c.length;i++)if(c[i]){n="#field_"+c[i];e(n).show("")}currentCategory=a},HDP.showMessageBox=function(){currentStatus?(e("#tr_message_id").hide(),currentStatus=0):(e("#tr_message_id").show(),currentStatus=1)},HDP.changeTicketCategory=function(e){form=document.adminForm,form.new_value.value=e,form.task.value="ticket.update_category",form.submit()},HDP.applyTicketLabel=function(e){form=document.adminForm,form.new_value.value=e,form.task.value="ticket.apply_label",form.submit()},HDP.changeTicketPriority=function(e){form=document.adminForm,form.new_value.value=e,form.task.value="ticket.update_priority",form.submit()},HDP.changeTicketStatus=function(e){form=document.adminForm,form.new_value.value=e,form.task.value="ticket.update_status",form.submit()},HDP.ticketRating=function(e){form=document.adminForm,form.new_value.value=e,form.task.value="ticket.save_rating",form.submit()},HDP.ticketList=function(){"undefined"==typeof
jItemId?location.href="index.php?option=com_helpdeskpro&view=tickets":location.href="index.php?option=com_helpdeskpro&view=tickets&Itemid="+jItemId},e(document).ready(function(){e(".edit_comment").on("click",function(t){t.preventDefault();var
a=e(this).attr("id");e.fn.editable.defaults.mode="popup",e("#hdp_ticket_edit-text-"+a).editable({validate:function(t){if(""==e.trim(t))return"This
value is
required."},inputclass:"input-xxlarge",type:"textarea",placement:"top",success:function(t,r){e(".editable-pre-wrapped").css("white-space","pre-wrap");var
i={task:"ticket.update_comment",message_id:a,new_message:r};e.ajax({type:"POST",url:hdpSiteUrl+"index.php?option=com_helpdeskpro",data:i,error:function(e,t,a){alert(t)}})}}).click(),t.stopPropagation()}),e(".remove_comment").click(function(){if(1==confirm("Do
you want to delete the selected message ?")){var
t=e(this).attr("id"),a={task:"ticket.remove_comment",message_id:t};e(this).attr("disabled","disabled"),e.ajax({type:"POST",url:hdpSiteUrl+"index.php?option=com_helpdeskpro",data:a,success:function(){e("#mesage-"+t).remove()},error:function(e,t,a){alert(t)}})}})})}(HDP.jQuery);assets/js/jquery.selection.js000064400000031667151171034440012340
0ustar00/*!
* jQuery.selection - jQuery Plugin
*
* Copyright (c) 2010-2014 IWASAKI Koji (@madapaja).
* http://blog.madapaja.net/
* Under The MIT License
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction,
including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, sublicense, and/or sell copies of the Software, and to
* permit persons to whom the Software is furnished to do so, subject to
* the following conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
* LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
(function($, win, doc) {
/**
* get caret status of the selection of the element
*
* @param {Element} element target DOM element
* @return {Object} return
* @return {String} return.text selected text
* @return {Number} return.start start position of the
selection
* @return {Number} return.end end position of the selection
*/
var _getCaretInfo = function(element){
var res = {
text: '',
start: 0,
end: 0
};
if (!element.value) {
/* no value or empty string */
return res;
}
try {
if (win.getSelection) {
/* except IE */
res.start = element.selectionStart;
res.end = element.selectionEnd;
res.text = element.value.slice(res.start, res.end);
} else if (doc.selection) {
/* for IE */
element.focus();
var range = doc.selection.createRange(),
range2 = doc.body.createTextRange();
res.text = range.text;
try {
range2.moveToElementText(element);
range2.setEndPoint('StartToStart', range);
} catch (e) {
range2 = element.createTextRange();
range2.setEndPoint('StartToStart', range);
}
res.start = element.value.length - range2.text.length;
res.end = res.start + range.text.length;
}
} catch (e) {
/* give up */
}
return res;
};
/**
* caret operation for the element
* @type {Object}
*/
var _CaretOperation = {
/**
* get caret position
*
* @param {Element} element target element
* @return {Object} return
* @return {Number} return.start start position for the
selection
* @return {Number} return.end end position for the
selection
*/
getPos: function(element) {
var tmp = _getCaretInfo(element);
return {start: tmp.start, end: tmp.end};
},
/**
* set caret position
*
* @param {Element} element target element
* @param {Object} toRange caret position
* @param {Number} toRange.start start position for the
selection
* @param {Number} toRange.end end position for the
selection
* @param {String} caret caret mode: any of the
following: "keep" | "start" | "end"
*/
setPos: function(element, toRange, caret) {
caret = this._caretMode(caret);
if (caret === 'start') {
toRange.end = toRange.start;
} else if (caret === 'end') {
toRange.start = toRange.end;
}
element.focus();
try {
if (element.createTextRange) {
var range = element.createTextRange();
if
(win.navigator.userAgent.toLowerCase().indexOf("msie") >= 0)
{
toRange.start = element.value.substr(0,
toRange.start).replace(/\r/g, '').length;
toRange.end = element.value.substr(0,
toRange.end).replace(/\r/g, '').length;
}
range.collapse(true);
range.moveStart('character', toRange.start);
range.moveEnd('character', toRange.end -
toRange.start);
range.select();
} else if (element.setSelectionRange) {
element.setSelectionRange(toRange.start, toRange.end);
}
} catch (e) {
/* give up */
}
},
/**
* get selected text
*
* @param {Element} element target element
* @return {String} return selected text
*/
getText: function(element) {
return _getCaretInfo(element).text;
},
/**
* get caret mode
*
* @param {String} caret caret mode
* @return {String} return any of the following:
"keep" | "start" | "end"
*/
_caretMode: function(caret) {
caret = caret || "keep";
if (caret === false) {
caret = 'end';
}
switch (caret) {
case 'keep':
case 'start':
case 'end':
break;
default:
caret = 'keep';
}
return caret;
},
/**
* replace selected text
*
* @param {Element} element target element
* @param {String} text replacement text
* @param {String} caret caret mode: any of the
following: "keep" | "start" | "end"
*/
replace: function(element, text, caret) {
var tmp = _getCaretInfo(element),
orig = element.value,
pos = $(element).scrollTop(),
range = {start: tmp.start, end: tmp.start + text.length};
element.value = orig.substr(0, tmp.start) + text +
orig.substr(tmp.end);
$(element).scrollTop(pos);
this.setPos(element, range, caret);
},
/**
* insert before the selected text
*
* @param {Element} element target element
* @param {String} text insertion text
* @param {String} caret caret mode: any of the
following: "keep" | "start" | "end"
*/
insertBefore: function(element, text, caret) {
var tmp = _getCaretInfo(element),
orig = element.value,
pos = $(element).scrollTop(),
range = {start: tmp.start + text.length, end: tmp.end +
text.length};
element.value = orig.substr(0, tmp.start) + text +
orig.substr(tmp.start);
$(element).scrollTop(pos);
this.setPos(element, range, caret);
},
/**
* insert after the selected text
*
* @param {Element} element target element
* @param {String} text insertion text
* @param {String} caret caret mode: any of the
following: "keep" | "start" | "end"
*/
insertAfter: function(element, text, caret) {
var tmp = _getCaretInfo(element),
orig = element.value,
pos = $(element).scrollTop(),
range = {start: tmp.start, end: tmp.end};
element.value = orig.substr(0, tmp.end) + text +
orig.substr(tmp.end);
$(element).scrollTop(pos);
this.setPos(element, range, caret);
}
};
/* add jQuery.selection */
$.extend({
/**
* get selected text on the window
*
* @param {String} mode selection mode: any of the
following: "text" | "html"
* @return {String} return
*/
selection: function(mode) {
var getText = ((mode || 'text').toLowerCase() ===
'text');
try {
if (win.getSelection) {
if (getText) {
// get text
return win.getSelection().toString();
} else {
// get html
var sel = win.getSelection(), range;
if (sel.getRangeAt) {
range = sel.getRangeAt(0);
} else {
range = doc.createRange();
range.setStart(sel.anchorNode,
sel.anchorOffset);
range.setEnd(sel.focusNode, sel.focusOffset);
}
return
$('<div></div>').append(range.cloneContents()).html();
}
} else if (doc.selection) {
if (getText) {
// get text
return doc.selection.createRange().text;
} else {
// get html
return doc.selection.createRange().htmlText;
}
}
} catch (e) {
/* give up */
}
return '';
}
});
/* add selection */
$.fn.extend({
selection: function(mode, opts) {
opts = opts || {};
switch (mode) {
/**
* selection('getPos')
* get caret position
*
* @return {Object} return
* @return {Number} return.start start position for
the selection
* @return {Number} return.end end position for
the selection
*/
case 'getPos':
return _CaretOperation.getPos(this[0]);
/**
* selection('setPos', opts)
* set caret position
*
* @param {Number} opts.start start position for
the selection
* @param {Number} opts.end end position for
the selection
*/
case 'setPos':
return this.each(function() {
_CaretOperation.setPos(this, opts);
});
/**
* selection('replace', opts)
* replace the selected text
*
* @param {String} opts.text replacement
text
* @param {String} opts.caret caret mode:
any of the following: "keep" | "start" |
"end"
*/
case 'replace':
return this.each(function() {
_CaretOperation.replace(this, opts.text,
opts.caret);
});
/**
* selection('insert', opts)
* insert before/after the selected text
*
* @param {String} opts.text insertion
text
* @param {String} opts.caret caret mode:
any of the following: "keep" | "start" |
"end"
* @param {String} opts.mode insertion
mode: any of the following: "before" | "after"
*/
case 'insert':
return this.each(function() {
if (opts.mode === 'before') {
_CaretOperation.insertBefore(this, opts.text,
opts.caret);
} else {
_CaretOperation.insertAfter(this, opts.text,
opts.caret);
}
});
/**
* selection('get')
* get selected text
*
* @return {String} return
*/
case 'get':
/* falls through */
default:
return _CaretOperation.getText(this[0]);
}
return this;
}
});
})(jQuery, window, window.document);
assets/js/syntaxhighlighter3/LGPL-LICENSE000064400000017172151171034440014063
0ustar00 GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU
Lesser
General Public License, and the "GNU GPL" refers to version 3 of
the GNU
General Public License.
"The Library" refers to a covered work governed by this
License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface
provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking
an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means
the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means
the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this
license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this
license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.assets/js/syntaxhighlighter3/MIT-LICENSE000064400000002071151171034470013751
0ustar00Copyright (c) 2003, 2004 Jim Weirich
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction,
including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
assets/js/syntaxhighlighter3/scripts/shAutoloader.js000064400000002674151171034470017005
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return
d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new
RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return
p}('(2(){1 h=5;h.I=2(){2 n(c,a){4(1 d=0;d<c.9;d++)i[c[d]]=a}2
o(c){1
a=r.H("J"),d=3;a.K=c;a.M="L/t";a.G="t";a.u=a.v=2(){6(!d&&(!8.7||8.7=="F"||8.7=="z")){d=q;e[c]=q;a:{4(1
p y e)6(e[p]==3)B a;j&&5.C(k)}a.u=a.v=x;a.D.O(a)}};r.N.R(a)}1
f=Q,l=h.P(),i={},e={},j=3,k=x,b;5.T=2(c){k=c;j=q};4(b=0;b<f.9;b++){1
m=f[b].w?f[b]:f[b].S(/\\s+/),g=m.w();n(m,g)}4(b=0;b<l.9;b++)6(g=i[l[b].E.A]){e[g]=3;o(g)}}})();',56,56,'|var|function|false|for|SyntaxHighlighter|if|readyState|this|length|||||||||||||||||true|document||javascript|onload|onreadystatechange|pop|null|in|complete|brush|break|highlight|parentNode|params|loaded|language|createElement|autoloader|script|src|text|type|body|removeChild|findElements|arguments|appendChild|split|all'.split('|'),0,{}))
assets/js/syntaxhighlighter3/scripts/shBrushAppleScript.js000064400000020075151171034470020133
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// AppleScript brush by David Chambers
// http://davidchambersdesign.com/
var keywords = 'after before beginning continue copy each end
every from return get global in local named of set some that the then times
to where whose with without';
var ordinals = 'first second third fourth fifth sixth seventh
eighth ninth tenth last front back middle';
var specials = 'activate add alias AppleScript ask attachment
boolean class constant delete duplicate empty exists false id integer list
make message modal modified new no paragraph pi properties quit real record
remove rest result reveal reverse run running save string true word
yes';
this.regexList = [
{ regex: /(--|#).*$/gm,
css: 'comments' },
{ regex: /\(\*(?:[\s\S]*?\(\*[\s\S]*?\*\))*[\s\S]*?\*\)/gm, // support
nested comments
css: 'comments' },
{ regex: /"[\s\S]*?"/gm,
css: 'string' },
{ regex: /(?:,|:|¬|'s\b|\(|\)|\{|\}|«|\b\w*»)/g,
css: 'color1' },
{ regex: /(-)?(\d)+(\.(\d)?)?(E\+(\d)+)?/g, // numbers
css: 'color1' },
{ regex: /(?:&(amp;|gt;|lt;)?|=|�
|>|<|≥|>=|≤|<=|\*|\+|-|\/|÷|\^)/g,
css: 'color2' },
{ regex:
/\b(?:and|as|div|mod|not|or|return(?!\s&)(ing)?|equals|(is(n't|
not)? )?equal( to)?|does(n't| not) equal|(is(n't| not)?
)?(greater|less) than( or equal( to)?)?|(comes|does(n't| not) come)
(after|before)|is(n't| not)?( in)? (back|front) of|is(n't| not)?
behind|is(n't| not)?( (in|contained by))?|does(n't| not)
contain|contain(s)?|(start|begin|end)(s)? with|((but|end)
)?(consider|ignor)ing|prop(erty)?|(a )?ref(erence)?( to)?|repeat
(until|while|with)|((end|exit) )?repeat|((else|end) )?if|else|(end
)?(script|tell|try)|(on )?error|(put )?into|(of )?(it|me)|its|my|with
(timeout( of)?|transaction)|end (timeout|transaction))\b/g,
css: 'keyword' },
{ regex: /\b\d+(st|nd|rd|th)\b/g, // ordinals
css: 'keyword' },
{ regex:
/\b(?:about|above|against|around|at|below|beneath|beside|between|by|(apart|aside)
from|(instead|out) of|into|on(to)?|over|since|thr(ough|u)|under)\b/g,
css: 'color3' },
{ regex: /\b(?:adding folder items to|after receiving|choose( ((remote
)?application|color|folder|from list|URL))?|clipboard info|set the
clipboard to|(the )?clipboard|entire contents|display(ing|
(alert|dialog|mode))?|document( (edited|file|nib name))?|file(
(name|type))?|(info )?for|giving up after|(name )?extension|quoted
form|return(ed)?|second(?! item)(s)?|list (disks|folder)|text item(s|
delimiters)?|(Unicode )?text|(disk )?item(s)?|((current|list)
)?view|((container|key) )?window|with (data|icon(
(caution|note|stop))?|parameter(s)?|prompt|properties|seed|title)|case|diacriticals|hyphens|numeric
strings|punctuation|white space|folder creation|application(s( folder)?|
(processes|scripts position|support))?|((desktop )?(pictures
)?|(documents|downloads|favorites|home|keychain|library|movies|music|public|scripts|sites|system|users|utilities|workflows)
)folder|desktop|Folder Action scripts|font(s| panel)?|help|internet
plugins|modem scripts|(system )?preferences|printer descriptions|scripting
(additions|components)|shared (documents|libraries)|startup
(disk|items)|temporary items|trash|on server|in AppleTalk
zone|((as|long|short) )?user name|user (ID|locale)|(with )?password|in
(bundle( with identifier)?|directory)|(close|open for) access|read|write(
permission)?|(g|s)et eof|using( delimiters)?|starting at|default
(answer|button|color|country
code|entr(y|ies)|identifiers|items|name|location|script editor)|hidden(
answer)?|open(ed| (location|untitled))?|error (handling|reporting)|(do(
shell)?|load|run|store) script|administrator privileges|altering line
endings|get volume settings|(alert|boot|input|mount|output|set)
volume|output muted|(fax|random )?number|round(ing)?|up|down|toward zero|to
nearest|as taught in school|system (attribute|info)|((AppleScript(
Studio)?|system) )?version|(home )?directory|(IPv4|primary Ethernet)
address|CPU (type|speed)|physical memory|time (stamp|to
GMT)|replacing|ASCII (character|number)|localized string|from
table|offset|summarize|beep|delay|say|(empty|multiple) selections
allowed|(of|preferred) type|invisibles|showing( package contents)?|editable
URL|(File|FTP|News|Media|Web) [Ss]ervers|Telnet hosts|Directory
services|Remote applications|waiting until completion|saving(
(in|to))?|path (for|to( (((current|frontmost)
)?application|resource))?)|POSIX (file|path)|(background|RGB)
color|(OK|cancel) button name|cancel button|button(s)?|cubic
((centi)?met(re|er)s|yards|feet|inches)|square
((kilo)?met(re|er)s|miles|yards|feet)|(centi|kilo)?met(re|er)s|miles|yards|feet|inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees
(Celsius|Fahrenheit|Kelvin)|print(
(dialog|settings))?|clos(e(able)?|ing)|(de)?miniaturized|miniaturizable|zoom(ed|able)|attribute
run|action (method|property|title)|phone|email|((start|end)ing|home)
page|((birth|creation|current|custom|modification) )?date|((((phonetic
)?(first|last|middle))|computer|host|maiden|related)
|nick)?name|aim|icq|jabber|msn|yahoo|address(es)?|save addressbook|should
enable action|city|country( code)?|formatte(r|d address)|(palette
)?label|state|street|zip|AIM [Hh]andle(s)?|my card|select(ion|
all)?|unsaved|(alpha )?value|entr(y|ies)|group|(ICQ|Jabber|MSN)
handle|person|people|company|department|icon image|job
title|note|organization|suffix|vcard|url|copies|collating|pages
(across|down)|request print time|target( printer)?|((GUI Scripting|Script
menu) )?enabled|show Computer scripts|(de)?activated|awake from nib|became
(key|main)|call method|of (class|object)|center|clicked toolbar
item|closed|for document|exposed|(can )?hide|idle|keyboard (down|up)|event(
(number|type))?|launch(ed)?|load (image|movie|nib|sound)|owner|log|mouse
(down|dragged|entered|exited|moved|up)|move|column|localization|resource|script|register|drag
(info|types)|resigned (active|key|main)|resiz(e(d)?|able)|right mouse
(down|dragged|up)|scroll wheel|(at )?index|should (close|open(
untitled)?|quit( after last window closed)?|zoom)|((proposed|screen)
)?bounds|show(n)?|behind|in front of|size (mode|to fit)|update(d| toolbar
item)?|was (hidden|miniaturized)|will (become active|close|finish
launching|hide|miniaturize|move|open|quit|(resign
)?active|((maximum|minimum|proposed) )?size|show|zoom)|bundle|data
source|movie|pasteboard|sound|tool(bar| tip)|(color|open|save)
panel|coordinate system|frontmost|main(
(bundle|menu|window))?|((services|(excluded from )?windows)
)?menu|((executable|frameworks|resource|scripts|shared
(frameworks|support)) )?path|(selected item )?identifier|data|content(s|
view)?|character(s)?|click count|(command|control|option|shift) key
down|context|delta (x|y|z)|key( code)?|location|pressure|unmodified
characters|types|(first )?responder|playing|(allowed|selectable)
identifiers|allows customization|(auto saves )?configuration|visible|image(
name)?|menu form representation|tag|user(-| )defaults|associated file
name|(auto|needs) display|current field editor|floating|has (resize
indicator|shadow)|hides when deactivated|level|minimized
(image|title)|opaque|position|release when closed|sheet|title(d)?)\b/g,
css: 'color3' },
{ regex: new RegExp(this.getKeywords(specials), 'gm'), css:
'color3' },
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' },
{ regex: new RegExp(this.getKeywords(ordinals), 'gm'), css:
'keyword' }
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['applescript'];
SyntaxHighlighter.brushes.AppleScript = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushAS3.js000064400000004672151171034470016300
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Created by Peter Atoria @ http://iAtoria.com
var inits = 'class interface function package';
var keywords = '-Infinity ...rest Array as AS3 Boolean break case
catch const continue Date decodeURI ' +
'decodeURIComponent default delete do dynamic each else
encodeURI encodeURIComponent escape ' +
'extends false final finally flash_proxy for get if implements
import in include Infinity ' +
'instanceof int internal is isFinite isNaN isXMLName label
namespace NaN native new null ' +
'Null Number Object object_proxy override parseFloat parseInt
private protected public ' +
'return set static String super switch this throw true try
typeof uint undefined unescape ' +
'use void while with'
;
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.singleLineCComments, css:
'comments' }, // one line comments
{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css:
'comments' }, // multiline comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // double quoted strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // single quoted strings
{ regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css:
'value' }, // numbers
{ regex: new RegExp(this.getKeywords(inits), 'gm'), css:
'color3' }, // initializations
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' }, // keywords
{ regex: new RegExp('var', 'gm'), css:
'variable' }, // variable
{ regex: new RegExp('trace', 'gm'), css:
'color1' } // trace
];
this.forHtmlScript(SyntaxHighlighter.regexLib.scriptScriptTags);
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['actionscript3', 'as3'];
SyntaxHighlighter.brushes.AS3 = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushBash.js000064400000005516151171034470016565
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
var keywords = 'if fi then elif else for do done until while break
continue case function return in eq ne ge le';
var commands = 'alias apropos awk basename bash bc bg builtin bzip2
cal cat cd cfdisk chgrp chmod chown chroot' +
'cksum clear cmp comm command cp cron crontab csplit cut date dc
dd ddrescue declare df ' +
'diff diff3 dig dir dircolors dirname dirs du echo egrep eject
enable env ethtool eval ' +
'exec exit expand export expr false fdformat fdisk fg fgrep file
find fmt fold format ' +
'free fsck ftp gawk getopts grep groups gzip hash head history
hostname id ifconfig ' +
'import install join kill less let ln local locate logname
logout look lpc lpr lprint ' +
'lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs
mknod more mount mtools ' +
'mv netstat nice nl nohup nslookup open op passwd paste pathchk
ping popd pr printcap ' +
'printenv printf ps pushd pwd quota quotacheck quotactl ram rcp
read readonly renice ' +
'remsync rm rmdir rsync screen scp sdiff sed select seq set sftp
shift shopt shutdown ' +
'sleep sort source split ssh strace su sudo sum symlink sync
tail tar tee test time ' +
'times touch top traceroute trap tr true tsort tty type ulimit
umask umount unalias ' +
'uname unexpand uniq units unset unshar useradd usermod users
uuencode uudecode v vdir ' +
'vi watch wc whereis which who whoami Wget xargs yes'
;
this.regexList = [
{ regex: /^#!.*$/gm, css: 'preprocessor bold' },
{ regex: /\/[\w-\/]+/gm, css: 'plain' },
{ regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css:
'comments' }, // one line comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // double quoted strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // single quoted strings
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' }, // keywords
{ regex: new RegExp(this.getKeywords(commands), 'gm'), css:
'functions' } // commands
];
}
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['bash', 'shell'];
SyntaxHighlighter.brushes.Bash = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushColdFusion.js000064400000020314151171034470017746
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Contributed by Jen
//
http://www.jensbits.com/2009/05/14/coldfusion-brush-for-syntaxhighlighter-plus
var funcs = 'Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader
AjaxLink AjaxOnLoad ArrayAppend ArrayAvg ArrayClear ArrayDeleteAt ' +
'ArrayInsertAt ArrayIsDefined ArrayIsEmpty ArrayLen ArrayMax
ArrayMin ArraySet ArraySort ArraySum ArraySwap ArrayToList ' +
'Asc ASin Atn BinaryDecode BinaryEncode BitAnd BitMaskClear
BitMaskRead BitMaskSet BitNot BitOr BitSHLN BitSHRN BitXor ' +
'Ceiling CharsetDecode CharsetEncode Chr CJustify Compare
CompareNoCase Cos CreateDate CreateDateTime CreateObject ' +
'CreateODBCDate CreateODBCDateTime CreateODBCTime CreateTime
CreateTimeSpan CreateUUID DateAdd DateCompare DateConvert ' +
'DateDiff DateFormat DatePart Day DayOfWeek DayOfWeekAsString
DayOfYear DaysInMonth DaysInYear DE DecimalFormat DecrementValue ' +
'Decrypt DecryptBinary DeleteClientVariable DeserializeJSON
DirectoryExists DollarFormat DotNetToCFType Duplicate Encrypt ' +
'EncryptBinary Evaluate Exp ExpandPath FileClose FileCopy
FileDelete FileExists FileIsEOF FileMove FileOpen FileRead ' +
'FileReadBinary FileReadLine FileSetAccessMode FileSetAttribute
FileSetLastModified FileWrite Find FindNoCase FindOneOf ' +
'FirstDayOfMonth Fix FormatBaseN GenerateSecretKey GetAuthUser
GetBaseTagData GetBaseTagList GetBaseTemplatePath ' +
'GetClientVariablesList GetComponentMetaData GetContextRoot
GetCurrentTemplatePath GetDirectoryFromPath GetEncoding ' +
'GetException GetFileFromPath GetFileInfo GetFunctionList
GetGatewayHelper GetHttpRequestData GetHttpTimeString ' +
'GetK2ServerDocCount GetK2ServerDocCountLimit GetLocale
GetLocaleDisplayName GetLocalHostIP GetMetaData GetMetricData ' +
'GetPageContext GetPrinterInfo GetProfileSections
GetProfileString GetReadableImageFormats GetSOAPRequest
GetSOAPRequestHeader ' +
'GetSOAPResponse GetSOAPResponseHeader GetTempDirectory
GetTempFile GetTemplatePath GetTickCount GetTimeZoneInfo GetToken ' +
'GetUserRoles GetWriteableImageFormats Hash Hour HTMLCodeFormat
HTMLEditFormat IIf ImageAddBorder ImageBlur ImageClearRect ' +
'ImageCopy ImageCrop ImageDrawArc ImageDrawBeveledRect
ImageDrawCubicCurve ImageDrawLine ImageDrawLines ImageDrawOval ' +
'ImageDrawPoint ImageDrawQuadraticCurve ImageDrawRect
ImageDrawRoundRect ImageDrawText ImageFlip ImageGetBlob
ImageGetBufferedImage ' +
'ImageGetEXIFTag ImageGetHeight ImageGetIPTCTag ImageGetWidth
ImageGrayscale ImageInfo ImageNegative ImageNew ImageOverlay ImagePaste
' +
'ImageRead ImageReadBase64 ImageResize ImageRotate
ImageRotateDrawingAxis ImageScaleToFit ImageSetAntialiasing
ImageSetBackgroundColor ' +
'ImageSetDrawingColor ImageSetDrawingStroke
ImageSetDrawingTransparency ImageSharpen ImageShear ImageShearDrawingAxis
ImageTranslate ' +
'ImageTranslateDrawingAxis ImageWrite ImageWriteBase64
ImageXORDrawingMode IncrementValue InputBaseN Insert Int IsArray IsBinary
' +
'IsBoolean IsCustomFunction IsDate IsDDX IsDebugMode IsDefined
IsImage IsImageFile IsInstanceOf IsJSON IsLeapYear IsLocalHost ' +
'IsNumeric IsNumericDate IsObject IsPDFFile IsPDFObject IsQuery
IsSimpleValue IsSOAPRequest IsStruct IsUserInAnyRole IsUserInRole ' +
'IsUserLoggedIn IsValid IsWDDX IsXML IsXmlAttribute IsXmlDoc
IsXmlElem IsXmlNode IsXmlRoot JavaCast JSStringFormat LCase Left Len '
+
'ListAppend ListChangeDelims ListContains ListContainsNoCase
ListDeleteAt ListFind ListFindNoCase ListFirst ListGetAt ListInsertAt
' +
'ListLast ListLen ListPrepend ListQualify ListRest ListSetAt
ListSort ListToArray ListValueCount ListValueCountNoCase LJustify Log
' +
'Log10 LSCurrencyFormat LSDateFormat LSEuroCurrencyFormat
LSIsCurrency LSIsDate LSIsNumeric LSNumberFormat LSParseCurrency
LSParseDateTime ' +
'LSParseEuroCurrency LSParseNumber LSTimeFormat LTrim Max Mid
Min Minute Month MonthAsString Now NumberFormat ParagraphFormat
ParseDateTime ' +
'Pi PrecisionEvaluate PreserveSingleQuotes Quarter
QueryAddColumn QueryAddRow QueryConvertForGrid QueryNew QuerySetCell
QuotedValueList Rand ' +
'Randomize RandRange REFind REFindNoCase ReleaseComObject
REMatch REMatchNoCase RemoveChars RepeatString Replace ReplaceList
ReplaceNoCase ' +
'REReplace REReplaceNoCase Reverse Right RJustify Round RTrim
Second SendGatewayMessage SerializeJSON SetEncoding SetLocale
SetProfileString ' +
'SetVariable Sgn Sin Sleep SpanExcluding SpanIncluding Sqr
StripCR StructAppend StructClear StructCopy StructCount StructDelete
StructFind ' +
'StructFindKey StructFindValue StructGet StructInsert
StructIsEmpty StructKeyArray StructKeyExists StructKeyList StructKeyList
StructNew ' +
'StructSort StructUpdate Tan TimeFormat ToBase64 ToBinary
ToScript ToString Trim UCase URLDecode URLEncodedFormat URLSessionFormat
Val ' +
'ValueList VerifyClient Week Wrap Wrap WriteOutput XmlChildPos
XmlElemNew XmlFormat XmlGetNodeType XmlNew XmlParse XmlSearch XmlTransform
' +
'XmlValidate Year YesNoFormat';
var keywords = 'cfabort cfajaximport cfajaxproxy cfapplet
cfapplication cfargument cfassociate cfbreak cfcache cfcalendar ' +
'cfcase cfcatch cfchart cfchartdata cfchartseries cfcol
cfcollection cfcomponent cfcontent cfcookie cfdbinfo ' +
'cfdefaultcase cfdirectory cfdiv cfdocument cfdocumentitem
cfdocumentsection cfdump cfelse cfelseif cferror ' +
'cfexchangecalendar cfexchangeconnection cfexchangecontact
cfexchangefilter cfexchangemail cfexchangetask ' +
'cfexecute cfexit cffeed cffile cfflush cfform cfformgroup
cfformitem cfftp cffunction cfgrid cfgridcolumn ' +
'cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam
cfif cfimage cfimport cfinclude cfindex ' +
'cfinput cfinsert cfinterface cfinvoke cfinvokeargument cflayout
cflayoutarea cfldap cflocation cflock cflog ' +
'cflogin cfloginuser cflogout cfloop cfmail cfmailparam
cfmailpart cfmenu cfmenuitem cfmodule cfNTauthenticate ' +
'cfobject cfobjectcache cfoutput cfparam cfpdf cfpdfform
cfpdfformparam cfpdfparam cfpdfsubform cfpod cfpop ' +
'cfpresentation cfpresentationslide cfpresenter cfprint
cfprocessingdirective cfprocparam cfprocresult ' +
'cfproperty cfquery cfqueryparam cfregistry cfreport
cfreportparam cfrethrow cfreturn cfsavecontent cfschedule ' +
'cfscript cfsearch cfselect cfset cfsetting cfsilent cfslider
cfsprydataset cfstoredproc cfswitch cftable ' +
'cftextarea cfthread cfthrow cftimer cftooltip cftrace
cftransaction cftree cftreeitem cftry cfupdate cfwddx ' +
'cfwindow cfxml cfzip cfzipparam';
var operators = 'all and any between cross in join like not null or
outer some';
this.regexList = [
{ regex: new RegExp('--(.*)$', 'gm'), css:
'comments' }, // one line and multiline comments
{ regex: SyntaxHighlighter.regexLib.xmlComments, css:
'comments' }, // single quoted strings
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // double quoted strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // single quoted strings
{ regex: new RegExp(this.getKeywords(funcs), 'gmi'), css:
'functions' }, // functions
{ regex: new RegExp(this.getKeywords(operators), 'gmi'), css:
'color1' }, // operators and such
{ regex: new RegExp(this.getKeywords(keywords), 'gmi'), css:
'keyword' } // keyword
];
}
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['coldfusion','cf'];
SyntaxHighlighter.brushes.ColdFusion = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushCpp.js000064400000012405151171034470016425
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Copyright 2006 Shin, YoungJin
var datatypes = 'ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD
DWORDLONG DWORD_PTR ' +
'DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH
' +
'HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP
HDWP ' +
'HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE
HKEY ' +
'HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN
HRESULT ' +
'HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID
LCTYPE ' +
'LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL
LPBYTE LPCOLORREF ' +
'LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG
LPSTR LPTSTR ' +
'LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR
PCTSTR PCWSTR ' +
'PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR
PHANDLE PHKEY PINT ' +
'PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32
PLONG64 POINTER_32 ' +
'POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR
PUCHAR PUHALF_PTR ' +
'PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR
PULONG32 PULONG64 ' +
'PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK
SERVICE_STATUS_HANDLE SHORT ' +
'SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32
UINT64 ULONG ' +
'ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD
WPARAM WPARAM WPARAM ' +
'char bool short int __int32 __int64 __int8 __int16 long float
double __wchar_t ' +
'clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception
_EXCEPTION_POINTERS ' +
'FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t
__finddata64_t ' +
'__wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv
intptr_t ' +
'jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t
_purecall_handler ' +
'sig_atomic_t size_t _stat __stat64 _stati64 terminate_function
' +
'time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf '
+
'va_list wchar_t wctrans_t wctype_t wint_t signed';
var keywords = 'break case catch class const __finally __exception
__try ' +
'const_cast continue private public protected __declspec '
+
'default delete deprecated dllexport dllimport do dynamic_cast
' +
'else enum explicit extern if for friend goto inline ' +
'mutable naked namespace new noinline noreturn nothrow ' +
'register reinterpret_cast return selectany ' +
'sizeof static static_cast struct switch template this ' +
'thread throw true false try typedef typeid typename union
' +
'using uuid virtual void volatile whcar_t while';
var functions = 'assert isalnum isalpha iscntrl isdigit isgraph
islower isprint' +
'ispunct isspace isupper isxdigit tolower toupper errno
localeconv ' +
'setlocale acos asin atan atan2 ceil cos cosh exp fabs floor
fmod ' +
'frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf
' +
'longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start
' +
'clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen
' +
'fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell
' +
'fwrite getc getchar gets perror printf putc putchar puts remove
' +
'rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile
tmpnam ' +
'ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi
atol ' +
'bsearch calloc div exit free getenv labs ldiv malloc mblen
mbstowcs ' +
'mbtowc qsort rand realloc srand strtod strtol strtoul system
' +
'wcstombs wctomb memchr memcmp memcpy memmove memset strcat
strchr ' +
'strcmp strcoll strcpy strcspn strerror strlen strncat strncmp
' +
'strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime
' +
'clock ctime difftime gmtime localtime mktime strftime
time';
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.singleLineCComments, css:
'comments' }, // one line comments
{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css:
'comments' }, // multiline comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // strings
{ regex: /^ *#.*/gm, css: 'preprocessor' },
{ regex: new RegExp(this.getKeywords(datatypes), 'gm'), css:
'color1 bold' },
{ regex: new RegExp(this.getKeywords(functions), 'gm'), css:
'functions bold' },
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword bold' }
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['cpp', 'c'];
SyntaxHighlighter.brushes.Cpp = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushCSharp.js000064400000005041151171034470017061
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
var keywords = 'abstract as base bool break byte case catch char
checked class const ' +
'continue decimal default delegate do double else enum event
explicit ' +
'extern false finally fixed float for foreach get goto if
implicit in int ' +
'interface internal is lock long namespace new null object
operator out ' +
'override params private protected public readonly ref return
sbyte sealed set ' +
'short sizeof stackalloc static string struct switch this throw
true try ' +
'typeof uint ulong unchecked unsafe ushort using virtual void
while';
function fixComments(match, regexInfo)
{
var css = (match[0].indexOf("///") == 0)
? 'color1'
: 'comments'
;
return [new SyntaxHighlighter.Match(match[0], match.index, css)];
}
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.singleLineCComments, func :
fixComments }, // one line comments
{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css:
'comments' }, // multiline comments
{ regex: /@"(?:[^"]|"")*"/g, css:
'string' }, // @-quoted strings
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // strings
{ regex: /^\s*#.*/gm, css: 'preprocessor' }, //
preprocessor tags like #region and #endregion
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' }, // c# keyword
{ regex: /\bpartial(?=\s+(?:class|interface|struct)\b)/g, css:
'keyword' }, // contextual keyword: 'partial'
{ regex: /\byield(?=\s+(?:return|break)\b)/g, css:
'keyword' } // contextual keyword: 'yield'
];
this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['c#', 'c-sharp',
'csharp'];
SyntaxHighlighter.brushes.CSharp = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushCss.js000064400000013231151171034470016431
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
function getKeywordsCSS(str)
{
return '\\b([a-z_]|)' + str.replace(/ /g,
'(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b';
};
function getValuesCSS(str)
{
return '\\b' + str.replace(/ /g,
'(?!-)(?!:)\\b|\\b()') + '\:\\b';
};
var keywords = 'ascent azimuth background-attachment
background-color background-image background-position ' +
'background-repeat background baseline bbox border-collapse
border-color border-spacing border-style border-top ' +
'border-right border-bottom border-left border-top-color
border-right-color border-bottom-color border-left-color ' +
'border-top-style border-right-style border-bottom-style
border-left-style border-top-width border-right-width ' +
'border-bottom-width border-left-width border-width border
bottom cap-height caption-side centerline clear clip color ' +
'content counter-increment counter-reset cue-after cue-before
cue cursor definition-src descent direction display ' +
'elevation empty-cells float font-size-adjust font-family
font-size font-stretch font-style font-variant font-weight font ' +
'height left letter-spacing line-height list-style-image
list-style-position list-style-type list-style margin-top ' +
'margin-right margin-bottom margin-left margin marker-offset
marks mathline max-height max-width min-height min-width orphans ' +
'outline-color outline-style outline-width outline overflow
padding-top padding-right padding-bottom padding-left padding page '
+
'page-break-after page-break-before page-break-inside pause
pause-after pause-before pitch pitch-range play-during position ' +
'quotes right richness size slope src speak-header speak-numeral
speak-punctuation speak speech-rate stemh stemv stress ' +
'table-layout text-align top text-decoration text-indent
text-shadow text-transform unicode-bidi unicode-range units-per-em '
+
'vertical-align visibility voice-family volume white-space
widows width widths word-spacing x-height z-index';
var values = 'above absolute all always aqua armenian attr aural
auto avoid baseline behind below bidi-override black blink block blue bold
bolder '+
'both bottom braille capitalize caption center center-left
center-right circle close-quote code collapse compact condensed '+
'continuous counter counters crop cross crosshair cursive dashed
decimal decimal-leading-zero default digits disc dotted double '+
'embed embossed e-resize expanded extra-condensed extra-expanded
fantasy far-left far-right fast faster fixed format fuchsia '+
'gray green groove handheld hebrew help hidden hide high higher
icon inline-table inline inset inside invert italic '+
'justify landscape large larger left-side left leftwards level
lighter lime line-through list-item local loud lower-alpha '+
'lowercase lower-greek lower-latin lower-roman lower low ltr
marker maroon medium message-box middle mix move narrower '+
'navy ne-resize no-close-quote none no-open-quote no-repeat
normal nowrap n-resize nw-resize oblique olive once open-quote outset
'+
'outside overline pointer portrait pre print projection purple
red relative repeat repeat-x repeat-y rgb ridge right right-side '+
'rightwards rtl run-in screen scroll semi-condensed
semi-expanded separate se-resize show silent silver slower slow '+
'small small-caps small-caption smaller soft solid speech
spell-out square s-resize static status-bar sub super sw-resize '+
'table-caption table-cell table-column table-column-group
table-footer-group table-header-group table-row table-row-group teal
'+
'text-bottom text-top thick thin top transparent tty tv
ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin
'+
'upper-roman url visible wait white wider w-resize x-fast x-high
x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';
var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial
[hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css:
'comments' }, // multiline comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // double quoted strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // single quoted strings
{ regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, //
html colors
{ regex: /(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)/g, css: 'value'
}, // sizes
{ regex: /!important/g, css: 'color3' }, //
!important
{ regex: new RegExp(getKeywordsCSS(keywords), 'gm'), css:
'keyword' }, // keywords
{ regex: new RegExp(getValuesCSS(values), 'g'), css:
'value' }, // values
{ regex: new RegExp(this.getKeywords(fonts), 'g'), css:
'color1' } // fonts
];
this.forHtmlScript({
left: /(<|<)\s*style.*?(>|>)/gi,
right: /(<|<)\/\s*style\s*(>|>)/gi
});
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['css'];
SyntaxHighlighter.brushes.CSS = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushDelphi.js000064400000004605151171034470017113
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
var keywords = 'abs addr and ansichar ansistring array as asm begin
boolean byte cardinal ' +
'case char class comp const constructor currency destructor div
do double ' +
'downto else end except exports extended false file finalization
finally ' +
'for function goto if implementation in inherited int64
initialization ' +
'integer interface is label library longint longword mod nil not
object ' +
'of on or packed pansichar pansistring pchar pcurrency pdatetime
pextended ' +
'pint64 pointer private procedure program property pshortstring
pstring ' +
'pvariant pwidechar pwidestring protected public published raise
real real48 ' +
'record repeat set shl shortint shortstring shr single smallint
string then ' +
'threadvar to true try type unit until uses val var varirnt
while widechar ' +
'widestring with word write writeln xor';
this.regexList = [
{ regex: /\(\*[\s\S]*?\*\)/gm, css: 'comments' }, //
multiline comments (* *)
{ regex: /{(?!\$)[\s\S]*?}/gm, css: 'comments' }, //
multiline comments { }
{ regex: SyntaxHighlighter.regexLib.singleLineCComments, css:
'comments' }, // one line
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // strings
{ regex: /\{\$[a-zA-Z]+ .+\}/g, css: 'color1' }, //
compiler Directives and Region tags
{ regex: /\b[\d\.]+\b/g, css: 'value' }, // numbers
12345
{ regex: /\$[a-zA-Z0-9]+\b/g, css: 'value' }, //
numbers $F5D3
{ regex: new RegExp(this.getKeywords(keywords), 'gmi'), css:
'keyword' } // keyword
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['delphi', 'pascal',
'pas'];
SyntaxHighlighter.brushes.Delphi = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushDiff.js000064400000002112151171034470016545
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
this.regexList = [
{ regex: /^\+\+\+.*$/gm, css: 'color2' },
{ regex: /^\-\-\-.*$/gm, css: 'color2' },
{ regex: /^\s.*$/gm, css: 'color1' },
{ regex: /^@@.*@@$/gm, css: 'variable' },
{ regex: /^\+[^\+]{1}.*$/gm, css: 'string' },
{ regex: /^\-[^\-]{1}.*$/gm, css: 'comments' }
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['diff', 'patch'];
SyntaxHighlighter.brushes.Diff = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushErlang.js000064400000003344151171034470017115
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Contributed by Jean-Lou Dupont
// http://jldupont.blogspot.com/2009/06/erlang-syntax-highlighter.html
// According to:
http://erlang.org/doc/reference_manual/introduction.html#1.5
var keywords = 'after and andalso band begin bnot bor bsl bsr bxor
'+
'case catch cond div end fun if let not of or orelse '+
'query receive rem try when xor'+
// additional
' module export import define';
this.regexList = [
{ regex: new RegExp("[A-Z][A-Za-z0-9_]+", 'g'),
css: 'constants' },
{ regex: new RegExp("\\%.+", 'gm'), css:
'comments' },
{ regex: new RegExp("\\?[A-Za-z0-9_]+", 'g'),
css: 'preprocessor' },
{ regex: new RegExp("[a-z0-9_]+:[a-z0-9_]+", 'g'),
css: 'functions' },
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' },
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' },
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' }
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['erl', 'erlang'];
SyntaxHighlighter.brushes.Erland = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushGroovy.js000064400000006014151171034470017167
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Contributed by Andres Almiray
// http://jroller.com/aalmiray/entry/nice_source_code_syntax_highlighter
var keywords = 'as assert break case catch class continue def
default do else extends finally ' +
'if in implements import instanceof interface new package
property return switch ' +
'throw throws try while public protected private static';
var types = 'void boolean byte char short int long float
double';
var constants = 'null';
var methods = 'allProperties count get size '+
'collect each eachProperty eachPropertyName eachWithIndex find
findAll ' +
'findIndexOf grep inject max min reverseEach sort ' +
'asImmutable asSynchronized flatten intersect join pop reverse
subMap toList ' +
'padRight padLeft contains eachMatch toCharacter toLong toUrl
tokenize ' +
'eachFile eachFileRecurse eachB yte eachLine readBytes readLine
getText ' +
'splitEachLine withReader append encodeBase64 decodeBase64
filterLine ' +
'transformChar transformLine withOutputStream withPrintWriter
withStream ' +
'withStreams withWriter withWriterAppend write writeLine
'+
'dump inspect invokeMethod print println step times upto use
waitForOrKill '+
'getText';
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.singleLineCComments, css:
'comments' }, // one line comments
{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css:
'comments' }, // multiline comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // strings
{ regex: /""".*"""/g, css:
'string' }, // GStrings
{ regex: new RegExp('\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b',
'gi'), css: 'value' }, // numbers
{ regex: new RegExp(this.getKeywords(keywords),
'gm'), css: 'keyword' }, // goovy keyword
{ regex: new RegExp(this.getKeywords(types), 'gm'), css:
'color1' }, // goovy/java type
{ regex: new RegExp(this.getKeywords(constants),
'gm'), css: 'constants' }, // constants
{ regex: new RegExp(this.getKeywords(methods), 'gm'), css:
'functions' } // methods
];
this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
}
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['groovy'];
SyntaxHighlighter.brushes.Groovy = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushJava.js000064400000004156151171034470016570
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
var keywords = 'abstract assert boolean break byte case catch char
class const ' +
'continue default do double else enum extends ' +
'false final finally float for goto if implements import '
+
'instanceof int interface long native new null ' +
'package private protected public return ' +
'short static strictfp super switch synchronized this throw
throws true ' +
'transient try void volatile while';
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.singleLineCComments, css:
'comments' }, // one line comments
{ regex: /\/\*([^\*][\s\S]*)?\*\//gm, css: 'comments' },
// multiline comments
{ regex: /\/\*(?!\*\/)\*[\s\S]*?\*\//gm, css:
'preprocessor' }, // documentation comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // strings
{ regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css:
'value' }, // numbers
{ regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1'
}, // annotation @anno
{ regex: /\@interface\b/g, css: 'color2' }, //
@interface keyword
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' } // java keyword
];
this.forHtmlScript({
left : /(<|<)%[@!=]?/g,
right : /%(>|>)/g
});
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['java'];
SyntaxHighlighter.brushes.Java = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushJavaFX.js000064400000004370151171034470017024
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Contributed by Patrick Webster
//
http://patrickwebster.blogspot.com/2009/04/javafx-brush-for-syntaxhighlighter.html
var datatypes = 'Boolean Byte Character Double Duration '
+ 'Float Integer Long Number Short String Void'
;
var keywords = 'abstract after and as assert at before bind bound
break catch class '
+ 'continue def delete else exclusive extends false finally
first for from '
+ 'function if import in indexof init insert instanceof into
inverse last '
+ 'lazy mixin mod nativearray new not null on or override
package postinit '
+ 'protected public public-init public-read replace return
reverse sizeof '
+ 'step super then this throw true try tween typeof var where
while with '
+ 'attribute let private readonly static trigger'
;
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.singleLineCComments, css:
'comments' },
{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css:
'comments' },
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' },
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' },
{ regex:
/(-?\.?)(\b(\d*\.?\d+|\d+\.?\d*)(e[+-]?\d+)?|0x[a-f\d]+)\b\.?/gi, css:
'color2' }, // numbers
{ regex: new RegExp(this.getKeywords(datatypes), 'gm'), css:
'variable' }, // datatypes
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' }
];
this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['jfx', 'javafx'];
SyntaxHighlighter.brushes.JavaFX = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushJScript.js000064400000003245151171034470017263
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
var keywords = 'break case catch continue ' +
'default delete do else false ' +
'for function if in instanceof ' +
'new null return super switch ' +
'this throw true try typeof var while with'
;
var r = SyntaxHighlighter.regexLib;
this.regexList = [
{ regex: r.multiLineDoubleQuotedString, css: 'string'
}, // double quoted strings
{ regex: r.multiLineSingleQuotedString, css: 'string'
}, // single quoted strings
{ regex: r.singleLineCComments, css: 'comments' }, //
one line comments
{ regex: r.multiLineCComments, css: 'comments' }, //
multiline comments
{ regex: /\s*#.*/gm, css: 'preprocessor' }, //
preprocessor tags like #region and #endregion
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' } // keywords
];
this.forHtmlScript(r.scriptScriptTags);
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['js', 'jscript',
'javascript'];
SyntaxHighlighter.brushes.JScript = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushPerl.js000064400000006260151171034470016607
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Contributed by David Simmons-Duffin and Marty Kube
var funcs =
'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown
chr ' +
'chroot close closedir connect cos crypt defined delete each
endgrent ' +
'endhostent endnetent endprotoent endpwent endservent eof exec
exists ' +
'exp fcntl fileno flock fork format formline getc getgrent getgrgid
' +
'getgrnam gethostbyaddr gethostbyname gethostent getlogin
getnetbyaddr ' +
'getnetbyname getnetent getpeername getpgrp getppid getpriority
' +
'getprotobyname getprotobynumber getprotoent getpwent getpwnam
getpwuid ' +
'getservbyname getservbyport getservent getsockname getsockopt glob
' +
'gmtime grep hex index int ioctl join keys kill lc lcfirst length
link ' +
'listen localtime lock log lstat map mkdir msgctl msgget msgrcv
msgsnd ' +
'oct open opendir ord pack pipe pop pos print printf prototype push
' +
'quotemeta rand read readdir readline readlink readpipe recv rename
' +
'reset reverse rewinddir rindex rmdir scalar seek seekdir select
semctl ' +
'semget semop send setgrent sethostent setnetent setpgrp
setpriority ' +
'setprotoent setpwent setservent setsockopt shift shmctl shmget
shmread ' +
'shmwrite shutdown sin sleep socket socketpair sort splice split
sprintf ' +
'sqrt srand stat study substr symlink syscall sysopen sysread
sysseek ' +
'system syswrite tell telldir time times tr truncate uc ucfirst
umask ' +
'undef unlink unpack unshift utime values vec wait waitpid warn
write';
var keywords =
'bless caller continue dbmclose dbmopen die do dump else elsif eval
exit ' +
'for foreach goto if import last local my next no our package redo
ref ' +
'require return sub tie tied unless untie until use wantarray
while';
this.regexList = [
{ regex: new RegExp('#[^!].*$', 'gm'), css:
'comments' },
{ regex: new RegExp('^\\s*#!.*$', 'gm'), css:
'preprocessor' }, // shebang
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' },
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' },
{ regex: new RegExp('(\\$|@|%)\\w+', 'g'), css:
'variable' },
{ regex: new RegExp(this.getKeywords(funcs), 'gmi'), css:
'functions' },
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' }
];
this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags);
}
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['perl', 'Perl', 'pl'];
SyntaxHighlighter.brushes.Perl = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushPhp.js000064400000012326151171034470016434
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
var funcs = 'abs acos acosh addcslashes addslashes ' +
'array_change_key_case array_chunk array_combine
array_count_values array_diff '+
'array_diff_assoc array_diff_key array_diff_uassoc
array_diff_ukey array_fill '+
'array_filter array_flip array_intersect array_intersect_assoc
array_intersect_key '+
'array_intersect_uassoc array_intersect_ukey array_key_exists
array_keys array_map '+
'array_merge array_merge_recursive array_multisort array_pad
array_pop array_product '+
'array_push array_rand array_reduce array_reverse array_search
array_shift '+
'array_slice array_splice array_sum array_udiff
array_udiff_assoc '+
'array_udiff_uassoc array_uintersect array_uintersect_assoc
'+
'array_uintersect_uassoc array_unique array_unshift array_values
array_walk '+
'array_walk_recursive atan atan2 atanh base64_decode
base64_encode base_convert '+
'basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain
bzclose bzcompress '+
'bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread
bzwrite ceil chdir '+
'checkdate checkdnsrr chgrp chmod chop chown chr chroot
chunk_split class_exists '+
'closedir closelog copy cos cosh count count_chars date decbin
dechex decoct '+
'deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace
eregi eregi_replace error_log '+
'error_reporting escapeshellarg escapeshellcmd eval exec exit
exp explode extension_loaded '+
'feof fflush fgetc fgetcsv fgets fgetss file_exists
file_get_contents file_put_contents '+
'fileatime filectime filegroup fileinode filemtime fileowner
fileperms filesize filetype '+
'floatval flock floor flush fmod fnmatch fopen fpassthru fprintf
fputcsv fputs fread fscanf '+
'fseek fsockopen fstat ftell ftok getallheaders getcwd getdate
getenv gethostbyaddr gethostbyname '+
'gethostbynamel getimagesize getlastmod getmxrr getmygid
getmyinode getmypid getmyuid getopt '+
'getprotobyname getprotobynumber getrandmax getrusage
getservbyname getservbyport gettext '+
'gettimeofday gettype glob gmdate gmmktime ini_alter ini_get
ini_get_all ini_restore ini_set '+
'interface_exists intval ip2long is_a is_array is_bool
is_callable is_dir is_double '+
'is_executable is_file is_finite is_float is_infinite is_int
is_integer is_link is_long '+
'is_nan is_null is_numeric is_object is_readable is_real
is_resource is_scalar is_soap_fault '+
'is_string is_subclass_of is_uploaded_file is_writable
is_writeable mkdir mktime nl2br '+
'parse_ini_file parse_str parse_url passthru pathinfo print
readlink realpath rewind rewinddir rmdir '+
'round str_ireplace str_pad str_repeat str_replace str_rot13
str_shuffle str_split '+
'str_word_count strcasecmp strchr strcmp strcoll strcspn
strftime strip_tags stripcslashes '+
'stripos stripslashes stristr strlen strnatcasecmp strnatcmp
strncasecmp strncmp strpbrk '+
'strpos strptime strrchr strrev strripos strrpos strspn strstr
strtok strtolower strtotime '+
'strtoupper strtr strval substr substr_compare';
var keywords = 'abstract and array as break case catch cfunction
class clone const continue declare default die do ' +
'else elseif enddeclare endfor endforeach endif endswitch
endwhile extends final for foreach ' +
'function include include_once global goto if implements
interface instanceof namespace new ' +
'old_function or private protected public return require
require_once static switch ' +
'throw try use var while xor ';
var constants = '__FILE__ __LINE__ __METHOD__ __FUNCTION__
__CLASS__';
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.singleLineCComments, css:
'comments' }, // one line comments
{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css:
'comments' }, // multiline comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // double quoted strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // single quoted strings
{ regex: /\$\w+/g, css: 'variable' }, //
variables
{ regex: new RegExp(this.getKeywords(funcs), 'gmi'), css:
'functions' }, // common functions
{ regex: new RegExp(this.getKeywords(constants), 'gmi'), css:
'constants' }, // constants
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' } // keyword
];
this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags);
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['php'];
SyntaxHighlighter.brushes.Php = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushPlain.js000064400000001417151171034470016747
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['text', 'plain'];
SyntaxHighlighter.brushes.Plain = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushPowerShell.js000064400000007621151171034470017773
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Contributes by B.v.Zanten, Getronics
// http://confluence.atlassian.com/display/CONFEXT/New+Code+Macro
var keywords = 'Add-Content Add-History Add-Member Add-PSSnapin
Clear(-Content)? Clear-Item ' +
'Clear-ItemProperty Clear-Variable Compare-Object
ConvertFrom-SecureString Convert-Path ' +
'ConvertTo-Html ConvertTo-SecureString Copy(-Item)?
Copy-ItemProperty Export-Alias ' +
'Export-Clixml Export-Console Export-Csv ForEach(-Object)?
Format-Custom Format-List ' +
'Format-Table Format-Wide Get-Acl Get-Alias
Get-AuthenticodeSignature Get-ChildItem Get-Command ' +
'Get-Content Get-Credential Get-Culture Get-Date Get-EventLog
Get-ExecutionPolicy ' +
'Get-Help Get-History Get-Host Get-Item Get-ItemProperty
Get-Location Get-Member ' +
'Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider
Get-PSSnapin Get-Service ' +
'Get-TraceSource Get-UICulture Get-Unique Get-Variable
Get-WmiObject Group-Object ' +
'Import-Alias Import-Clixml Import-Csv Invoke-Expression
Invoke-History Invoke-Item ' +
'Join-Path Measure-Command Measure-Object Move(-Item)?
Move-ItemProperty New-Alias ' +
'New-Item New-ItemProperty New-Object New-PSDrive New-Service
New-TimeSpan ' +
'New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer
Out-String Pop-Location ' +
'Push-Location Read-Host Remove-Item Remove-ItemProperty
Remove-PSDrive Remove-PSSnapin ' +
'Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path
Restart-Service Resume-Service ' +
'Select-Object Select-String Set-Acl Set-Alias
Set-AuthenticodeSignature Set-Content ' +
'Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty
Set-Location Set-PSDebug ' +
'Set-Service Set-TraceSource Set(-Variable)? Sort-Object
Split-Path Start-Service ' +
'Start-Sleep Start-Transcript Stop-Process Stop-Service
Stop-Transcript Suspend-Service ' +
'Tee-Object Test-Path Trace-Command Update-FormatData
Update-TypeData Where(-Object)? ' +
'Write-Debug Write-Error Write(-Host)? Write-Output
Write-Progress Write-Verbose Write-Warning';
var alias = 'ac asnp clc cli clp clv cpi cpp cvpa diff epal epcsv fc
fl ' +
'ft fw gal gc gci gcm gdr ghy gi gl gm gp gps group gsv ' +
'gsnp gu gv gwmi iex ihy ii ipal ipcsv mi mp nal ndr ni nv oh rdr
' +
'ri rni rnp rp rsnp rv rvpa sal sasv sc select si sl sleep sort
sp ' +
'spps spsv sv tee cat cd cp h history kill lp ls ' +
'mount mv popd ps pushd pwd r rm rmdir echo cls chdir del dir
' +
'erase rd ren type % \\?';
this.regexList = [
{ regex: /#.*$/gm, css: 'comments' }, // one line
comments
{ regex: /\$[a-zA-Z0-9]+\b/g, css: 'value' }, //
variables $Computer1
{ regex: /\-[a-zA-Z]+\b/g, css: 'keyword' }, //
Operators -not -and -eq
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // strings
{ regex: new RegExp(this.getKeywords(keywords), 'gmi'), css:
'keyword' },
{ regex: new RegExp(this.getKeywords(alias), 'gmi'), css:
'keyword' }
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['powershell', 'ps'];
SyntaxHighlighter.brushes.PowerShell = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushPython.js000064400000004705151171034470017170
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Contributed by Gheorghe Milas and Ahmad Sherif
var keywords = 'and assert break class continue def del elif else
' +
'except exec finally for from global if import in is ' +
'lambda not or pass print raise return try yield while';
var funcs = '__import__ abs all any apply basestring bin bool buffer
callable ' +
'chr classmethod cmp coerce compile complex delattr dict dir
' +
'divmod enumerate eval execfile file filter float format
frozenset ' +
'getattr globals hasattr hash help hex id input int intern '
+
'isinstance issubclass iter len list locals long map max min next
' +
'object oct open ord pow print property range raw_input reduce
' +
'reload repr reversed round set setattr slice sorted staticmethod
' +
'str sum super tuple type type unichr unicode vars xrange
zip';
var special = 'None True False self cls class_';
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css:
'comments' },
{ regex: /^\s*@\w+/gm, css: 'decorator' },
{ regex: /(['\"]{3})([^\1])*?\1/gm, css:
'comments' },
{ regex:
/"(?!")(?:\.|\\\"|[^\""\n])*"/gm, css:
'string' },
{ regex:
/'(?!')(?:\.|(\\\')|[^\''\n])*'/gm, css:
'string' },
{ regex: /\+|\-|\*|\/|\%|=|==/gm, css: 'keyword' },
{ regex: /\b\d+\.?\w*/g, css: 'value' },
{ regex: new RegExp(this.getKeywords(funcs), 'gmi'), css:
'functions' },
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' },
{ regex: new RegExp(this.getKeywords(special), 'gm'), css:
'color1' }
];
this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['py', 'python'];
SyntaxHighlighter.brushes.Python = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushRuby.js000064400000004303151171034470016622
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Contributed by Erik Peterson.
var keywords = 'alias and BEGIN begin break case class def
define_method defined do each else elsif ' +
'END end ensure false for if in module new next nil not or raise
redo rescue retry return ' +
'self super then throw true undef unless until when while
yield';
var builtins = 'Array Bignum Binding Class Continuation Dir
Exception FalseClass File::Stat File Fixnum Fload ' +
'Hash Integer IO MatchData Method Module NilClass Numeric Object
Proc Range Regexp String Struct::TMS Symbol ' +
'ThreadGroup Thread Time TrueClass';
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css:
'comments' }, // one line comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // double quoted strings
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // single quoted strings
{ regex: /\b[A-Z0-9_]+\b/g, css: 'constants' }, //
constants
{ regex: /:[a-z][A-Za-z0-9_]*/g, css: 'color2' }, //
symbols
{ regex: /(\$|@@|@)\w+/g, css: 'variable bold' }, //
$global, @instance, and @@class variables
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' }, // keywords
{ regex: new RegExp(this.getKeywords(builtins), 'gm'), css:
'color1' } // builtins
];
this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['ruby', 'rails', 'ror',
'rb'];
SyntaxHighlighter.brushes.Ruby = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushSass.js000064400000013674151171034470016625
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
function getKeywordsCSS(str)
{
return '\\b([a-z_]|)' + str.replace(/ /g,
'(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b';
};
function getValuesCSS(str)
{
return '\\b' + str.replace(/ /g,
'(?!-)(?!:)\\b|\\b()') + '\:\\b';
};
var keywords = 'ascent azimuth background-attachment
background-color background-image background-position ' +
'background-repeat background baseline bbox border-collapse
border-color border-spacing border-style border-top ' +
'border-right border-bottom border-left border-top-color
border-right-color border-bottom-color border-left-color ' +
'border-top-style border-right-style border-bottom-style
border-left-style border-top-width border-right-width ' +
'border-bottom-width border-left-width border-width border
bottom cap-height caption-side centerline clear clip color ' +
'content counter-increment counter-reset cue-after cue-before
cue cursor definition-src descent direction display ' +
'elevation empty-cells float font-size-adjust font-family
font-size font-stretch font-style font-variant font-weight font ' +
'height left letter-spacing line-height list-style-image
list-style-position list-style-type list-style margin-top ' +
'margin-right margin-bottom margin-left margin marker-offset
marks mathline max-height max-width min-height min-width orphans ' +
'outline-color outline-style outline-width outline overflow
padding-top padding-right padding-bottom padding-left padding page '
+
'page-break-after page-break-before page-break-inside pause
pause-after pause-before pitch pitch-range play-during position ' +
'quotes right richness size slope src speak-header speak-numeral
speak-punctuation speak speech-rate stemh stemv stress ' +
'table-layout text-align top text-decoration text-indent
text-shadow text-transform unicode-bidi unicode-range units-per-em '
+
'vertical-align visibility voice-family volume white-space
widows width widths word-spacing x-height z-index';
var values = 'above absolute all always aqua armenian attr aural
auto avoid baseline behind below bidi-override black blink block blue bold
bolder '+
'both bottom braille capitalize caption center center-left
center-right circle close-quote code collapse compact condensed '+
'continuous counter counters crop cross crosshair cursive dashed
decimal decimal-leading-zero digits disc dotted double '+
'embed embossed e-resize expanded extra-condensed extra-expanded
fantasy far-left far-right fast faster fixed format fuchsia '+
'gray green groove handheld hebrew help hidden hide high higher
icon inline-table inline inset inside invert italic '+
'justify landscape large larger left-side left leftwards level
lighter lime line-through list-item local loud lower-alpha '+
'lowercase lower-greek lower-latin lower-roman lower low ltr
marker maroon medium message-box middle mix move narrower '+
'navy ne-resize no-close-quote none no-open-quote no-repeat
normal nowrap n-resize nw-resize oblique olive once open-quote outset
'+
'outside overline pointer portrait pre print projection purple
red relative repeat repeat-x repeat-y rgb ridge right right-side '+
'rightwards rtl run-in screen scroll semi-condensed
semi-expanded separate se-resize show silent silver slower slow '+
'small small-caps small-caption smaller soft solid speech
spell-out square s-resize static status-bar sub super sw-resize '+
'table-caption table-cell table-column table-column-group
table-footer-group table-header-group table-row table-row-group teal
'+
'text-bottom text-top thick thin top transparent tty tv
ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin
'+
'upper-roman url visible wait white wider w-resize x-fast x-high
x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';
var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial
[hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';
var statements = '!important !default';
var preprocessor = '@import @extend @debug @warn @if @for @while
@mixin @include';
var r = SyntaxHighlighter.regexLib;
this.regexList = [
{ regex: r.multiLineCComments, css: 'comments' }, //
multiline comments
{ regex: r.singleLineCComments, css: 'comments' }, //
singleline comments
{ regex: r.doubleQuotedString, css: 'string' }, //
double quoted strings
{ regex: r.singleQuotedString, css: 'string' }, //
single quoted strings
{ regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, //
html colors
{ regex: /\b(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)\b/g, css:
'value' }, // sizes
{ regex: /\$\w+/g, css: 'variable' }, // variables
{ regex: new RegExp(this.getKeywords(statements), 'g'), css:
'color3' }, // statements
{ regex: new RegExp(this.getKeywords(preprocessor), 'g'), css:
'preprocessor' }, // preprocessor
{ regex: new RegExp(getKeywordsCSS(keywords), 'gm'), css:
'keyword' }, // keywords
{ regex: new RegExp(getValuesCSS(values), 'g'), css:
'value' }, // values
{ regex: new RegExp(this.getKeywords(fonts), 'g'), css:
'color1' } // fonts
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['sass', 'scss'];
SyntaxHighlighter.brushes.Sass = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushScala.js000064400000003627151171034470016734
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
// Contributed by Yegor Jbanov and David Bernard.
var keywords = 'val sealed case def true trait implicit forSome
import match object null finally super ' +
'override try lazy for var catch throw type extends class while
with new final yield abstract ' +
'else do if return protected private this package false';
var keyops = '[_:=><%#@]+';
this.regexList = [
{ regex: SyntaxHighlighter.regexLib.singleLineCComments, css:
'comments' }, // one line comments
{ regex: SyntaxHighlighter.regexLib.multiLineCComments, css:
'comments' }, // multiline comments
{ regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css:
'string' }, // multi-line strings
{ regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css:
'string' }, // double-quoted string
{ regex: SyntaxHighlighter.regexLib.singleQuotedString, css:
'string' }, // strings
{ regex: /0x[a-f0-9]+|\d+(\.\d+)?/gi, css: 'value'
}, // numbers
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' }, // keywords
{ regex: new RegExp(keyops, 'gm'), css:
'keyword' } // scala keyword
];
}
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['scala'];
SyntaxHighlighter.brushes.Scala = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushSql.js000064400000006060151171034470016442
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
var funcs = 'abs avg case cast coalesce convert count
current_timestamp ' +
'current_user day isnull left lower month nullif replace right
' +
'session_user space substring sum system_user upper user
year';
var keywords = 'absolute action add after alter as asc at
authorization begin bigint ' +
'binary bit by cascade char character check checkpoint close
collate ' +
'column commit committed connect connection constraint contains
continue ' +
'create cube current current_date current_time cursor database
date ' +
'deallocate dec decimal declare default delete desc distinct
double drop ' +
'dynamic else end end-exec escape except exec execute false
fetch first ' +
'float for force foreign forward free from full function global
goto grant ' +
'group grouping having hour ignore index inner insensitive
insert instead ' +
'int integer intersect into is isolation key last level load
local max min ' +
'minute modify move name national nchar next no numeric of off
on only ' +
'open option order out output partial password precision prepare
primary ' +
'prior privileges procedure public read real references relative
repeatable ' +
'restrict return returns revoke rollback rollup rows rule schema
scroll ' +
'second section select sequence serializable set size smallint
static ' +
'statistics table temp temporary then time timestamp to top
transaction ' +
'translation trigger true truncate uncommitted union unique
update values ' +
'varchar varying view when where with work';
var operators = 'all and any between cross in join like not null or
outer some';
this.regexList = [
{ regex: /--(.*)$/gm, css: 'comments' }, // one
line and multiline comments
{ regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css:
'string' }, // double quoted strings
{ regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css:
'string' }, // single quoted strings
{ regex: new RegExp(this.getKeywords(funcs), 'gmi'), css:
'color2' }, // functions
{ regex: new RegExp(this.getKeywords(operators),
'gmi'), css: 'color1' }, // operators and such
{ regex: new RegExp(this.getKeywords(keywords),
'gmi'), css: 'keyword' } // keyword
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['sql'];
SyntaxHighlighter.brushes.Sql = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushVb.js000064400000004441151171034470016253
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
var keywords = 'AddHandler AddressOf AndAlso Alias And Ansi As
Assembly Auto ' +
'Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar
CDate ' +
'CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr
CType ' +
'Date Decimal Declare Default Delegate Dim DirectCast Do Double
Each ' +
'Else ElseIf End Enum Erase Error Event Exit False Finally For
Friend ' +
'Function Get GetType GoSub GoTo Handles If Implements Imports
In ' +
'Inherits Integer Interface Is Let Lib Like Long Loop Me Mod
Module ' +
'MustInherit MustOverride MyBase MyClass Namespace New Next Not
Nothing ' +
'NotInheritable NotOverridable Object On Option Optional Or
OrElse ' +
'Overloads Overridable Overrides ParamArray Preserve Private
Property ' +
'Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler
Resume ' +
'Return Select Set Shadows Shared Short Single Static Step Stop
String ' +
'Structure Sub SyncLock Then Throw To True Try TypeOf Unicode
Until ' +
'Variant When While With WithEvents WriteOnly Xor';
this.regexList = [
{ regex: /'.*$/gm, css: 'comments' }, // one
line comments
{ regex: SyntaxHighlighter.regexLib.doubleQuotedString, css:
'string' }, // strings
{ regex: /^\s*#.*$/gm, css: 'preprocessor' }, //
preprocessor tags like #region and #endregion
{ regex: new RegExp(this.getKeywords(keywords), 'gm'), css:
'keyword' } // vb keyword
];
this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags);
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['vb', 'vbnet'];
SyntaxHighlighter.brushes.Vb = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shBrushXml.js000064400000004023151171034470016440
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
;(function()
{
// CommonJS
typeof(require) != 'undefined' ? SyntaxHighlighter =
require('shCore').SyntaxHighlighter : null;
function Brush()
{
function process(match, regexInfo)
{
var constructor = SyntaxHighlighter.Match,
code = match[0],
tag = new
XRegExp('(<|<)[\\s\\/\\?]*(?<name>[:\\w-\\.]+)',
'xg').exec(code),
result = []
;
if (match.attributes != null)
{
var attributes,
regex = new XRegExp('(?<name> [\\w:\\-\\.]+)' +
'\\s*=\\s*' +
'(?<value>
".*?"|\'.*?\'|\\w+)',
'xg');
while ((attributes = regex.exec(code)) != null)
{
result.push(new constructor(attributes.name, match.index +
attributes.index, 'color1'));
result.push(new constructor(attributes.value, match.index +
attributes.index + attributes[0].indexOf(attributes.value),
'string'));
}
}
if (tag != null)
result.push(
new constructor(tag.name, match.index + tag[0].indexOf(tag.name),
'keyword')
);
return result;
}
this.regexList = [
{ regex: new
XRegExp('(\\<|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\>|>)',
'gm'), css: 'color2' }, // <![ ... [ ... ]]>
{ regex: SyntaxHighlighter.regexLib.xmlComments, css:
'comments' }, // <!-- ... -->
{ regex: new
XRegExp('(<|<)[\\s\\/\\?]*(\\w+)(?<attributes>.*?)[\\s\\/\\?]*(>|>)',
'sg'), func: process }
];
};
Brush.prototype = new SyntaxHighlighter.Highlighter();
Brush.aliases = ['xml', 'xhtml', 'xslt',
'html'];
SyntaxHighlighter.brushes.Xml = Brush;
// CommonJS
typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
})();
assets/js/syntaxhighlighter3/scripts/shCore.js000064400000037500151171034470015572
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return
d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new
RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return
p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6
r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K
a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H
f}6
t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6
B(f,e,a,b){K
c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S
i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H
f.1i(e,a);O(a=a||0;a<f.L;a++)I(f[a]===e)H a;H-1}M=6(f,e){K
a=[],b=M.1B,c=0,d,h;I(M.1R(f)){I(e!==1d)1S 3m("2a\'t 5r 5I 5F 5B
5C 15 5E 5p");H r(f)}I(v)1S 2U("2a\'t W 3l M 59 5m 5g 5x
5i");e=e||"";O(d={2N:11,19:[],2K:6(g){H
e.1i(g)>-1},3d:6(g){e+=g}};c<f.L;)I(h=B(f,c,b,d)){a.U(h.3k);c+=h.1C[0].L||1}Y
I(h=n.X.W(z[b],f.1a(c))){a.U(h[0]);c+=h[0].L}Y{h=f.3a(c);I(h==="[")b=M.2I;Y
I(h==="]")b=M.1B;a.U(h);c++}a=15(a.1K(""),n.Q.W(e,w,""));a.1w={1m:f,19:d.2N?d.19:N};H
a};M.3v="1.5.0";M.2I=1;M.1B=2;K
C=/\\$(?:(\\d\\d?|[$&`\'])|{([$\\w]+)})/g,w=/[^5h]+|([\\s\\S])(?=[\\s\\S]*\\1)/g,A=/^(?:[?*+]|{\\d+(?:,\\d*)?})\\??/,v=11,u=[],n={X:15.Z.X,1A:15.Z.1A,1C:1r.Z.1C,Q:1r.Z.Q,1e:1r.Z.1e},x=n.X.W(/()??/,"")[1]===1d,D=6(){K
f=/^/g;n.1A.W(f,"");H!f.12}(),y=6(){K
f=/x/g;n.Q.W("x",f,"");H!f.12}(),E=15.Z.3n!==1d,z={};z[M.2I]=/^(?:\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S]))/;z[M.1B]=/^(?:\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\d*|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S])|\\(\\?[:=!]|[?*+]\\?|{\\d+(?:,\\d*)?}\\??)/;M.1h=6(f,e,a,b){u.U({2q:r(f,"g"+(E?"y":"")),2b:e,3r:a||M.1B,2p:b||N})};M.2n=6(f,e){K
a=f+"/"+(e||"");H
M.2n[a]||(M.2n[a]=M(f,e))};M.3c=6(f){H r(f,"g")};M.5l=6(f){H
f.Q(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,"\\\\$&")};M.5e=6(f,e,a,b){e=r(e,"g"+(b&&E?"y":""));e.12=a=a||0;f=e.X(f);H
b?f&&f.P===a?f:N:f};M.3q=6(){M.1h=6(){1S 2U("2a\'t 55 1h
54 3q")}};M.1R=6(f){H 53.Z.1q.W(f)==="[2m
15]"};M.3p=6(f,e,a,b){O(K
c=r(e,"g"),d=-1,h;h=c.X(f);){a.W(b,h,++d,f,c);c.12===h.P&&c.12++}I(e.1J)e.12=0};M.57=6(f,e){H
6 a(b,c){K
d=e[c].1I?e[c]:{1I:e[c]},h=r(d.1I,"g"),g=[],i;O(i=0;i<b.L;i++)M.3p(b[i],h,6(k){g.U(d.3j?k[d.3j]||"":k[0])});H
c===e.L-1||!g.L?g:a(g,c+1)}([f],0)};15.Z.1p=6(f,e){H
J.X(e[0])};15.Z.W=6(f,e){H J.X(e)};15.Z.X=6(f){K
e=n.X.1p(J,14),a;I(e){I(!x&&e.L>1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K
c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K
b=1;b<e.L;b++)I(a=J.1w.19[b-1])e[a]=e[b];!D&&J.1J&&!e[0].L&&J.12>e.P&&J.12--}H
e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K
e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K
a=M.1R(f),b,c;I(a&&1j
e.58()==="3f"&&e.1i("${")===-1&&y)H
n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j
e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K
d=0;d<b.L;d++)I(b[d])14[0][b[d]]=14[d+1]}I(a&&f.1J)f.12=14[14.L-2]+14[0].L;H
e.1p(N,14)});Y{c=J+"";c=n.Q.W(c,f,6(){K d=14;H
n.Q.W(e,C,6(h,g,i){I(g)5b(g){24"$":H"$";24"&":H
d[0];24"`":H d[d.L-1].1a(0,d[d.L-2]);24"\'":H
d[d.L-1].1a(d[d.L-2]+d[0].L);5a:i="";g=+g;I(!g)H
h;O(;g>d.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H
d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H
c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K
a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P<a.L&&3b.Z.U.1p(b,d.1a(1));h=d[0].L;c=f.12;I(b.L>=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y
b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H
n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K
e=p(J.19,f[1]);H
e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H
f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H
n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H
J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H
J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K
1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H
a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6
p(a,b,c){I(a==N)H N;K
d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H
a;O(a=0;d&&a<d.L&&i==N;a++)i=p(d[a],b,c);H i}6 C(a,b){K
c={},d;O(d 2g a)c[d]=a[d];O(d 2g b)c[d]=b[d];H c}6 w(a,b,c,d){6
h(g){g=g||1P.5y;I(!g.1F){g.1F=g.52;g.3N=6(){J.5w=11}}c.W(d||1P,g)}a.3g?a.3g("4U"+b,h):a.4y(b,h,11)}6
A(a,b){K c=e.1Y.2j,d=N;I(c==N){c={};O(K h 2g e.1U){K
g=e.1U[h];d=g.4x;I(d!=N){g.1V=h.4w();O(g=0;g<d.L;g++)c[d[g]]=h}}e.1Y.2j=c}d=e.1U[c[a]];d==N&&b!=11&&1P.1X(e.13.1x.1X+(e.13.1x.3E+a));H
d}6 v(a,b){O(K c=a.1e("\\n"),d=0;d<c.L;d++)c[d]=b(c[d],d);H
c.1K("\\n")}6 u(a,b){I(a==N||a.L==0||a=="\\n")H
a;a=a.Q(/</g,"&1y;");a=a.Q(/ {2,}/g,6(c){O(K
d="",h=0;h<c.L-1;h++)d+=e.13.1W;H d+"
"});I(b!=N)a=v(a,6(c){I(c.L==0)H"";K
d="";c=c.Q(/^(&2s;| )+/,6(h){d=h;H""});I(c.L==0)H
d;H d+\'<17
1g="\'+b+\'">\'+c+"</17>"});H
a}6 n(a,b){a.1e("\\n");O(K
c="",d=0;d<50;d++)c+=" ";H
a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K
g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H
h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.P<b.P)H-1;Y
I(a.P>b.P)H 1;Y I(a.L<b.L)H-1;Y I(a.L>b.L)H 1;H 0}6 y(a,b){6
c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j
i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K
b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K
d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'<a
2h="\'+c+\'">\'+c+"</a>"+d})}6
z(){O(K
a=1E.36("1k"),b=[],c=0;c<a.L;c++)a[c].3s=="20"&&b.U(a[c]);H
b}6 f(a){a=a.1F;K b=p(a,".20",R);a=p(a,".3O",R);K
c=1E.4i("3t");I(!(!a||!b||p(a,"3t"))){B(b.1c);r(b,"1m");O(K
d=a.3G,h=[],g=0;g<d.L;g++)h.U(d[g].4z||d[g].4A);h=h.1K("\\r");c.39(1E.4D(h));a.39(c);c.2C();c.4C();w(c,"4u",6(){c.2G.4E(c);b.1l=b.1l.Q("1m","")})}}I(1j
3F!="1d"&&1j M=="1d")M=3F("M").M;K
e={2v:{"1g-27":"","2i-1s":1,"2z-1s-2t":11,1M:N,1t:N,"42-45":R,"43-22":4,1u:R,16:R,"3V-17":R,2l:11,"41-40":R,2k:11,"1z-1k":11},13:{1W:"&2s;",2M:R,46:11,44:11,34:"4n",1x:{21:"4o
1m",2P:"?",1X:"1v\\n\\n",3E:"4r\'t 4t 1D
O: ",4g:"4m 4B\'t 51 O 1z-1k 4F: ",37:\'<!4T 1z
4S "-//4V//3H 4W 1.0 4Z//4Y"
"1Z://2y.3L.3K/4X/3I/3H/3I-4P.4J"><1z
4I="1Z://2y.3L.3K/4L/5L"><3J><4N
1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L
1v</1t></3J><3B
1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;"><T
1L="2O-3D:3C;3w-32:1.6z;"><T
1L="25-22:6A-6E;">1v</T><T
1L="25-22:.6C;3w-6B:6R;"><T>3v 3.0.76 (72 73
3x)</T><T><a 2h="1Z://3u.2w/1v" 1F="38"
1L="2f:#3y">1Z://3u.2w/1v</a></T><T>70 17 6U
71.</T><T>6T 6X-3x 6Y 6D.</T></T><T>6t 61 60
J 1k, 5Z <a 2h="6u://2y.62.2w/63-66/65?64=5X-5W&5P=5O"
1L="2f:#3y">5R</a> 5V <2R/>5U 5T
5S!</T></T></3B></1z>\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f
M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f
M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6
b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'<T
1g="16">\',d=e.16.2x,h=d.2X,g=0;g<h.L;g++)c+=(d[h[g]].1H||b)(a,h[g]);c+="</T>";H
c},2o:6(a,b,c){H\'<2W><a 2h="#" 1g="6e
6h\'+b+"
"+b+\'">\'+c+"</a></2W>"},2b:6(a){K
b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K
d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K
b=a.V("1t");H
e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K
a="68=0";a+=", 18="+(31.30-33)/2+",
32="+(31.2Z-2Y)/2+", 30=33,
2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K
b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K
c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K
d=[],h=0;h<c.L;h++)d.U(c[h]);c=d}c=c;d=[];I(e.13.2M)c=c.1O(z());I(c.L===0)H
d;O(h=0;h<c.L;h++){O(K g=c[h],i=a,k=c[h].1l,j=3W 0,l={},m=1f
M("^\\\\[(?<2V>(.*?))\\\\]$"),s=1f
M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K
o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H
d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K
g=0;g<c.L;g++){b=c[g];K
i=b.1F,k=b.1n,j=k.1D,l;I(j!=N){I(k["1z-1k"]=="R"||e.2v["1z-1k"]==R){d=1f
e.4l(j);j="4O"}Y I(d=A(j))d=1f d;Y 6H;l=i.3X;I(h.2M){l=l;K
m=x(l),s=11;I(m.1i("<![6G[")==0){m=m.4h(9);s=R}K
o=m.L;I(m.1i("]]\\>")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H
J.1T};e.4l=6(a){6 b(j,l){O(K m=0;m<j.L;m++)j[m].P+=l}K c=A(a),d,h=1f
e.1U.5Y,g=J,i="2F 1H 2Q".1e(" ");I(c!=N){d=1f c;O(K
k=0;k<i.L;k++)(6(){K j=i[k];g[j]=6(){H
h[j].1p(h,14)}})();d.28==N?1P.1X(e.13.1x.1X+(e.13.1x.4g+a)):h.2J.U({1I:d.28.17,2D:6(j){O(K
l=j.17,m=[],s=d.2J,o=j.P+j.18.L,F=d.28,q,G=0;G<s.L;G++){q=y(l,s[G]);b(q,o);m=m.1O(q)}I(F.18!=N&&j.18!=N){q=y(j.18,F.18);b(q,j.P);m=m.1O(q)}I(F.1b!=N&&j.1b!=N){q=y(j.1b,F.1b);b(q,j.P+j[0].5Q(j.1b));m=m.1O(q)}O(j=0;j<m.L;j++)m[j].1V=c.1V;H
m}})}};e.4j=6(){};e.4j.Z={V:6(a,b){K c=J.1n[a];c=c==N?b:c;K
d={"R":R,"11":11}[c];H d==N?c:d},3Y:6(a){H
1E.4i(a)},4c:6(a,b){K c=[];I(a!=N)O(K d=0;d<a.L;d++)I(1j
a[d]=="2m")c=c.1O(y(b,a[d]));H J.4e(c.6b(D))},4e:6(a){O(K
b=0;b<a.L;b++)I(a[b]!==N)O(K
c=a[b],d=c.P+c.L,h=b+1;h<a.L&&a[b]!==N;h++){K
g=a[h];I(g!==N)I(g.P>d)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y
I(g.P>=c.P&&g.P<d)a[h]=N}H a},4d:6(a){K
b=[],c=2u(J.V("2i-1s"));v(a,6(d,h){b.U(h+c)});H b},3U:6(a){K
b=J.V("1M",[]);I(1j
b!="2m"&&b.U==N)b=[b];a:{a=a.1q();K c=3W
0;O(c=c=1Q.6c(c||0,0);c<b.L;c++)I(b[c]==a){b=c;1N a}b=-1}H
b!=-1},2r:6(a,b,c){a=["1s","6i"+b,"P"+a,"6r"+(b%2==0?1:2).1q()];J.3U(b)&&a.U("67");b==0&&a.U("1N");H\'<T
1g="\'+a.1K("
")+\'">\'+c+"</T>"},3Q:6(a,b){K
c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y
I(3R(g)==R)g=0;O(K i=0;i<d;i++){K
k=b?b[i]:h+i,j;I(k==0)j=e.13.1W;Y{j=g;O(K
l=k.1q();l.L<j;)l="0"+l;j=l}a=j;c+=J.2r(i,k,a)}H
c},49:6(a,b){a=x(a);K c=a.1e("\\n");J.V("2z-1s-2t");K
d=2u(J.V("2i-1s"));a="";O(K
h=J.V("1D"),g=0;g<c.L;g++){K
i=c[g],k=/^(&2s;|\\s)+/.X(i),j=N,l=b?b[g]:d+g;I(k!=N){j=k[0].1q();i=i.1o(j.L);j=j.Q("
",e.13.1W)}i=x(i);I(i.L==0)i=e.13.1W;a+=J.2r(g,l,(j!=N?\'<17
1g="\'+h+\'
5N">\'+j+"</17>":"")+i)}H
a},4f:6(a){H
a?"<4a>"+a+"</4a>":""},4b:6(a,b){6
c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K
d=0,h="",g=J.V("1D",""),i=0;i<b.L;i++){K
k=b[i],j;I(!(k===N||k.L===0)){j=c(k);h+=u(a.1o(d,k.P-d),j+"48")+u(k.1T,j+k.23);d=k.P+k.L+(k.75||0)}}h+=u(a.1o(d),c()+"48");H
h},1H:6(a){K
b="",c=["20"],d;I(J.V("2k")==R)J.1n.16=J.1n.1u=11;1l="20";J.V("2l")==R&&c.U("47");I((1u=J.V("1u"))==11)c.U("6S");c.U(J.V("1g-27"));c.U(J.V("1D"));a=a.Q(/^[
]*[\\n]+|[\\n]*[ ]*$/g,"").Q(/\\r/g,"
");b=J.V("43-22");I(J.V("42-45")==R)a=n(a,b);Y{O(K
h="",g=0;g<b;g++)h+="
";a=a.Q(/\\t/g,h)}a=a;a:{b=a=a;h=/<2R\\s*\\/?>|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K
i=0;i<b.L&&g>0;i++){K
k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N
a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i<b.L;i++)b[i]=b[i].1o(g);a=b.1K("\\n")}I(1u)d=J.4d(a);b=J.4c(J.2J,a);b=J.4b(a,b);b=J.49(b,d);I(J.V("41-40"))b=E(b);1j
2H!="1d"&&2H.3S&&2H.3S.1C(/5s/)&&c.U("5t");H
b=\'<T 1c="\'+t(J.1c)+\'"
1g="\'+c.1K("
")+\'">\'+(J.V("16")?e.16.1H(J):"")+\'<3Z
5z="0" 5H="0"
5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d
1g="1u">\'+J.3Q(a)+"</2d>":"")+\'<2d
1g="17"><T
1g="3O">\'+b+"</T></2d></3P></3T></3Z></T>"},2F:6(a){I(a===N)a="";J.17=a;K
b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H
b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f
M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H
e}();1j
2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{}))
assets/js/syntaxhighlighter3/scripts/shLegacy.js000064400000003537151171034470016111
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return
d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new
RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return
p}('3 u={8:{}};u.8={A:4(c,k,l,m,n,o){4 d(a,b){2 a!=1?a:b}4 f(a){2
a!=1?a.E():1}c=c.I(":");3
g=c[0],e={};t={"r":K};M=1;5=8.5;9(3 j R
c)e[c[j]]="r";k=f(d(k,5.C));l=f(d(l,5.D));m=f(d(m,5.s));o=f(d(o,5.Q));n=f(d(n,5["x-y"]));2{P:g,C:d(t[e.O],k),D:d(t[e.N],l),s:d({"r":r}[e.s],m),"x-y":d(4(a,b){9(3
h=T
S("^"+b+"\\\\[(?<q>\\\\w+)\\\\]$","U"),i=1,p=0;p<a.7;p++)6((i=h.J(a[p]))!=1)2
i.q;2 1}(c,"G"),n)}},F:4(c,k,l,m,n,o){4 d(){9(3
a=H,b=0;b<a.7;b++)6(a[b]!==1){6(z
a[b]=="L"&&a[b]!="")2 a[b]+"";6(z
a[b]=="X"&&a[b].q!="")2 a[b].q+""}2
1}4 f(a,b,h){h=12.13(h);9(3
i=0;i<h.7;i++)h[i].V("15")==b&&a.Y(h[i])}3
g=[];f(g,c,"Z");f(g,c,"W");6(g.7!==0)9(c=0;c<g.7;c++){3
e=g[c],j=d(e.B["14"],e.10,e.B.v,e.v);6(j!==1){j=u.8.A(j,k,l,m,n,o);8.11(j,e)}}}};',62,68,'|null|return|var|function|defaults|if|length|SyntaxHighlighter|for|||||||||||||||||value|true|collapse|reverse|dp|language||first|line|typeof|parseParams|attributes|gutter|toolbar|toString|HighlightAll|firstline|arguments|split|exec|false|string|result|nocontrols|nogutter|brush|ruler|in|XRegExp|new|gi|getAttribute|textarea|object|push|pre|className|highlight|document|getElementsByTagName|class|name'.split('|'),0,{}))
assets/js/syntaxhighlighter3/styles/shCore.css000064400000014436151171034470015605
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono",
"Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea,
.syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing
.comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a
{
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a
{
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a
{
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a
{
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
assets/js/syntaxhighlighter3/styles/shCoreDefault.css000064400000021510151171034470017101
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono",
"Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea,
.syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing
.comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a
{
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a
{
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a
{
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a
{
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: white !important;
}
.syntaxhighlighter .line.alt1 {
background-color: white !important;
}
.syntaxhighlighter .line.alt2 {
background-color: white !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #e0e0e0 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: black !important;
}
.syntaxhighlighter table caption {
color: black !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #6ce26c !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #6ce26c !important;
color: white !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: blue !important;
background: white !important;
border: 1px solid #6ce26c !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: blue !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: red !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #6ce26c !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: black !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: black !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #008200 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: blue !important;
}
.syntaxhighlighter .keyword {
color: #006699 !important;
}
.syntaxhighlighter .preprocessor {
color: gray !important;
}
.syntaxhighlighter .variable {
color: #aa7700 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ff1493 !important;
}
.syntaxhighlighter .constants {
color: #0066cc !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #006699 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: gray !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: red !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}
assets/js/syntaxhighlighter3/styles/shCoreDjango.css000064400000021660151171034470016725
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono",
"Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea,
.syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing
.comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a
{
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a
{
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a
{
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a
{
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #233729 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: #f8f8f8 !important;
}
.syntaxhighlighter .gutter {
color: #497958 !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #41a83e !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #41a83e !important;
color: #0a2b1d !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #96dd3b !important;
background: black !important;
border: 1px solid #41a83e !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #96dd3b !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: white !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #41a83e !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #ffe862 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #f8f8f8 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #336442 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #9df39f !important;
}
.syntaxhighlighter .keyword {
color: #96dd3b !important;
}
.syntaxhighlighter .preprocessor {
color: #91bb9e !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #96dd3b !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #eb939a !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #91bb9e !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #edef7d !important;
}
.syntaxhighlighter .comments {
font-style: italic !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}
assets/js/syntaxhighlighter3/styles/shCoreEclipse.css000064400000022217151171034470017106
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono",
"Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea,
.syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing
.comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a
{
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a
{
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a
{
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a
{
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: white !important;
}
.syntaxhighlighter .line.alt1 {
background-color: white !important;
}
.syntaxhighlighter .line.alt2 {
background-color: white !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #c3defe !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: black !important;
}
.syntaxhighlighter .gutter {
color: #787878 !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #d4d0c8 !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #d4d0c8 !important;
color: white !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #3f5fbf !important;
background: white !important;
border: 1px solid #d4d0c8 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #3f5fbf !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #aa7700 !important;
}
.syntaxhighlighter .toolbar {
color: #a0a0a0 !important;
background: #d4d0c8 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #a0a0a0 !important;
}
.syntaxhighlighter .toolbar a:hover {
color: red !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: black !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #3f5fbf !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #2a00ff !important;
}
.syntaxhighlighter .keyword {
color: #7f0055 !important;
}
.syntaxhighlighter .preprocessor {
color: #646464 !important;
}
.syntaxhighlighter .variable {
color: #aa7700 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ff1493 !important;
}
.syntaxhighlighter .constants {
color: #0066cc !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #7f0055 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: gray !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: red !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}
.syntaxhighlighter .xml .keyword {
color: #3f7f7f !important;
font-weight: normal !important;
}
.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {
color: #7f007f !important;
}
.syntaxhighlighter .xml .string {
font-style: italic !important;
color: #2a00ff !important;
}
assets/js/syntaxhighlighter3/styles/shCoreEmacs.css000064400000021432151171034470016550
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono",
"Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea,
.syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing
.comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a
{
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a
{
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a
{
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a
{
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: black !important;
}
.syntaxhighlighter .line.alt1 {
background-color: black !important;
}
.syntaxhighlighter .line.alt2 {
background-color: black !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #2a3133 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: #d3d3d3 !important;
}
.syntaxhighlighter .gutter {
color: #d3d3d3 !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #990000 !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #990000 !important;
color: black !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #ebdb8d !important;
background: black !important;
border: 1px solid #990000 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #ebdb8d !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #ff7d27 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #990000 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #9ccff4 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #d3d3d3 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #ff7d27 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #ff9e7b !important;
}
.syntaxhighlighter .keyword {
color: aqua !important;
}
.syntaxhighlighter .preprocessor {
color: #aec4de !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #81cef9 !important;
}
.syntaxhighlighter .constants {
color: #ff9e7b !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: aqua !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #ebdb8d !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff7d27 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #aec4de !important;
}
assets/js/syntaxhighlighter3/styles/shCoreFadeToGrey.css000064400000021553151171034470017515
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono",
"Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea,
.syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing
.comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a
{
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a
{
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a
{
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a
{
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: #121212 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #121212 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #121212 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #2c2c29 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: white !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #3185b9 !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #3185b9 !important;
color: #121212 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #3185b9 !important;
background: black !important;
border: 1px solid #3185b9 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #3185b9 !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #d01d33 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #3185b9 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #96daff !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: white !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #696854 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #e3e658 !important;
}
.syntaxhighlighter .keyword {
color: #d01d33 !important;
}
.syntaxhighlighter .preprocessor {
color: #435a5f !important;
}
.syntaxhighlighter .variable {
color: #898989 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #aaaaaa !important;
}
.syntaxhighlighter .constants {
color: #96daff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #d01d33 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #ffc074 !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #4a8cdb !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #96daff !important;
}
.syntaxhighlighter .functions {
font-weight: bold !important;
}
assets/js/syntaxhighlighter3/styles/shCoreMDUltra.css000064400000021427151171034470017034
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono",
"Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea,
.syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing
.comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a
{
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a
{
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a
{
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a
{
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: #222222 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #222222 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #222222 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #253e5a !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: lime !important;
}
.syntaxhighlighter .gutter {
color: #38566f !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #222222 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #428bdd !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #428bdd !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: lime !important;
}
.syntaxhighlighter .toolbar {
color: #aaaaff !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #aaaaff !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #9ccff4 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: lime !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #428bdd !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: lime !important;
}
.syntaxhighlighter .keyword {
color: #aaaaff !important;
}
.syntaxhighlighter .preprocessor {
color: #8aa6c1 !important;
}
.syntaxhighlighter .variable {
color: aqua !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ff8000 !important;
}
.syntaxhighlighter .constants {
color: yellow !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #aaaaff !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: red !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: yellow !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}
assets/js/syntaxhighlighter3/styles/shCoreMidnight.css000064400000021454151171034470017267
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono",
"Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea,
.syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing
.comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a
{
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a
{
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a
{
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a
{
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #253e5a !important;
}
.syntaxhighlighter .line.highlighted.number {
color: #38566f !important;
}
.syntaxhighlighter table caption {
color: #d1edff !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #0f192a !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #428bdd !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #428bdd !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #1dc116 !important;
}
.syntaxhighlighter .toolbar {
color: #d1edff !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #d1edff !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #8aa6c1 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #d1edff !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #428bdd !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #1dc116 !important;
}
.syntaxhighlighter .keyword {
color: #b43d3d !important;
}
.syntaxhighlighter .preprocessor {
color: #8aa6c1 !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #b43d3d !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #f8bb00 !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: white !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}
assets/js/syntaxhighlighter3/styles/shCoreRDark.css000064400000021450151171034470016523
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter a,
.syntaxhighlighter div,
.syntaxhighlighter code,
.syntaxhighlighter table,
.syntaxhighlighter table td,
.syntaxhighlighter table tr,
.syntaxhighlighter table tbody,
.syntaxhighlighter table thead,
.syntaxhighlighter table caption,
.syntaxhighlighter textarea {
-moz-border-radius: 0 0 0 0 !important;
-webkit-border-radius: 0 0 0 0 !important;
background: none !important;
border: 0 !important;
bottom: auto !important;
float: none !important;
height: auto !important;
left: auto !important;
line-height: 1.1em !important;
margin: 0 !important;
outline: 0 !important;
overflow: visible !important;
padding: 0 !important;
position: static !important;
right: auto !important;
text-align: left !important;
top: auto !important;
vertical-align: baseline !important;
width: auto !important;
box-sizing: content-box !important;
font-family: "Consolas", "Bitstream Vera Sans Mono",
"Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
min-height: inherit !important;
min-height: auto !important;
}
.syntaxhighlighter {
width: 100% !important;
margin: 1em 0 1em 0 !important;
position: relative !important;
overflow: auto !important;
font-size: 1em !important;
}
.syntaxhighlighter.source {
overflow: hidden !important;
}
.syntaxhighlighter .bold {
font-weight: bold !important;
}
.syntaxhighlighter .italic {
font-style: italic !important;
}
.syntaxhighlighter .line {
white-space: pre !important;
}
.syntaxhighlighter table {
width: 100% !important;
}
.syntaxhighlighter table caption {
text-align: left !important;
padding: .5em 0 0.5em 1em !important;
}
.syntaxhighlighter table td.code {
width: 100% !important;
}
.syntaxhighlighter table td.code .container {
position: relative !important;
}
.syntaxhighlighter table td.code .container textarea {
box-sizing: border-box !important;
position: absolute !important;
left: 0 !important;
top: 0 !important;
width: 100% !important;
height: 100% !important;
border: none !important;
background: white !important;
padding-left: 1em !important;
overflow: hidden !important;
white-space: pre !important;
}
.syntaxhighlighter table td.gutter .line {
text-align: right !important;
padding: 0 0.5em 0 1em !important;
}
.syntaxhighlighter table td.code .line {
padding: 0 1em !important;
}
.syntaxhighlighter.nogutter td.code .container textarea,
.syntaxhighlighter.nogutter td.code .line {
padding-left: 0em !important;
}
.syntaxhighlighter.show {
display: block !important;
}
.syntaxhighlighter.collapsed table {
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar {
padding: 0.1em 0.8em 0em 0.8em !important;
font-size: 1em !important;
position: static !important;
width: auto !important;
height: auto !important;
}
.syntaxhighlighter.collapsed .toolbar span {
display: inline !important;
margin-right: 1em !important;
}
.syntaxhighlighter.collapsed .toolbar span a {
padding: 0 !important;
display: none !important;
}
.syntaxhighlighter.collapsed .toolbar span a.expandSource {
display: inline !important;
}
.syntaxhighlighter .toolbar {
position: absolute !important;
right: 1px !important;
top: 1px !important;
width: 11px !important;
height: 11px !important;
font-size: 10px !important;
z-index: 10 !important;
}
.syntaxhighlighter .toolbar span.title {
display: inline !important;
}
.syntaxhighlighter .toolbar a {
display: block !important;
text-align: center !important;
text-decoration: none !important;
padding-top: 1px !important;
}
.syntaxhighlighter .toolbar a.expandSource {
display: none !important;
}
.syntaxhighlighter.ie {
font-size: .9em !important;
padding: 1px 0 1px 0 !important;
}
.syntaxhighlighter.ie .toolbar {
line-height: 8px !important;
}
.syntaxhighlighter.ie .toolbar a {
padding-top: 0px !important;
}
.syntaxhighlighter.printing .line.alt1 .content,
.syntaxhighlighter.printing .line.alt2 .content,
.syntaxhighlighter.printing .line.highlighted .number,
.syntaxhighlighter.printing .line.highlighted.alt1 .content,
.syntaxhighlighter.printing .line.highlighted.alt2 .content {
background: none !important;
}
.syntaxhighlighter.printing .line .number {
color: #bbbbbb !important;
}
.syntaxhighlighter.printing .line .content {
color: black !important;
}
.syntaxhighlighter.printing .toolbar {
display: none !important;
}
.syntaxhighlighter.printing a {
text-decoration: none !important;
}
.syntaxhighlighter.printing .plain, .syntaxhighlighter.printing .plain a {
color: black !important;
}
.syntaxhighlighter.printing .comments, .syntaxhighlighter.printing
.comments a {
color: #008200 !important;
}
.syntaxhighlighter.printing .string, .syntaxhighlighter.printing .string a
{
color: blue !important;
}
.syntaxhighlighter.printing .keyword {
color: #006699 !important;
font-weight: bold !important;
}
.syntaxhighlighter.printing .preprocessor {
color: gray !important;
}
.syntaxhighlighter.printing .variable {
color: #aa7700 !important;
}
.syntaxhighlighter.printing .value {
color: #009900 !important;
}
.syntaxhighlighter.printing .functions {
color: #ff1493 !important;
}
.syntaxhighlighter.printing .constants {
color: #0066cc !important;
}
.syntaxhighlighter.printing .script {
font-weight: bold !important;
}
.syntaxhighlighter.printing .color1, .syntaxhighlighter.printing .color1 a
{
color: gray !important;
}
.syntaxhighlighter.printing .color2, .syntaxhighlighter.printing .color2 a
{
color: #ff1493 !important;
}
.syntaxhighlighter.printing .color3, .syntaxhighlighter.printing .color3 a
{
color: red !important;
}
.syntaxhighlighter.printing .break, .syntaxhighlighter.printing .break a {
color: black !important;
}
.syntaxhighlighter {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #323e41 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: #b9bdb6 !important;
}
.syntaxhighlighter table caption {
color: #b9bdb6 !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #1b2426 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #5ba1cf !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #5ba1cf !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #5ce638 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #e0e8ff !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #b9bdb6 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #878a85 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #5ce638 !important;
}
.syntaxhighlighter .keyword {
color: #5ba1cf !important;
}
.syntaxhighlighter .preprocessor {
color: #435a5f !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #5ba1cf !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #e0e8ff !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: white !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}
assets/js/syntaxhighlighter3/styles/shThemeDefault.css000064400000005662151171034470017265
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: white !important;
}
.syntaxhighlighter .line.alt1 {
background-color: white !important;
}
.syntaxhighlighter .line.alt2 {
background-color: white !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #e0e0e0 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: black !important;
}
.syntaxhighlighter table caption {
color: black !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #6ce26c !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #6ce26c !important;
color: white !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: blue !important;
background: white !important;
border: 1px solid #6ce26c !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: blue !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: red !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #6ce26c !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: black !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: black !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #008200 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: blue !important;
}
.syntaxhighlighter .keyword {
color: #006699 !important;
}
.syntaxhighlighter .preprocessor {
color: gray !important;
}
.syntaxhighlighter .variable {
color: #aa7700 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ff1493 !important;
}
.syntaxhighlighter .constants {
color: #0066cc !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #006699 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: gray !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: red !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}
assets/js/syntaxhighlighter3/styles/shThemeDjango.css000064400000006032151171034470017073
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #0a2b1d !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #233729 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: #f8f8f8 !important;
}
.syntaxhighlighter .gutter {
color: #497958 !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #41a83e !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #41a83e !important;
color: #0a2b1d !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #96dd3b !important;
background: black !important;
border: 1px solid #41a83e !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #96dd3b !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: white !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #41a83e !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #ffe862 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #f8f8f8 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #336442 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #9df39f !important;
}
.syntaxhighlighter .keyword {
color: #96dd3b !important;
}
.syntaxhighlighter .preprocessor {
color: #91bb9e !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #96dd3b !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #eb939a !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #91bb9e !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #edef7d !important;
}
.syntaxhighlighter .comments {
font-style: italic !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}
assets/js/syntaxhighlighter3/styles/shThemeEclipse.css000064400000006371151171034470017263
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: white !important;
}
.syntaxhighlighter .line.alt1 {
background-color: white !important;
}
.syntaxhighlighter .line.alt2 {
background-color: white !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #c3defe !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: black !important;
}
.syntaxhighlighter .gutter {
color: #787878 !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #d4d0c8 !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #d4d0c8 !important;
color: white !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #3f5fbf !important;
background: white !important;
border: 1px solid #d4d0c8 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #3f5fbf !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #aa7700 !important;
}
.syntaxhighlighter .toolbar {
color: #a0a0a0 !important;
background: #d4d0c8 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #a0a0a0 !important;
}
.syntaxhighlighter .toolbar a:hover {
color: red !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: black !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #3f5fbf !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #2a00ff !important;
}
.syntaxhighlighter .keyword {
color: #7f0055 !important;
}
.syntaxhighlighter .preprocessor {
color: #646464 !important;
}
.syntaxhighlighter .variable {
color: #aa7700 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ff1493 !important;
}
.syntaxhighlighter .constants {
color: #0066cc !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #7f0055 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: gray !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff1493 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: red !important;
}
.syntaxhighlighter .keyword {
font-weight: bold !important;
}
.syntaxhighlighter .xml .keyword {
color: #3f7f7f !important;
font-weight: normal !important;
}
.syntaxhighlighter .xml .color1, .syntaxhighlighter .xml .color1 a {
color: #7f007f !important;
}
.syntaxhighlighter .xml .string {
font-style: italic !important;
color: #2a00ff !important;
}
assets/js/syntaxhighlighter3/styles/shThemeEmacs.css000064400000005604151171034470016725
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: black !important;
}
.syntaxhighlighter .line.alt1 {
background-color: black !important;
}
.syntaxhighlighter .line.alt2 {
background-color: black !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #2a3133 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: #d3d3d3 !important;
}
.syntaxhighlighter .gutter {
color: #d3d3d3 !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #990000 !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #990000 !important;
color: black !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #ebdb8d !important;
background: black !important;
border: 1px solid #990000 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #ebdb8d !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #ff7d27 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #990000 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #9ccff4 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #d3d3d3 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #ff7d27 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #ff9e7b !important;
}
.syntaxhighlighter .keyword {
color: aqua !important;
}
.syntaxhighlighter .preprocessor {
color: #aec4de !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #81cef9 !important;
}
.syntaxhighlighter .constants {
color: #ff9e7b !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: aqua !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #ebdb8d !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #ff7d27 !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #aec4de !important;
}
assets/js/syntaxhighlighter3/styles/shThemeFadeToGrey.css000064400000005725151171034470017672
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: #121212 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #121212 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #121212 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #2c2c29 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: white !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #3185b9 !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #3185b9 !important;
color: #121212 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #3185b9 !important;
background: black !important;
border: 1px solid #3185b9 !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #3185b9 !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #d01d33 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #3185b9 !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #96daff !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: white !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #696854 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #e3e658 !important;
}
.syntaxhighlighter .keyword {
color: #d01d33 !important;
}
.syntaxhighlighter .preprocessor {
color: #435a5f !important;
}
.syntaxhighlighter .variable {
color: #898989 !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #aaaaaa !important;
}
.syntaxhighlighter .constants {
color: #96daff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #d01d33 !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #ffc074 !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: #4a8cdb !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #96daff !important;
}
.syntaxhighlighter .functions {
font-weight: bold !important;
}
assets/js/syntaxhighlighter3/styles/shThemeMDUltra.css000064400000005601151171034470017202
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: #222222 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #222222 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #222222 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #253e5a !important;
}
.syntaxhighlighter .line.highlighted.number {
color: white !important;
}
.syntaxhighlighter table caption {
color: lime !important;
}
.syntaxhighlighter .gutter {
color: #38566f !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #222222 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #428bdd !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #428bdd !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: lime !important;
}
.syntaxhighlighter .toolbar {
color: #aaaaff !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #aaaaff !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #9ccff4 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: lime !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #428bdd !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: lime !important;
}
.syntaxhighlighter .keyword {
color: #aaaaff !important;
}
.syntaxhighlighter .preprocessor {
color: #8aa6c1 !important;
}
.syntaxhighlighter .variable {
color: aqua !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ff8000 !important;
}
.syntaxhighlighter .constants {
color: yellow !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #aaaaff !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: red !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: yellow !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}
assets/js/syntaxhighlighter3/styles/shThemeMidnight.css000064400000005626151171034470017444
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #0f192a !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #253e5a !important;
}
.syntaxhighlighter .line.highlighted.number {
color: #38566f !important;
}
.syntaxhighlighter table caption {
color: #d1edff !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #0f192a !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #428bdd !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #428bdd !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #1dc116 !important;
}
.syntaxhighlighter .toolbar {
color: #d1edff !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: #d1edff !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #8aa6c1 !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #d1edff !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #428bdd !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #1dc116 !important;
}
.syntaxhighlighter .keyword {
color: #b43d3d !important;
}
.syntaxhighlighter .preprocessor {
color: #8aa6c1 !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #f7e741 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #b43d3d !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #f8bb00 !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: white !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}
assets/js/syntaxhighlighter3/styles/shThemeRDark.css000064400000005622151171034470016700
0ustar00/**
* SyntaxHighlighter
* http://alexgorbatchev.com/SyntaxHighlighter
*
* SyntaxHighlighter is donationware. If you are using it, please donate.
* http://alexgorbatchev.com/SyntaxHighlighter/donate.html
*
* @version
* 3.0.83 (July 02 2010)
*
* @copyright
* Copyright (C) 2004-2010 Alex Gorbatchev.
*
* @license
* Dual licensed under the MIT and GPL licenses.
*/
.syntaxhighlighter {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.alt1 {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.alt2 {
background-color: #1b2426 !important;
}
.syntaxhighlighter .line.highlighted.alt1, .syntaxhighlighter
.line.highlighted.alt2 {
background-color: #323e41 !important;
}
.syntaxhighlighter .line.highlighted.number {
color: #b9bdb6 !important;
}
.syntaxhighlighter table caption {
color: #b9bdb6 !important;
}
.syntaxhighlighter .gutter {
color: #afafaf !important;
}
.syntaxhighlighter .gutter .line {
border-right: 3px solid #435a5f !important;
}
.syntaxhighlighter .gutter .line.highlighted {
background-color: #435a5f !important;
color: #1b2426 !important;
}
.syntaxhighlighter.printing .line .content {
border: none !important;
}
.syntaxhighlighter.collapsed {
overflow: visible !important;
}
.syntaxhighlighter.collapsed .toolbar {
color: #5ba1cf !important;
background: black !important;
border: 1px solid #435a5f !important;
}
.syntaxhighlighter.collapsed .toolbar a {
color: #5ba1cf !important;
}
.syntaxhighlighter.collapsed .toolbar a:hover {
color: #5ce638 !important;
}
.syntaxhighlighter .toolbar {
color: white !important;
background: #435a5f !important;
border: none !important;
}
.syntaxhighlighter .toolbar a {
color: white !important;
}
.syntaxhighlighter .toolbar a:hover {
color: #e0e8ff !important;
}
.syntaxhighlighter .plain, .syntaxhighlighter .plain a {
color: #b9bdb6 !important;
}
.syntaxhighlighter .comments, .syntaxhighlighter .comments a {
color: #878a85 !important;
}
.syntaxhighlighter .string, .syntaxhighlighter .string a {
color: #5ce638 !important;
}
.syntaxhighlighter .keyword {
color: #5ba1cf !important;
}
.syntaxhighlighter .preprocessor {
color: #435a5f !important;
}
.syntaxhighlighter .variable {
color: #ffaa3e !important;
}
.syntaxhighlighter .value {
color: #009900 !important;
}
.syntaxhighlighter .functions {
color: #ffaa3e !important;
}
.syntaxhighlighter .constants {
color: #e0e8ff !important;
}
.syntaxhighlighter .script {
font-weight: bold !important;
color: #5ba1cf !important;
background-color: none !important;
}
.syntaxhighlighter .color1, .syntaxhighlighter .color1 a {
color: #e0e8ff !important;
}
.syntaxhighlighter .color2, .syntaxhighlighter .color2 a {
color: white !important;
}
.syntaxhighlighter .color3, .syntaxhighlighter .color3 a {
color: #ffaa3e !important;
}
assets/js/validate/css/customMessages.css000064400000000067151171034500014557
0ustar00body {
}
.center {
text-align: center;
}
assets/js/validate/css/screenshot.png000064400000105764151171034500013740
0ustar00�PNG
IHDR�v�*T�YiCCPICC
Profilex�XgTM����9�sN�s�EҐ�d0�%(J��(�("J�$�A@1����"H�
��g��ٚ�5�ܺ}�����uX�<�aBB�"l�ty��]xpS���Hx�#�t�����֞hop\r/��?�z�D����a/�Hr�o#x�\��'����B���
�O�a�p���7�����C|z��<=#�
>A�<1d?$q ,]�w@(thk��=�`�G|$BB��0�x�+�߿����ߘ��~�?�9��~@dX���?�/���h�y�ntHO
�
9�=����ߜ��������z��}#m��(�a+�?�8���O���8���V��6�pd����o�{������D���V�!������(��=ށޡ�#~�Q<:�,��1 %KI������
��i{�럛]���n
����"�g�6������<huE���l���I��#b���Le0Ⱥ��p~
$�P�@S` �3pd�B@8@"HY�(%�T���:h-���
x���`|��X[� J�b��!AH��T M�2�l
g��B�h(J���\���@7�;P��B/�hZ�6aL�`NX��U`����~p8����"��7�]�
���?ë(�"��P�(I�
Je�rA��"P�P��BT�Ն�C���Q���h,�̓�D����h2:}��.A_E7�{������ÁǨaL0N?�aL�sӄ��<�|��a�X&�0Vk�u�b������N�(v����Xq�8
�%��K���:pc��
<ύ���]�$|!�ߎ���(h()�(,)�)�P�PTQ�Q�P|��"�� ;B
!�PD�'�^V�D"Q�hM �
���3ğ$:�I��J�&�&U�:I/H+���B�ڔ.�Q��)k(P��ܠ����2��:NUJ�L5F����Z�Z�ڍ:������"
���'�1�R�;44�����!�ٴ�����t8:!::o��J�t��(z~z=z2}2}}/�,�0� C
C�u�a�%F:FF�X�R���L(&!&�`��F��L�̜�:�>���c��,�,�,>,�,7X��l�����ema}͆fc�f;�v���m���]��̞���>�s�q�p�sTrq�rrqq�qs>�\�b���
���j�Z�����������ȣ��S��ó��k��{�w�w�O�Ϟ/���k~�
�/>7�����@�@���
������9�>�u!a!G�t��yaa�8�:�W"�"Z"�""OE��*�A��E���b�b�b�b#ⰸ�x��y�Q ���D�D�Ą$IRG2F�NrF�I�\*I�Eꫴ����Y�>�_2�2�2U2/e�dMe�d�d�����r�rO�)�
�˷�WW�Q��0�H�h���ح�����T���,��\�<� b����H���z\���O5%�(�F�o��A������7����qIcZ�G�C�����V��;m~mo�+�s:�:�:�t����F�6������G��g�����1�3�3�3\2R4�7�4���5�0�4!�Ԙ,�*�5�1#�ٚ���33�0o��-L-�,^�����X�X�Y���
��k����.��h#k�`�gKo�n[k�f�k�c��^�>ھہ�ա�a�Q�1�q�I��Ӡ3�s�s�������>�*���>?(|0�`��[��}wjwO�[G�Z�mOK�
�U/�2�%������w�����O�Ϝ��o�?�_�߂����b�^@I��@��
ˠ��`��!���;�t�A�=���
K�W/_�0�� E�l�b@62C�"ѩ�31�1�1�ߊ��
�:"v$��\�a��xt<9�;�7!1a���KǠc^Ǻ��O9��щ���Ġ��I2I�I?���R8SN�̦�֥Q�E�M�����D�89�!�Q��+�;s
K&�0k;��=pJ�Tѩ�Ӿ��s�r.��� =��٫���q��yy�<���?
��
���E��.2/j-(>S�]�_�T��FGYF�y��c�/ԗs�g�o^�8y��Rs�PEa%�2��c�CU�e��5Wخd]٩���js��F�����6����[��z��u�����n0��j
�
�nz�|�h��}K�V�m��eM�M��P�����V���;�w���ۚ�Jݭ��{��>�vB{J�nG\�jgX�b�_�l�{��N��X����>zh��A�N_�#�G������*
6)5=V|�4�4�<�<�D�I���1���q��OM�>�l��� �I���/�O�Lm�<�
�*�5���7o*ފ��1�4}Ff�������#�oH�H��p�{�f^n�ނ�O>}��yk1�헲�"_o�6����{����֕�
?�W�V߬��m�gn�n\���o�qsn��6n�hGt��ٯW�!��a����(��}}X����':����@��ȦF0-�+�̠op���Q��|�W(f��b*�:��=�7�gF2��7�v�f.N��6�e~neA!#a=5QE1q. ZI��Լ�̐l�\�|�B�b�R��AcUE5.u���}���Z%�9:��zY�9��yF��&��fg�O[d�?i�j�l�l�b�l�b����t�9�%�@�k�7ow���g�W49��O�o��-���G��AS��!��ka�p��H�(�h������Vi���IX>�:Ns�-�'�?�/�'�#�%��$u!��������陜Wg&�>���+-9��h��QIOigٽ���o_l��^��iջ�߮�\%�0���I]S��_���S��M�Ɛ[�7�7kIlM��ޖq7�ީ���s:r;�J��T���?����������]�]#O�6�]�xz�Y��ĉ����_�R~-���-��_�_f����|_�!��9�y��O�v>\|����o�K�ߝ�uW$��bV��^�?ܸ��l3m+l�eG��.���_�u�Q8e�İa�p�P�[D��E�N-D�GG��`D3�3o�������,�̣��ϗ�_#�$�*�"|S�h�X�x��1�p)/i{#Yu9IynZEHqYiF��J�j�Z���}A��ZZb�l:T�h��5�o�3F���&=��f��/Z��O�<bf`�kK��ww8���d�l�bv��U��������Y�[�G�W�O�_6@6P&H:X2I�����u"�#���sb.�;|d&n5w����q�z��I��V)V��i���O�df�fie��R:-�#yF�H�H�p�p�p��9�"�b��R�2��L��i/�]b�`���,}E�Z�~�Y�M�㵃�n�6��<ޘq�����wZzZG�L���ro�t�;����9���>��y$߯8�<�:��x߰ƈ��Q�1�q�f�,��L�M:�p�:����k�7ߺL���S�|O��w��K?��\T�����K]��+V
d�&�Ŭmx���4��ܖ��źK�o�ǢT�D�7ކ�$a�$J�H��Ɩ�1�6�-& �*V�L�%Nk�j�o�2|��
����o�6�5�7I4Jސ���&sU�J�|��9�\�L�d��5_u�}ښ
��:\�z���<�<F<�\&���fL�4��8K�r�j�z�f�v�n�~�a��Ӛ������u{�>���s������Ϭ��9��������๐��C_��"�H�(�h���bC�$�eǗ%�mA�i�������)���ie�gN�f�fe̶<�sZ>G��Y�\�<�|l��Y�Z�T��C����#�.
TTV
]�2\=ru�f��q��k���o�7�|�8z����ͳ-s���|i[��|����������=���V���6�e���ó#�O^�N���?}������S�/�^�Ns�m�ߌ�;�Y��B�?���s��=
�J?�-�q�j�Ma��;�2�
�a��FX'l~Rl�p���/�.��?:�^N�*p���0Gj��,!��
+J�T�?`8@;a�����5�0���#
�(��-����`�C�4��T���t�"�=��aZXv��+�S����Q�H�恮@�Hb�1�X��:�9�n��a
y��p��hDl$q�2Hk�>�TfT]�j�M4�4�i�h����
���O3�2�b<�$�t�فy�%�U��� vQ�1�xN~�A�(n.��#�b�����p=�)B�8�~�,Q1�q�b OI �
�G��2!��r�r��(6(U(���婟�w^�Z�V�����ʆ6F��Y&��Cf�-X��[FXUZO�R��'9�w\s�p�<P�:���y�x6y�y��$��3��ӆ��I�����=vX/�%N*��������W��Sn�)���0Μ�8�+��l�H~x!����eO/�]t���q�auYML��u��
���'�[�u��k������\<�;���s��������Ύd�w�T�����{����F�������D���@h"���]!#ZB+x^�O`���!eD#
Cq�*p
���0���p�E��Q�P}hZ����16�2�V����I�q��"�&�;�C���H
�?�H)U)��ʩ9�Ki8i*hEio�iӍл�e8�H�Xɤ�4��B`�e�`]a+e7d_��iŹ������3ěƧ���R̈́��
�#����Hx��O�H&HVG�U��B��9�ʇTȪ�jN�N�\4<4�����t�t���'��(��L�M̲�oZ��D[�Y�m��������wh��lu[�P�<���M���[�+�6�.�z7�)<2�I�t�٘�X�#��*�1�H���&o�MG�<�ɖU{J���3!�y5f�ߋ�KJW�W��_�Wܯ��"Y�PSSt]�~���1��w�z+����;�w�z8�=rH��%�k=����b������w���xl>�}����#a�O�-�����3
��8oDY:N�2p
Q���k�
�!FHQ�l�@(фnC#�"L��a8.�{�?���z��A��c�f��I��c�������2nEAGE1I�$\&Rc��$3R+�|Q���6�c�Wh�h�h��`�Lz�r �6F3ƷL��T̵,�,�����^��pHs��L�R�z�]�c�����W�)Ў�saF���
�[�Ȕt��ڔ��"{B�M^SA@�F ����������hk�iYi��V����Č�LBLϘ��O�'Y�[�XW�L�1��:�;>wfq9p��;7�0�{^��w�/��˿#�;(1�}��k�4�#�F�ƴƊ9ϐp��xV"UR~
gjm��ɁL���Sgs�Ό�F��/�-yV�uA�"t��2��y5�����2�49n�4Ͷ�i�{�~u�ծ�:zG��PC��zO��v>��B��묷�3��?>R�}�Yt���ty��u��N[�;={�G����e�t������\��[��;�H��
�����=g,
eH��a�쉽�����E+G[� pHYs��
IDATx�] \TU�?�3������H����h.������af��[��f�i�[���AQ�[.��!��"�(`�
2ì0�s�e��0
À�s~��9��s�<�����d2b)I<=&x���C�����;�N�+�!�"��!�<k&Dhd�gP�
��ȳf�`@�FFy��Eq�"��!�<k&Dhd�gP�
��ȳf�`@�FFy��Eq�"��!�<k&Dhd�gP�
��ȳf�`@�FFy��Eq�"��!�<k&Dhd�gP�
��ȳf�`@�FF�����N��Jv�}i�է=�����ŭ�c-~�v7�"Њ�C�Q�x��K��d�ꗦ=&��Uτ�h��A���{1�9;t�"�u���ͱ"�
6#`�<K��|X�z��1���[����Ld�`=yv9��!���!`����=/?j��oI$��������ON)�
�m��n��1r����oκ~W��
�J����ݍ���Z��q�n�,�I$FDx�/�f'e��{�h5ij�;�T�;yIq�A�d�q��%'e��%���\�S}�M!����RJD�DR&��$��Y�
��Øi�@���垓��Z5��t���P�NU�I��_JU�����n����!�#���n˜��)ȉ��1���"�K�w�.�ϺMȅ�Jh$��h�V=�F��j�]j�ڔjZ�4<�@�ѡ]���g�mUHόk{w!��˅J�>B�;yl�#�s���\�kU\� K��fI�!v�Zv1
Օhr��ޝ)W��K,27Gu@�Dˈalj61�"َA��pe��I?2��=bUD�n��Y�]Ԍ�
:ب@��Q�fi��p��%�EV��gO����ʱ�s]}0,'�;]#?/���;~�"Y�b1"P�����6s��Y��:�����A��:4cs�^���� ��sl�V�˳��T��, �(�ؙ|&.�ڷ�s�s�?ɕ��»��'�P�mC����7�>�}t�
|�Xvp,�4���о9��UYY��=k4ۅبC�4���@.�j�%
ӊ#��,�<�xzL��E��W�C���ղ�Q�^i����f�@�aX`W=�H��.
[;��_�}�b�b�O�5�_��(��3L
�
Gg:���@f���l}�zyԷ.�C�@�!Y�[��S�"Z��M���"\�ݿ�u�>E���[X��{�Ou���6TM$������l�ua�
�ږų?�8�@x��X`U�|V��@#*�����S\�*��m[����|�-�-.ó@����A$A)�-!X5@�Y���ʭ
P`R0f�dKKKKJJry@y�K����Ȯ H�� ��eK>\��"�E�÷-+��
��J�T
�VaD@����Ѫ"�ZVn���Yp�!$K����Sѹ�=�c[��4�E"C�n�n���e���$�,c���&-�l3�"vk�0�,س��K�!Y��|At��rl��ߤCo{��j�A,�� �������}���-�
kMچ�;k�U����E��g� �R��g�]g��8<���j�$ۼе��9J%L7L:L=,X�`I��h�ky�%�
K#
`���Y�ɂP�d�U/�4B7(��I�Ā��`1���bȳ�0u��}#��,�KpR�뀺����O���k*���e`z�y���F��
����y���j�*)�b�,X�
���ߠ>(a�V��E�faN�V4rj�0�1fa��Yy�L�fh��<��5��cg#���
a��G��,m�Xc�v��x���i����)دPr�cĿ�p=���
�ɒ�?�pA0+Ƕh����sz�1��b��Sg�g�z��5sX���f1��y�L#V"0Kt&�?��S'/N�jə_���12���g���͙-x��J�t��]�ݺ�-xu���^, ^�n�V�mQ�E�_u�&N]��t��,ߞ�z��5sX��6�<�j��X�j2�5��;��lz�p6��kHT|�G��{E�h�Ϗh�[���l_-|I��|}���gjs��rb0�`(]� f��W�ÖLU��{Jz羯�6�C@�r
-�ځ锕m��zLv�Vu�t6�&�VOVk� |���G�x0׆&\=�ϙ�I;(hKȽ��YU�E"�X�O=Ƌ?�ғ�;:�ś�R~J����KU@��(�$2l���
yi��P��`�H���U����������l�
�Y���'���4�-֤�Ǽ�Q��b���IW F��ں�節��}�oK���S�
�ݘ"��Y���p㏋3�R�}�z�ά��K'S�����9�´
��K��}�nlW��(F�t�)���|�ߑ����!żL;9�-�)�v���ڳv5���#"0K|��saF��<�.�3�Ss$7w��D�Q�=�t*�����<���g����Ru��a/����t,|-�$�I*��]�>�R�W�������o\fH��T�����+qu�9�(Vo�w�l�Z}���W�G��ʅa�/�֕wv���+p�{:���6����^��T��/A�Y��9W���J�C�`���!������q�q��b����ʗ}Kߋѕ�9�Ւ�n[�/�l��NLs
[6�W1)�\~K3m��A3�%Ex���>u���������O�+��
r$�)��� �Λ��'���)�5w��v ��;;�VTd��܀IZ��q��ɝ�I8D�~筊�x�}���vk��t!��Hz�B*\���K�݈A��T]�q�\o�B����u#Z=g�s\�!=Q��V3�r�D�}�*t����\1�����
��\5���Փ�~[�/�
Z�l�XlE��d��T��BC��Nu�C%���9�|��/pS��Zb����e;=����91�]FJ��?���rp
[p����
o���ڟ�Uɸ�r��Cn����o99�Z��j8+V2shy�����Q�u}F1\�f&�v��?�
��$�y���4zp��cLNe���)�t�PMM)�C[��p�@�q/��K�;���Z���6���_�¨���ў�� D-Z*~>`�r�=��G��TH�����T~]���&&D���J��"3�&��(I�'�!�NK^���3î����Zq�P�_j��B�*��UuL1N[j�R}R�{��ͥ��݀#�/�(/�s��M�����w]� ���a1�-��bα{�����s�O~�$ׂ��-�!�f�!�J#v�@�˾�<�[$Z]�f3��[}�b�[��/`�Ul��b�L�kƑз��y�>ѭ������
��霏1~�9�]N����ӓ�F9�{xP�ϵ!���|��V�1P�6;����\�6��CzDY�(�\�՞7�(+�U�M���<u&��\�*O�LG&��I���n�r-kF��(�N_��k�?X�z��sy�o���>���H�>]������������r9l����?nE'�Æ=�q�qB����|W�}���C� tņts�E�c�Br��Nc��WU����`�#�cH�� ϊ�0$V�b��0��f�&��bt�
�ػY�z��N�;*:t��ǧC�R����>G[��R�{4D�=��y�Yjm����[��:fQ��!�#�?|5��{��U�se�M��=cF���95/a��٢�f�`�E"`r�A���3ǰ���,�^w`ÿ�۷ư�%����5
��f�j�T�P���X�F�zS�H1끽Bꯗ]�,���S6%��SQ9�.�X��
J�����]Bn��/��ͅ.mј!��������5
�D��
����P���M��`a0+Ī������t�>���ǿ�����7n\�!du���Q�T4|�a�]��Ç�Ґ�zO��s�w����Z���ፕ��B�~�f�R7�cBh /�^H�����t7^!_�z����3f�>|���!3�d+���ጤ���7@�<;y9#ehH\z4ؾz-u((V��A�+V?����5Ha�;�DbN*�6$�.5��{��lA
UN}Y,fU��v|�ų|W��/n�������/ҫ�w�[��}����F�<"�_���ww��#:m� �GR�Ҏ�*"��ڙ
���#����pM,�:���]) �V����Z��}��e�k�SR�L�4Ɍzu���IN�݅�ҫ�::q�]ߞ���Z�}�z��g��Mx��h�Щ)A�i)�f�����s��ȶ�RҒ��9�x��PT��'��5ݖ�*��
gs��l���R�'���P�f@@ן��2��K��=�J��d��6M�Ԕ�wA�BQ��ch�/D�����GH<�~�;��
s�JH�J���^/�:v�|y������]�I��^]��s�|d7.\,�깖R����[IPԚ9c�A��ą��Ύ\�:W��!� ��2;h6<�M�}9)C��";n*!�S��c���3�W�s�q�6m�tx����#9��l�߿���6+#���՜�l/0��͌ó��)�T"�v��MOa?>�ٳ�uM3��C�B"�̙��2����`���֤�/�Ֆ��M_l� �KVEv
c����g��yn��O~~{���f�]V٢���iW���)s}�ÕYI�#{3^`���6�K�m�����*�(��,oq؈�$;������ã掘7~�B�6.�Ȇ��Z6k�_$�g�ݵj���<�X�E �`�0<g�S��YJ%�,
;�)�n���-<��g<N�A�zծ�D����.b��n}|���\��ỳq�Zէ}�l�U�Qs|�<27�`5e�ވ;=���E���U����ZD�7r�k��%��2��Ѕ�e8�h[H���g����M\T�m_Ęy��K��_V$+�?���P4�=�v-b�
<˸��:xV+�f���~�Z����(;�s`�g�Ҿ��ѐ�@�eH��ѣ�ENWv�e_qx�K���4���Z�d/H<�fŰ$梵/�,L]��W��3�J3�,W&�W�IHn^�L~#sς��]�^<\�ܒ+��c>��W��u��3o]I_���&�<1�,[�EvQQvrܲeUb5$�ǑԹl�!�ˋn��qa����7f꽺�����������7t�@�c�7�^����ؘ�O��7
�pj���O�S�o�O��\���3i<$��^���,��:P�C+hk���C���&�����,���7��`$n�8#�k/|��j|�ʕx@
*@��k�SZ��ʗc�Y.#WVf����ع�g����F��ś��3�AALE鋛�
��dz�ƨ��OTZ����`ꏋ���b���P¸�����g&NLy��<�4�r`LZggg�ς�`xB��RYv玶��ُ�X
J���3i�$ů�JF��{�P�=��w�^�K�e�]���n�vm׀��&]��x��Vg����A��zH$��`1�2hج�����r�Z�%�A}�^-��y^R���(�2"�J�,�S���Ւ���r� %�ʞ�j�B��H%�R�z�BA���^XǾ`6���6�V���4p+T������a���1��:�HNcx�H"��������ξt˿g'Şʼ4�O�8Ps�?<�fj�g�Q6,��B�R���,�6���B�W=9�Ҙg����})���byi�GxBa5��W��P�z
��K�y�X7pX�!V�dis�zO�C��LHH?~|mV-C�P������Í�y�>��T��ܑi���zU����#2ۅ�.�~K���g���Vg�\LNHF�x�~�5sh��D�4�S�X�+�g�z=A>���
VmM�5Y��j<�,P-س
�7:D�{Ћ�b�WۅبC�4gf��zP��D���(�<�аIkA�!Y8��X�|cX<DL�Ϛ�ƣG��=�M��B>�K�g��-A�0w�MB1"�0ne[d�z��E��m˰-!���
�
y���a�V�sv��h��jJɂeʜ�p�xrr�#�^݂��'&����XTk"����m�p.���m�����,��5�d7X!l��-fg�)�P$M9Ֆ&����p�,Y
Yp�B}S�F,p=�6�uhI�m�����h@�@�@�@�@�@��~z��#��6Ll��ؗ={��զ0�G��*��Z��U�j�J�] @��F�++Q��wV�E}=-٧to"=Q��G��x�옧>
�#"�(�³_�v%%%�(�a�㓭���#'Eb'��� .�"�43nv1<�)�zZ�
���9ȳv>A���!�P-�m"x���V-���Md���<ۨp�0D>x�����$�5#�<ۚg��T
�6��)��r�yC�D�qp{V7�o��Mܽ��3�Sӫ�/>��ϗ&����9�ZAMD�aؿ={+*<"!MޭOG��k��w<�<h��k�ѽ�y�%�&�;@Zvo�)��'�{蛯O�%���[��_�~Xc?�@kB���Y���Oo�F�����#t_�gwz�E1�l��D�U
`��&����_r��)��}�_�=�6�L�'�k��b*�Iڼ�`��
"�>�5z�����|��ӣY�6���u[�9!w���c����|�g��Ds+#r͆L�n�����pMqF�*��h��5�R_��\;�`ӵY�yr_Ė���_~��iZe�l�x�*�?�W���u?j��m_���"�"���5�r%��磙}y�}$���l8J��9cXI���o�m������H�a���?B�Y+�#�s �C�����<�N}�N��Q�יd�k��OF�ݲ�ﵓ}�&gՂ
W���o�
.<����L�2kռ
WE����/f�m�~َ�ו�di"Ҽ���KX�V^�����]��u7n��n����h��@��Y�g���]N�4��i~���r�GG��]��_P�����ף��ϼ��@wB_�B#�L�,�k{��zOZ�bZ$�~z$��Gg��/�{}�/!���v&e�L����*��n�d
<��@�m�浇kI?@�77-y6���==��o9#鎠Q��Bm�
�ku��jҊ
�@Ɂ��Ծ���WG���3Xm�<"���#`�<K��Q� ���
��
�h��d��0zDtf�����t��ؑ4�B�NM�^G��)��R�\ݹt�Nc�H1�\���H�
BW ��.�ɖ�[�J{��Ͻ��Ȑ��5[�2��;��
�}��Q�\e�j��X���"��=ϲ��S�2�}�6�aD��`@�vǫVH
^�_|�I)}Nj�NU�X(����ZS�a�a��DO��s��U5�r�r�bUx�;PoU�*���"�84�y�·"��\�C���٩p{Lԥ
�����|v,ן�r�M�b*����ݞy��)"zʨ�wWAmhܼ�.���x�~��im�N�Y���r���'o�C�B���D����?�UMm�g�Z����÷�g�|�Q�>i@;��L��L��)ބd�/��pƵkY��ݖtM)�2�";�.�ۤ�[��e��g��J��
0��,�()#c��]
w��~c)��K���Gέ[�g~?��\�-̴�����E�ڜ�[|+�����~�b&"�������'���%K���v~����W����L`����ʾ�w��77��r��
t]�⠗�/0v�V�y�� ы( pSl�d"xa鋹�vfFo�
���?�7s:��+�~�6/��vF�`<��_|lre[_b�������j���Q�E���_7�Z[c&�"��c#��ɨGFk�#�����oU�Cc�P�^�)h�v�2�
IDAT%j�
�ŕw�j�J_R��X,f�K�+K����~�i�W*��|�;�*�>�L|�^�J�f������z�պ�X3[#���U'#kO:v[S�QN�4����q���H����v
�90
Ӛ�@�f�9;��bo��C��/XS���9�z�fc�A�B�1y�aa�u�{+��2_�~�ĥ�?,u�DpH�g�6�g�O�Z�"�4�zޠ��Ć�"�4ȳ�=v�
���V2�8LDh6��?O�4�1"�
M��}�l��ldP$"� ���
G�� �@m
�ֆ�#�"�8
�6�(@��@��
�GD�q@�mQ
"� �!�<[2�� �@�
�<�88�D@jCy�6d0@��Ay�qpD)�"�Ԇ�lm�`>"�
���l��RD�
��ڐ�|D@����
�"Pȳ�!���"�4ȳ��#JAD�6�gkC�Dh�gG��
�@m �ֆ�#�"�8 �6�(@��h�N��Z[ߘ�
�@k@�iy�Ul
kLj u#�~���RD@lEy�V�="�
u#�<[7>X� ��� �ڊ
�GD�n�g��KD��Y[��"�ԍ�l�`)"�
�"�<k+��@��@��,ED�V�gmE�#�"P7ȳuュ�"�؊�b{D@�Fy�n|�@[@��Al�
�@�
�֍�"�"`+ȳ�"��D��ٺ�RD@lEy�V�="�
u#�<[7>X� ��� �ڊ
�GD�n�g��KD��Y[��"�ԍ@��+^w��Tv=?��\Ԧ}��BV��+���o��V�"�@#`wԢ�����,Ө�z!���ɛ3��Y�J�M0k�OMՏGo���&��q��::[0��}�?Q���'�z��HY��߲ />vF����a@�"`~�#k,m�\H)Y9���?ٚ��=V��H�~�oEt�}�zv��>����=���rU�!�"`vg� ;�M�����' ��/��/$�|15HI��)}�7��-��7�!ă=v����τ�I��^�� ��H챏�H[��;�b`�;7?ސ�]�-�6f��ޏ�H����}`��!���|yfw������}�x��'�8p��B߱�����<�ܧ�ٻs�%B�'�/��@o���8H�E������M�F�HDx<O�=!��sY���_o@�c[!������nR7�����[ƪ��;��v�rV�^�H�U��s IT�ǥs�� g<������?�$._y_���2��;�x��3)�|�'��O�6�� �93f#����@h��gO��j�O
�^{}�g����wGm��T��)�s��:��,�۽�ϓ��nM���&�)���-ݱ8~U.�Hq�M���ȗƴ�u:e;��d��}{{�.9Ae��8q���^����TNg����c��K�Y^i?>���'��T���Ja����
�!P�yd�hl�
��gA��L9E�B�b&w������kȳ�0�{��Yr�*��r������RBʫ�3���_� V��l,����я IمXZ�;�'-�^Yv�葐��T�S��C��Ը}�S�
0��m)�
K�iod{�բ!c��a@��wo8vMֲ�y�!��̍/�}wJ�%�߃$�Bs��O���t��d�Dr+��/#�
H�[�2ꢧ 4�^����U��F�P���������3�ʁRR��(._Uz���ƥ����ݓ�2Ϗ�:�{��g�_]�`ŭ�e������o�A�`0�c�d5c��6*�(BlԡY�s8v�fIv�UqsƲ�qST��Qse0����:ydDpe?^�"���I)o��3��������-:�MAv��<ߖ��C���w�'I6��xyv$Wn�� �=E�՝�19
�F>�N.e���gx7nnf^��$ok�vK�ujSiO���6�zw�>�M����=�aF�D�!S8��`�VJzH��z�Ngcg��
�F��9C�p����GP�96L+��Y�WU�B�'7]�ת�<7�vH��(���u�X����?^�??=���/U6��ܶ�g3oL�+&w�pߌ��`L)}oͥI���羻�J��[ٗ�̧���#I��-�4��1=�W:���~<G�ތ�C���C�@�����XNŵ�`��TkTee�ۻ
RQ���.�A=7s#�Y�T���� P�0�82�=��$�<�B�5Y�*j~�^-�_!����ZY�(w�r3ˮ9�r�}
!NB�P�����e:=q�V�-W+5
����i��9��ð��z:���!\8��l�p$���x;~�!�z�F!�aR`U
X8:ӁG&20�Z��Ȳ�&<�W�m+��͙���R���V��č�8�v\J�E�F-B1��`H��V0��t��V�eS-3
�"\�ݿ�6�{���6
q��lC�D�|>_
�2�� @���gh�QU�@x��X`U�|V��@#*�����S\�*��m[������-��-.ó@����A$A)�-!X5&�Y���ʭ
P`R0f�dKKKKJJry@y�K���� �0c�A�� f�[V�;|�����խ[D��2NQ���0K��J��oF��$�Upa喏�ɘW�@����A>>�;ۣ;��OH3�P$2t�&��mP^^v~~ M�`�2�.m�Za�"�6�,b���ĉ=�X�Y�d�u��DG;��'��M:�F�g���n��b]�~��0���Oȩ۷���Z���ڰ֤mȽ�&]%(h^{��*�
x�p�Ɋ����vN��]KꝣT�tä����e��,���g[���4&��Q��,K�I�h�(¡�I�Āʰ`1���bȳ5���]"��,�KpR�뀺�E��RYT��`����>��&;h
�\�@����.h
�nq��@��E"X���b�:2�oP8X����,�I�!�1[B�Y�1+�R�Z�gk�Z!4�V��
A�![D�Y�b���L|��",��PXc�vL�N�S���sZ��lE�O�9��� �M"e���V������4���|���G�͉F���%���r��s�32|��p'�<�T�X��_�p���i�>K~3�0攧sZ�5��#�YsD0�X��,љ9���u��� Y-^����(�W��g�=�;p庸L��<K:v�vu��N���TV�'GR�j��.�g:q Ws�"+�y�[<��N�9�8�^��wW����YR�1�8��1V�oP��&"`�XM�B�f�sǾ�M/�&�-Q=�]9�ǽ��0�~��@��*3�9~�r-|I��|}���gr9�TsC91h���7=B1!���߃u�T)�����o�ģ�pu�*!f�3q��W�XŨ5s�B8��UzB��'Фw�$�e닣=��G\;̵��W{�j%�s�i�
�r/�l�G�]�����y��]z�{G�:I^Ji�)Ѿ�+�/UE�3��g�Ȱq\�5�)�C�����"9?�W}x��7V�z���T�WJ9
8ބܠ��a�������PaA��[�����e��
~�\b�:�e`%�)����Y�C2��
U-���j�3�9�>鳲9i���3���u������ʭ��0��ݑ�0
^��ɠ=kws�
9�ė:f����^��z��z�l
7w��D�Q�=�t*�����<���g��}R�n�"�������U�NR����ٗ¾B�gG���+|��*��/�1eв��/u��җ_Vl?�<�9��\�,�Q.Sĥ�� O�"q�:;�Qi&r�-rV�����1�7�-Თ�d������]N�IՒ���>
϶�%�؊@l�_Ť�r�-ʹ!���FՅ��d����>u���������O�+��
r$�)��� �Λ��'���)�e�(Q�A�f�Î��vC�
Ά�/�]���På�*�1����.��V2�/l&b�\��H�?~Z�?���M�q�*�b��N�sB�Dii����N&0�J��
���sՒ& %����҉�a[D��d��T��Bu]��Eߒ�1�H��.�+��M]�k�a�7����0������lv)�n�T���554p��VJ�QZ=j�NR��Š�1��U�Įx�6��/|�u�X��O{6��r��k�T�M)P����T)GH�\^q1��[��Q����CGkVO(]XZ�|d�&��@5Y��`/��/#ڳ�5Ѩ��!��,Ƒ�0ӛ�6*$j�qzt*���Htr�=9d�����,�;�+J�InH�Ӓלk�'8��
��HK&��NE��$%RtR|E�5��lU�1���
��;�r�k� ����O��H��i�Ah���I�*V���_K�%}�qP���A�E��D
�e�r�q�D�ٛК�܊��"'~��*��X1p���5�
�S����n�o�7}�T0��dH��,��屆;���Ao�w�[�k�����zm$���^��4�ƹ~O5�;YL��bv]BkBY�c��̑D�s�ڄL�3��ͤ�y)�L⺈�d�,���
�al�ӊcn p^c�����r�
+??�8�}܇
k�D���qB����c�rx@�z}֏z$˰��:�&��rT��~ϰsj��u�0$�����d�����Y�fs�)9v�=t萏�O��R���|����KW'��:;�{�B��G������yqLr�ܵK���eG�6H�m�"`r�A���i��
=ǰ�no�+Xj���H��Y�9��aU��!�E�JVo�)f=�WH����Q�� {1'->����)��J��DRR��"_,귾@_k[,@�D��
����XbQ��#��X�
�j8vij6���JHg���r-%�=���?�/S6r�XM�W� ?|Cm�
�2"`p"1'\z��}�h�谲UTN}Y,fU��JT�'��tחRs�UV�O��$���w_��<����G�"�
�+�
6=�>tO>�=�DG@@?� �, ���*�����J���졽tl�82W_ ���3U"��_��4��ΦpR�D"�Y6=���xg���5M�=ˬ�H4s怆�Dnn�$�-o�5i�g��ݿ�"�����_ۇҕ'���yA��gጂ{�b�8K����a'>�֭���ூÁ����`�?�Z����u�p�E�߭��S^^��!3�0.Z���7�����
���/�� ��`@�����g�Riv~>�,
T�Z�ZU]x>�_�=JH���=z�h��Z�s˩z=�e�iU.<ץuT�[qH�bA��hVK�a.Z{���ղ�"�����S=�f�Xe�7^^^�d�;���ǡ7&��P(�S��ݝxz��}[}��u涘�w�Y
Yx��?<�d�ԁ�PZA[���ee0�0�0�X�`I8��@}y���lj�Pwx~��|_��_kP�1i����?��◕ʲ;w��~|`�QBƄ�I�&)~�U2jT�@���{�/�tTw��^�Q�۵]���u��㽻�sZI��/SA���!��B��ˠa�����ôf3(`Ci5L;K�B��8
�߿�P(��1��:�HNcx�H"�����n�Z���}��N��XW�S����YW��U����L
�,8
��� YP
���ۛ�Z��>"�$0�s^1�
��e��!Yڜ��Ӆ�.'Ə_�Uː,�������p�o^�O�����
�Q��#2ۅبC�4gff��Z�Z�ar!09
Y�l��&v��g��i����7�+�g�z=A>���
VmM�5Y��j<�,P-س
�7:�{Ћ�b�WۅبC�4gf��zP��D���(�<�аIkA�!Y8��X�|cX<DL�Ϛ�ƣG��=�M��B>�KiӦ
�ȅs��$�#B��V�E&�g�[h����^!�`��g6l0g�(��M��$�,X���G�'''�1��-8�~b"H�0���pA@�&��K��6
�r)��F!��܌L͒
QSMv����"`v֙�%AҔ�PmiR�@�_��`�ɂ3�j6�`��!�(�Q�بCKjn�|�$,p,�@���2J�+�+�!��H�a�c��F���ٓ��6��Q>"�D�W�\���𠭢T�Tjw�J���4j]Y����.��i�>5�{�b>�ų0�g�<��Q��FA���b�c())�G�w��l���9�(��;A��x�NpA5�
�8�!��p���Y�0O��Ӓm@����@��� B��j�o��`�
%�j�dl"U]��F��!�C���$!
0����<�8��B����uL��\�c�j�
���#ٳ�F
���a��n��x\\
v���D���{��1J��n�6�§�եh�w�
«�/[ �A����xB�ze���jG�����%�����2�/�yŝ5�����Ȅ2:G��G�&�����ۏ"��E��\��3]��j�u��u�x������i~�T�s��_�,��bݼws$5��X��ؚx��?#��+0b@Z2�7�~$2�X�=`S>����v����/��ؿ,k璨?��_M���ں��Qa�IY��wh�>��
�=$+�t�֭Q����>�L}�a
Y������6���>�)�X����b(�nR��c�{�p>EZ
���/o�n�_�&��M��� �Z�.��&/�O��r4PG<=��O^��γ���7�����q� ?up��iA�N���|G�� Fc�\�%D4k΄N�~#gL�"BK>A��+L�J��0m,��e��6*L
�@�C�xV�� NY��l�0r��n�Ε���}�O���B�)��K�v�=�|{Ȳp���ce���A�&\�Ӻ,5�U�/�,#j��\E�6��1
�@+D�}!�`��Q�k)��}�ԍ0zf��Iڵ�;���5�Q� ��&>��-{3E^�#&ϙ>ҏK�}�h�G���}i|�� Y�a^���FY,��}-��Ƚ���q~l߲���
-�gk�{�^�dH�}��k;��Y3k�G�Y���#2�Y�b��f�G����_{3l��
!z����y����߫��
��]j<�HU^�>oނ�ȝ�3���S�f"�@�p�S����_<����i_[��mK�-�>~qĴZ�M��L�^�~�
e$?����O�L�����W$��.}��Mv��G�����ڙ"�W��n�Bv��O�nYP�ڰb���LM0�
-�g ���+���+6���0=�����|���2��&z�`ѓ���YO�A^D�SHy*��w�������yl�`(9����Vsy��"����-|�;�ާ.R0
�@+C�ax֙����m$�S��g�y&���Pl!Â��yL�kl���͡���\�������y���FvUF���0�PDd|�L�7�I�!�U�[ؒpfEQw���J�q��Z����"��ْܬ�3g������g�d�ɩ�?M��g��(Kr�|��h=r;�5}��c�+/�8��
;��s���V�wf̘��Ak�9jZ"KX��ʒ��_���#��o��De{c����3�>*ӷ#UVM���;��[|���=�b
�>l0-�Z5h�@Z6V_R?|8��|C�ZV�u��
���> �L˿�l0��%�+OS4K�U��oTw�����QmD�Y,5=�U��.c�/��jCp�����d?Z�`�u�><�.���}�*�q5�Ҽ��{Mt�dB�s�L����
-�Lfd��<�xzL��yV����
IDAT�`��߀�V�@}�@�V�v�j��j��5hJ�e
=O��ΝqTUQ�z�P�γ֧��e�\� ����*�k��~
V�8l��=��mM�F9�M�0��l�ă���Jsu4�g����r]�g�>��ԧ�e���
-�϶�q
�"�:@�m��F�������{B�։�l�w5"�<<�g��"��N��yx��u��@Z*�ų
~f��N�@Z�7h��C@�Fy֮��C���l�D"��5ȳv==�"���g[�$�D��@����A�D�
�<�&�� v��]O*�
-��0�8D�k�g�zzP9Dh ϶�I�!
��]#�<k�Ӄ�!�@@y�L"@��Y��T@Zȳ-`q�"`�
���r�"�@�m��C@�Fy֮��C���l�D"��5M�?���W�T@�&F�iy�Ul��C�"���& UD�Fy֡��G@y�& UD�Fy֡��G@y�& UD�Fy֡��G@y�& UD�Fy֡��G@y�& UD�Fy֡��G@y�& UD�Fy֡��G@y�& UD�Fy֡��G@y�& UD�Fy֡��G@y�& UD�Fy֡��G@y�& UD�Fy֡��G@y�& UD�Fy֡��G@y�& UD�F�gګw��}�%Z/ �_��x�צ<�˃[����1������w�c��*a>"�
̈́�]ڳj#
}�uBR֤����+7����w�*�.�y�D��О�D���=�|
�9sM�m����ܙ
��{xK�<���ވ��_
�g����js���2x�h�̃)k��!S"��kC�j_)Dx�إ=K���G�fzQ�����k�e�D2e���D��zq*�*�O�p�\����P
ٶ�|��
�'��2��XDx�4�={��U��Ԁ�5��֨����^�8i�\y�T�C٧�D��>�������m�+�@�&���y;e\�Q��IN�'����}�_���SS�A����݂5lZ��l�ry�?����?^���v���}p1�Q��q)���ƈ��%�/"`��1a���<k��y��z���[|�"E��N����M��Q8�k Q�a:
�S�ǭ���{�y
)U"�
́����ɟ{�d�D��I��Ǩ����O������xbzw���������������E�ܗTLFO
{�T#�@�0�fIvQ3�+�`��"�F��9��a�k�dY�_�����ؖ�$<?�ғ�ܸ�_����m����㕧��BOh_A�a�_?th�}Bj����ߝD�J~'I��z��cb�@�ʈ� �L��GP�Mu�*R���t:U*/o!6�Ќ�z�#'''8�2̱aZqd2��d!I<=&x��k��U��.�r�}
O
��_[P+�z���+�uh�rM��$��5�b݇��)c����=ŵ��P��_g�g���[���Z+���#�y���[@1�1�(�t�e�4l�GA\���@�|Z-S
�
�e`�
�a�]�t#C�pQ@�V |8���r��ƾ��Fb��ҜaR`U
X8:ӁG&2����lƈM�`H��V�F��D�Z-�j�vE����p����[XXX=�%�؆��d�|�@
�-�.���E�mɫ��0�7�L��V-++S��@#*���Fz���UD�۶�����/mk�m�p���
6X"�J�m����
�ZVn���1$[ZZZRR�����]:t0�oODvM@�N
��.[������w++��
��J�T
�VO�``X�h�ȳV���[>&c\`�ɒ�w��Tt�l��ؖ?!�4B��Э��[�Ayy��%4ɂ1�X��Ek�I�<�L����+�1�,xc�g��eH�)?_�矜2��\F�س|Uk�g
b��_?MX��'�����FW-xlamXk�6�ޙ��
�"�0�,8aU*�,��L����SS�da�(�F��T�t���e��,���gqY!�0�
��,�d�,Y'E�/kTk����L�
&��, �!�<�2'G�0`x�%8��u@�"�S��~`����>�Y���ā0�h�j���]��i���@��D��3���"�o`-bX��#g�Y������Wo�����B�ݎ��<k\X��#@sl��(-|�8�z#���
�wS��C�5[֘-��15���sZ�����s
�k~���1CO�rCz�$��*\�ʩ�rf}F��ʰ�7�Q̂�*42��p��D}�7e=k��hϚ#�iD�Jf�Τ�p��� Y-9�+�Sr��Es���<�m�X�zǮ�n] ��:]�t/� �w7n +���I�b�0��n�.�-�s��6g8�r����8u���A=�Q��6�e�$���Q�Mu�gMP`h���p�"�}%�^2�Md��_ѕ}�+��D�t?Np�1n��/�c�}��%Y�K,�U����� ��ʉA[��
+[1��c'�
X���JY���@�J��Q�y%&]՝67��x�PQ��
X������� 2u"gY#;����`P�A��64���W��y�������K+��Q��\ e���Áܥ'1�wt�7/�4��h��ۗ�"�@��Q�3Id�8.m�Ҕ�FQ��S����>���+�=Qveb"̑3�c���:=�}�B�i�����y��k��
�Tu�wх�T�s�E {{@[�$Ũ9ƾ�"���7�xz��PM�=��=��8�]1i9oG���WL��V~�q���u��t��ڟ/�{�g�B�.�V��]�.��T{<�zy&�V:�>˚p��L&����xj�S�
�<%F9:m��^���dОm���.[�ė:f����^��z�8Ml��qs�xH����3H硂���_��x��|�>)U�?N�r�{{H���BLR��"���/�}����+}/��*c�
f��O�\=T�r�*��R&���~�°җW��;�����Д���o��,�.��g�FJ�-�L9^nN�²��w��q��?S���w288n�N���p?���ɳ�p���\v�)ܧ�]NnS�XQ��j*�6�h�7*>K"�6Os��]���
Zp�nN�R��T��CCjC�n��Y��Tʑ�-�k� ���fZ�گ��j�3��:b+!W�Sr��iv�
r$Sɽڝ7y#��>y�IH@��-��ڑ\��l��jE�L�㒳�9.Ѫ"�2���!���
�k.+?��'��P�5��<[�{lEz��m0��i��
��ɲ��N�����t��9|�|�;�
~�drz~��Y*j)?�ӿ^��;�C�y��3�;;@[V�A�P
��k|��51��Ո�mM'g\���
&�&7K��F�g�vjP1�A�����G�S�P v��q��߹���E:��oto,�a����}ω��2R���&���k�B踀C}ﰖox�U�5��Y���C�Ӷ���w�:
4~+��H��t�ק�TH�r����Ub*c�ӣ�r!LӅ��@�>d
z�wT���Ns�����P~�G(���P]���s� �-�6嫋���
�|�P=G�χ���X5�)��9���=Щ��&"��
6��ⷒ�GX����(I�'�!�NK^s�~�l8�n
|����i���\�i������<o.MyZ�ΤpN�D�}�t��+��m�&�K��/�6Ϫ��1�>N���ϖQ��xV=M9x���p��:ҕ�`~�K҉��� ���H�Y'�55y`��V��l���
�����{)B�Z�J̲Y���29��XPN�$��
��5��$���8�G:��*���)��E�/��5������μ�ֳ���jY��7�呾}�Ve5%��-;�e�rpиE�Յl��d�VD���9�<�P��NJ�3��ՠos��]���~�v�x�L��L�tzDY�(�\G0����ϵ!���|������K���`�"��Zu�Rm���h�.O���W�U�k�e���)UA��aÚ ��h���e:�#%���k�k#*zy��#�
�O��}h�W��C]����Ղ��VM��>
��)�s�`G�ݪ�㼇.d�[y�꼞G-��jw6�3e�����p���U��̠��6��ٕu��zY���|�������>4f��q�tÕWe�D�}�8*#h~|��FJVl�����3᳓���Q^#4Gd��Qp<��}���W͊
�Q���2b��\ـډV��}̲贛�{0�*X�D��9�_Ře�H.��{V�țVG}e���L#��0όJ��R��j��f�̡���S߿꿗��GG�z@�F)�w~�m`+C�
+??��g���Æ5��z�����k���*p��5���3MqBBH�~ڳQ�G=&Ogr8��Խ��D��e���oA=U}�?��abUw�@��Ī�t����_v5�֤ZU;H�;Z���/>>>:t�J���
�_���v��WOq�T>�bNZ|!scSf���r��w����9�����g��x�
ٕ��9W�f�%q�'����o|AVfȊ���M�\�Ÿ�W�ΏN��9��2�֕=�ϋڕq5'9:524�xT���zt�!�Jy��
.nA������K���u5����JȿXN2��G�#a��х�ۗF�qk�_V33j�>�~�v����adf�,dNlR�=�.]��F7"3*�K�sLc�¼�#+�Pɂ��*�1�8�ꍒV�cl�3�ҡ>E�����x*jEHg�,�����Pݱ�L�F5�!�I�ڎ�aG<K�2ߧ3PHg����^ �4w�����w�s�d��R��w�gόΘ7���Tڵ�s�ɛȡ��������l2� 0ry���{�U�}9%6c��^��p����+��U����$rH�u�WZJ�|Rj�W-"�yc�B"�J����ԇWϠs���X�|EL={a*!˦���,�YA�1�
�S��7�W6�zOQu>��3��=4<*j�oD������]�\��$��I��=@�eƅ̈*��&��.�d/�L."���͍_�Gb)�ː/��잷,SM�G��Jx�9���L�'�x���7�E�Sj�G���B�=4�x��o��p�Fz�!�ӯ���a��7J�eV��~�!c&�@�za�B�\���I�_��c��l�l�nZ�P{�Yj���-x�I���q�3��
�<���l4}dW�"$}F�'$�|�1~��~�.���<.������t!�[� ��Wg���X�'��:0��s�q$���YI��O�R�n[�Q��ZaӾ#� �����ݗ���<��S�Rwxr�L(�2{��NȎ
���lWJFFr�b}��=W�w.��v_JZ�#Go��G�����ltt�ٌ#
W
�%S���}h�¯z.K�57n��#�*<��]R��?B3���ȅ�]z{�*Ղ���#+����xa��젵��zז��{�I�7��~1%z\�A��I�Aw�R��7�-�=��Сc�7qD=�M\��&zU��Cq��=�o_����Gd���%�C�dWgZ}���1���&���~����8���OI92qtPe���8,��Ҿ�
|nC�J2wa�Z���#_<�l�YMe/�
r�6X�U��cO�c�^���_@攁ݼ���V$6��>ɟ��B�|ʆ�/��-����^�L*�Ύ\�:W��!� ��2;h�}ȕ��7��J��|��B�_#s��5$P���:eӑ>�z^���$��3���g���=��Lf��ׁedJ�a����_�V@Yx+���\���J
O�Ё���(2x^j�̱�C$*�i�4��c��U���Ǟ}�&O��R��[G�F�Y��2���H�X-�έ��@�!A��pӔ�w�l�ӟ�'�E�90��T�s=,r����!(��y}��s�w���0�߁+��z}���;N�@q{j�����H���0��ȸ����R�V�f�X!�9O\���pT�͞e�(�5���jFʾwǥ������&��Jz{���)��>5�2�d73���=4|��
ǭ�h�s#F�\�
���~�M�����⁁��۶>����E��ܫ}���v'_�v�B��^�m(Ü�^8f���~O�/�?(@�u���ȡ~��ev5?Q�&A��*YT��{�r�T/XR�M`�;s��a,ߟȾq�`�Q=���a�ٛ�����ެ"K��S����#�Xؙz}��s�ny��M��R�螖��V�<��ʿ�hM]�3�<7Z�R�H�Χ�THo7F;=}5C�YI�#{3y�J�Yjap4*Oj�Q���.��r�T�� �]��,��Zh'�m/���n���u��N�$$j�O���3�d���#�:dz�������|�?�h��9ۡ½�̓6���H�,*��WcX�9��t�"/����?��;�(�|��00(}��ă%+�W����tMb$�|W�<Y�
WVe]��}&ÁF��d�.K4t�H�x�wT��b2s2���9�k�����g�����U��QS]U
}��g�GX��пC�-�zkV���������Y:gҴҩ=���
`�0[��j��<�د��i��3=�K��c<7��J�9�D�-��-s�hI���@y��]�-ى�5(�%U}����ԥ������3�4Mx������{�B
��h����X�
���h�nb�l��$�2}�f����q.��p`cm�)�Kt�K%��u�再i&�se��j��{mn1o�-�sQ_ҧ�,Z)��6g)%�c�Ov�=l͜K?b�tl���gk�'!]9�d�ڛ7j��sN27�c�2�J��k������ٴ��^]~�ݷ�[�ԽL����o�/y���Z
% �=z�����2O�4���ҡ%S�$5J��ǘ(�4uϋ��a7d��=�>A�BY|��O�(���2�����[N��:��
;�+F�Q��\y��n�)�苧mV@��3F��I�Fm�NJ�^}*h
��/+��JB!�
����¥�R_]חc��)k�X1�����{�ota�r�o���:x0�ݸ*��
����ذ煰�e�m{U�Y_�ͩ���'̎b;��9O֍���ҽ7(NДߤ�\t�R����|���WL (�h+�a�f��q1,��{f��˽w�W���:�3�K�gzD�r����6D�)����e�~W���fn�t�e
���<�!�E��%��sw]���c(-�ژ&TJ=��,j���8�$&�p�*M��9�ڊ<u$8��D7_�W\�η�&̽`nq+�+#g�N��7��֬T���f :.O����)/�
��RaM�o���tɇ˫��s,�gm��}�?��Ϟ�7��/W�?�B�Bc��K�C����L��y�Ƭ��Cc6���Sv���}'�Έ��'�Zަg!�v�;;tFd0�zhQ��,���!3�#$tY�k�{����;d�j.�S�¶E�n7.jr>�ޜ�/bޘ0j��Q�qE��٫�DŽ!ɨQ�P�Ws�_�0�͘2t'�p�pA*���'@��S�����<_�zt���c����lHvf�k��VO>���f��6��a��2~�V�R�f��w����&P5(�n,��q�)�c����hIi-&6��2&>z'��xw�,����ÖN�@2��5��j���]Hw_�]�'Y����A���9<����ڐ$��.��K�x�E��2M��E��VvͬOX}ù�.0z��O��ݦ3�~�:�)��j5>���bn/,Pg�ʦ�Cd��IDAT��zO8smM�
]n�,#�s����U[����W'�JVfxǍ����.KtҐp6yI��:C#��`B.+ɵ���$v�/�4�%2���ͥ�,]�����FAYJy'�p�u
���^�Tb��GaU;$ゕX���#Z8T�`\
S��X�5��nN����P+��&��z�B�-��(!֝ zdZ��0Y��D���֬�CbT��)�������W���~=���0Q�V�R=�X����u��o����Ԭ{]����=�%���'K�?�{-��]ՠiFtu>q�T�賂��R��ul���#Yw�{���<��wLc��^��ä�W�����t�3�H#�UxҘ}֫[��{_�S�Q��փI���c�u�������C�����)%�)j�x�2�K�U��˴����_=�}��_�?�Fu�Ey�&��K�C\n�C�mRS�%J3OzE�����٠뷘;4p���.Uo����G�Z��x,��ڋ�"�d\�?��ڸeH�`5-XW
M�HA�A��[Wd�Ҫ�BZ��,�8�a�f�&������)�L~��6���&��
��'n�G]�E�h��U����̘6Os���ͫL�j"�_��ꃷ\��v��v���Z�N=ºG)���e@d�1�y]�Viv�O�g����-��{`����?xɳ2<�5�m����Su���vtz]��_r�3:�o���L�瞶D�*P���rO�l��"/lN(j����U�%/�aêg�k�ܞ�_��n,�5ۡLZ��{�Y3���x��C��$�����Ec���NWM�zn����vC��l�K���V�9b�-����K*U��l������.q���H�ƴ7t��n���%�n������o�]"Ƹ�pRs�[}s!T�T�
��^l����6N�� �.LwpKm~qm���ul�9ី�yq���9?�_b���_���BNƛJ�˽���҅�ȿR�W?����M�?���!�6�����R���#:X�mu���)�&w��0KR&^2�_#���euz�� �6g�:��>9�J�\*����|�|���]'��C6��oD�)����_N1��/xg?�� �7�ꮱ����B�`,&k�,����9��u�C>�������"�B8�v~��D4�/q���<�o�'oU���+7l����*��C:�|V���
��Q�4���+X
�� �L��W'aL-�_=��?ќ�77jtF�ώD�T:6�0��kT���^xӁ���W���.���"�������~����T/�>�@���^��ݗ%a�7(F��.��l��sCI���@f��xp�:��DS�7�70��������? �R��y[�(��f
�7����Ӹ!:��R��Z|�X�+��f�wK1�*u�K�L��f�Y���F$�H:&N��J�5dW�M��ؙ��>����}�bk���x_�_���e6ۉ�K����`���u���r��\͉�QӼӧ�0��3�}�v��?�й��zZ����Ʋ/bTT����(a������E�`T�'l5'g���ܾb�i^����0�G����Ӥ�<xв/������[���9�r������%恤ı�뺝���@!`����6�QGN�Ķ��b�l^Y����,���۩�Zj,\�+��P�S�,���*��'�N��He�VG��ƥ��x}(9J�A 7n*)�:h-�Z-&
\�0�+�E�Υ�(��'��>:�٘���
ة:r[�{�b��u�%f7:��E�(q'$�I���ېUW���ӳr�*[����pU��h)��Y�V&��W�r�([��+(����
B���lp �q_���KJKA@7\�e��`P}�.<p�b�%a=h��Yq�]�����=X�u���=^G��X�=^b�W�^���:����W��.����8k��� :+��pS�5P5w1��4��
�%6nO��]����. \��A�j���t�ପ(�ߘm��-���o�t�{�~�nhQQQhh�1�:˼|�[D��������L��˫P�z�֭ھ}Uii���_-�G,��9U��$���h��b4�I���FFՖ0R�1��>}\n�*�J}���iBg�[FU�ۺ����o��m��wG&����;:���)�};Jڷoͺuu�IAa�Fl=c0�&O��J�
���)�]�ý��ui�ח4�:
D�ے�/d���}C�N7np��EEgN�#qz�ҏX���~�=^K/l�x�ƨ��y����x];e�ѢҊ��G1��ڽh�<��v�s�}�I�,�r��V]���Ww�?�\r���X�rb�,D�m/��P���
%��
��|��t����ht4����.\a�
���\:~'�<*fM��#1��=^�}��5*ș]ZWWWɡ\�x�Y��.+Ӗ�`!T�X%��9s����&ٮ��H��q �p"��툽v�ހ�v�M.~s���!��/��EӠ��<��}
(,.\��Z�Y��=^;�uA�l�Q8�4��w�@R.�,�,�<x�
��r�kCj!�����{fz{{㎅��z�.}:����~u��S�̤����Q����b�}X8x
�p��ki՜�9��6ءTt$x�=^-��Fۖ����p_ �<��E���r�tq��dNNNtttS�ZAd������K�.��ŷ�c�Z��k{�����|��c�g��9OJ�E������ƅB�YԮ����������f��ЍE�!�P[��^�G��*z�
��ғ�~�YH-�����:L��8���z)���2<s�E��G��y��Q0�Y;��Ig!
�,n0+�7����cAy��Z��ÇO�<Y,���"�R�u놽;��\[2iE���CVv$O��L)�����py���R��ڍ�;���by�Bd�3�F|�������C^�L��
79
�Ctc����>)�v0s���;�I{4�'���Q[5��"C"���u�CA�ph ����t��ǃ(,z�Y�"�%e�WZ�`�����e�H掶GGbAu!��hB:!��Q�)$ï�W�>��D־�U[p��엧��u�)"�F0�`��:-&�*�4*�6��H�F�Q�+�?���𣾙=�_�<���I���KgQ�_M��OO��HZ��s���1TVVb*�a��K�m�p��C_�Jy('!�t:�$\�D��э��.Ag�f�7�'k�y��� ��:yQ��Aj�e�
&<PB��D��5d��t�UqRfDJ$V�$0���L�t�3�>ս������/��j��F�&D��h:�����~�J�X��{��7�Ӭ^��4f�HF�FM��8MK2� J�1g\����KC�D�t�>n������7K̤�-X�]͇�kG�wU���
%�UY��S�/�?s�sr�[��6��2�|��-9�fK���k�
26�����l�Ui����P�+����s�
K�''��0�R�&��`"@�9g����R��,ySZZ��0ϒc�m;r��\S���𤴷�D�罷�}���ozooޙ�x%�ܺu�Ͷj�D�ha��)[Ӷ&���7��g�[�?�ʉl��ooZ�
Sm�g>��?3s�Ad�f�o"@:0g�Y���v�H��7`��o~_%�ǽ���/.ش,̯k�ԥ�#=Kr>�)��ii�JfL�m^�5i�B��,�:
�/
d��x�d���&�)�SU^���^5?�wנ�+��c��?�M&^�������yŢTD��{ή�Lf}/#s�m��9{<���~=�F���ؙ�79���y1�W����4��7?b`s'����Y}꩟ '��W�n����E���3rD�t
N���V���Qt`�^�@�������>��2��iU5B�Vd֚^͑�"���
�M�ۗ�!�Ӣ�z�H?�}�XC��Q
�@��Y��OWn9�'��"0�t��G���Y��?ޘYȂg&M0=�j��e/����o�b���������ݨ "Ё �����YKS�Bd7m^X�M����U@S�ۗ�K�Vlfr���&֍i������%��+��f/���b�����|���z��
_����Z<��5��G�@�
�2�z$L*9����ߔ0A,�\��Z�dL��4し���C�D�5��8WQ�ի�⭄7��G/�<��M���"���5�@�X7�/8s�T�jh~ļ��z� �G�@"��:�*ܘ��S�,�5�{?8\xoa����Q���/��*�q}J7Qe~c��j��&��b��c�a�R�"�Ld~�N�0��a#����K�q��+_�=.��8%�
�C7���p�"���4�)+W���x����g\��N�3`���S9`��R��/�%ٹ][�=�-3uU�g/W=�[ϛ�Ξ�r��YX�H��l&���`\��������E`�D0?�k�U��ao�����Nx�zjrc��<e��W�<{���k\�.u�l�o��'zӠBC�B:
g�Y����<��=\�Y�5��V$���#�3|�_aJ���=%�H��3{S�0�ɫv,f�m�)C��p����L�a��t��O]�����I�x��[��Iknߴ �˹����|Z&�O"� H�˹�I
ݡ��S&��ax�B���~�[�>M�
<w���X��
0B@#����d��)����i�M'���[��Fs/���p��|
+Д� #��-���� �n�϶Fe)"@��#
@:���)��THg;UsSe�xHgt:% ���l�jn�,
�����7���G��NI�h3�v�l3>�1
D�Q4n�(A�'D��&@:k��"@%@:�(A�'D��&@:k��"@%@:�(A�'D��&@:k��"@%@:�(A�'D��&@:k��"@%@:�(A�'D��&@:k��"@%@:�(A�'D��&@:k��"@%@:�(A�'D��&@:k��"@%@:�(A�'D��&@:k��"@%@:�(A�'D��&@:k��"@%@:�(A�'D��&������U�%�X"@�@�&ж:K�U��WՎ���q��P�4D�� ���ώ,�
�!@:�J��"`?�Y�ّ%
D�9Hg�C��"@�'@:k?;�$D�4���E�����ǸIEND�B`�assets/js/validate/css/template.css000064400000003773151171034500013377
0ustar00body {
background: #ececec;
}
form.formular, .validationEngineContainer {
font-family: tahoma, verdana, "sans-serif";
font-size: 12px;
padding: 20px;
border: 1px solid #A5A8B8;
width: 300px;
margin: 0 auto;
}
.formular fieldset {
margin-top: 20px;
padding: 15px;
border: 1px solid #B5B8C8;
}
.formular legend {
font-size: 12px;
color: #15428B;
font-weight: 900;
}
.formular fieldset label {
float: none;
text-align: inherit;
display:block;
width: auto;
}
.formular label span {
color: #000;
}
.formular input,.formular select,.formular textarea {
display: block; /* this breaks relative positioning */
margin-bottom: 5px;
}
.formular .text-input {
width: 250px;
color: #555;
padding: 4px;
border: 1px solid #B5B8C8;
font-size: 14px;
margin-top: 4px;
background: #FFF repeat-x;
}
.formular textarea {
width: 250px;
height: 70px;
color: #555;
padding: 4px;
border: 1px solid #B5B8C8;
font-size: 14px;
margin-top: 4px;
background: #FFF repeat-x;
}
.formular .infos {
background: #FFF;
color: #333;
font-size: 12px;
padding: 10px;
margin-bottom: 10px;
}
.formular span.checkbox, .formular .checkbox, .formular .radio {
display: inline;
}
.formular .submit {
border: 1px solid #AAA;
padding: 4px;
margin-top: 20px;
float: right;
text-decoration: none;
cursor: pointer;
}
.formular hr {
clear: both;
visibility: hidden;
}
.formular .fc-error {
width: 350px;
color: #555;
padding: 4px;
border: 1px solid #B5B8C8;
font-size: 12px;
margin-bottom: 15px;
background: #FFEAEA;
}
.formular input[data-prompt-position="inline"] {
display: inline;
}
.footnote {
font-size: 11px;
color: #666;
font-style: italic;
}
.prompt-target {
border: 1px dotted #666;
min-height: 21px;
}
.inline-prompts label>span{
display: inline-block;
width: 250px;
}
.inline-prompts .text-input+.formError{
margin-left: 10px;
}
.prompt-summary .inline {
display: block;
}assets/js/validate/css/validationEngine.jquery.css000064400000006406151171034500016356
0ustar00
/* Z-INDEX */
.formError { z-index: 990; }
.formError .formErrorContent { z-index: 991; }
.formError .formErrorArrow { z-index: 996; }
.ui-dialog .formError { z-index: 5000; }
.ui-dialog .formError .formErrorContent { z-index: 5001; }
.ui-dialog .formError .formErrorArrow { z-index: 5006; }
.inputContainer {
position: relative;
float: left;
}
.formError {
position: absolute;
top: 300px;
left: 300px;
display: block;
cursor: pointer;
text-align: left;
}
.formError.inline {
position: relative;
top: 0;
left: 0;
display: inline-block;
}
.ajaxSubmit {
padding: 20px;
background: #55ea55;
border: 1px solid #999;
display: none;
}
.formError .formErrorContent {
width: 100%;
background: #ee0101;
position:relative;
color: #fff;
min-width: 120px;
font-size: 11px;
border: 2px solid #ddd;
box-shadow: 0 0 6px #000;
-moz-box-shadow: 0 0 6px #000;
-webkit-box-shadow: 0 0 6px #000;
-o-box-shadow: 0 0 6px #000;
padding: 4px 10px 4px 10px;
border-radius: 6px;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
-o-border-radius: 6px;
}
.formError.inline .formErrorContent {
box-shadow: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-o-box-shadow: none;
border: none;
border-radius: 0;
-moz-border-radius: 0;
-webkit-border-radius: 0;
-o-border-radius: 0;
}
.greenPopup .formErrorContent {
background: #33be40;
}
.blackPopup .formErrorContent {
background: #393939;
color: #FFF;
}
.formError .formErrorArrow {
width: 15px;
margin: -2px 0 0 13px;
position:relative;
}
body[dir='rtl'] .formError .formErrorArrow,
body.rtl .formError .formErrorArrow {
margin: -2px 13px 0 0;
}
.formError .formErrorArrowBottom {
box-shadow: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-o-box-shadow: none;
margin: 0px 0 0 12px;
top:2px;
}
.formError .formErrorArrow div {
border-left: 2px solid #ddd;
border-right: 2px solid #ddd;
box-shadow: 0 2px 3px #444;
-moz-box-shadow: 0 2px 3px #444;
-webkit-box-shadow: 0 2px 3px #444;
-o-box-shadow: 0 2px 3px #444;
font-size: 0px;
height: 1px;
background: #ee0101;
margin: 0 auto;
line-height: 0;
font-size: 0;
display: block;
}
.formError .formErrorArrowBottom div {
box-shadow: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-o-box-shadow: none;
}
.greenPopup .formErrorArrow div {
background: #33be40;
}
.blackPopup .formErrorArrow div {
background: #393939;
color: #FFF;
}
.formError .formErrorArrow .line10 {
width: 15px;
border: none;
}
.formError .formErrorArrow .line9 {
width: 13px;
border: none;
}
.formError .formErrorArrow .line8 {
width: 11px;
}
.formError .formErrorArrow .line7 {
width: 9px;
}
.formError .formErrorArrow .line6 {
width: 7px;
}
.formError .formErrorArrow .line5 {
width: 5px;
}
.formError .formErrorArrow .line4 {
width: 3px;
}
.formError .formErrorArrow .line3 {
width: 1px;
border-left: 2px solid #ddd;
border-right: 2px solid #ddd;
border-bottom: 0 solid #ddd;
}
.formError .formErrorArrow .line2 {
width: 3px;
border: none;
background: #ddd;
}
.formError .formErrorArrow .line1 {
width: 1px;
border: none;
background: #ddd;
}
assets/js/validate/js/contrib/other-validations.js000064400000005266151171034500016327
0ustar00/*
This file contains validations that are too specific to be part of the
core
Please reference the file AFTER the translation file or the rules will be
overwritten
Use at your own risk. We can't provide support for most of the
validations
*/
(function($){
if($.validationEngineLanguage == undefined ||
$.validationEngineLanguage.allRules == undefined )
alert("Please include other-validations.js AFTER the translation
file");
else {
$.validationEngineLanguage.allRules["postcodeUK"] = {
// UK zip codes
"regex":
/^([A-PR-UWYZa-pr-uwyz]([0-9]{1,2}|([A-HK-Ya-hk-y][0-9]|[A-HK-Ya-hk-y][0-9]([0-9]|[ABEHMNPRV-Yabehmnprv-y]))|[0-9][A-HJKS-UWa-hjks-uw])\
{0,1}[0-9][ABD-HJLNP-UW-Zabd-hjlnp-uw-z]{2}|([Gg][Ii][Rr]\
0[Aa][Aa])|([Ss][Aa][Nn]\ {0,1}[Tt][Aa]1)|([Bb][Ff][Pp][Oo]\
{0,1}([Cc]\/[Oo]\
)?[0-9]{1,4})|(([Aa][Ss][Cc][Nn]|[Bb][Bb][Nn][Dd]|[BFSbfs][Ii][Qq][Qq]|[Pp][Cc][Rr][Nn]|[Ss][Tt][Hh][Ll]|[Tt][Dd][Cc][Uu]|[Tt][Kk][Cc][Aa])\
{0,1}1[Zz][Zz]))$/,
"alertText": "* Invalid postcode"
};
$.validationEngineLanguage.allRules["postcodeNL"] = {
// NL zip codes | Accepts 1234AA format zipcodes
"regex": /^\d{4}[a-zA-Z]{2}?$/,
"alertText": "* Ongeldige postcode, formaat
moet 1234AA zijn"
};
$.validationEngineLanguage.allRules["postcodeUS"] = {
// US zip codes | Accepts 12345 and 12345-1234 format zipcodes
"regex": /^\d{5}(-\d{4})?$/,
"alertText": "* Invalid zipcode"
};
$.validationEngineLanguage.allRules["postcodeDE"] = {
// Germany zip codes | Accepts 12345 format zipcodes
"regex": /^\d{5}?$/,
"alertText": "* Invalid zipcode"
};
$.validationEngineLanguage.allRules["postcodeAT"] = {
// Austrian zip codes | Accepts 1234 format zipcodes
"regex": /^\d{4}?$/,
"alertText": "* Invalid zipcode"
};
$.validationEngineLanguage.allRules["postcodePL"] = {
// Polish zip codes | Accepts 80-000 format zipcodes
"regex": /^\d{2}-\d{3}$/,
"alertText": "* Niepoprawny kod pocztowy,
poprawny format to: 12-345"
};
$.validationEngineLanguage.allRules["postcodeJP"] = {
// JP zip codes | Accepts 123 and 123-1234 format zipcodes
"regex": /^\d{3}(-\d{4})?$/,
"alertText": "*
郵便番号が正しくありません"
};
$.validationEngineLanguage.allRules["onlyLetNumSpec"] = {
// Good for database fields
"regex": /^[0-9a-zA-Z_-]+$/,
"alertText": "* Only Letters, Numbers, hyphen(-) and
underscore(_) allowed"
};
// # more validations may be added after this point
}
})(jQuery);
assets/js/validate/js/jquery.validationEngine.js000064400000216046151171034500016031
0ustar00/*
* Inline Form Validation Engine 2.6.2, jQuery plugin
*
* Copyright(c) 2010, Cedric Dugas
* http://www.position-absolute.com
*
* 2.0 Rewrite by Olivier Refalo
* http://www.crionics.com
*
* Form validation engine allowing custom regex rules to be added.
* Licensed under the MIT License
*/
HDP.jQuery(function($) {
"use strict";
var methods = {
/**
* Kind of the constructor, called before any action
* @param {Map} user options
*/
init: function(options) {
var form = this;
if (!form.data('jqv') || form.data('jqv') == null )
{
options = methods._saveOptions(form, options);
// bind all formError elements to close on click
$(document).on("click", ".formError", function() {
$(this).fadeOut(150, function() {
// remove prompt once invisible
$(this).parent('.formErrorOuter').remove();
$(this).remove();
});
});
}
return this;
},
/**
* Attachs jQuery.validationEngine to form.submit and field.blur events
* Takes an optional params: a list of options
* ie. jQuery("#formID1").validationEngine('attach',
{promptPosition : "centerRight"});
*/
attach: function(userOptions) {
var form = this;
var options;
if(userOptions)
options = methods._saveOptions(form, userOptions);
else
options = form.data('jqv');
options.validateAttribute =
(form.find("[data-validation-engine*=validate]").length) ?
"data-validation-engine" : "class";
if (options.binded) {
// delegate fields
form.on(options.validationEventTrigger,
"["+options.validateAttribute+"*=validate]:not([type=checkbox]):not([type=radio]):not(.datepicker)",
methods._onFieldEvent);
form.on("click",
"["+options.validateAttribute+"*=validate][type=checkbox],["+options.validateAttribute+"*=validate][type=radio]",
methods._onFieldEvent);
form.on(options.validationEventTrigger,"["+options.validateAttribute+"*=validate][class*=datepicker]",
{"delay": 300}, methods._onFieldEvent);
}
if (options.autoPositionUpdate) {
$(window).bind("resize", {
"noAnimation": true,
"formElem": form
}, methods.updatePromptsPosition);
}
form.on("click","a[data-validation-engine-skip],
a[class*='validate-skip'], button[data-validation-engine-skip],
button[class*='validate-skip'],
input[data-validation-engine-skip],
input[class*='validate-skip']",
methods._submitButtonClick);
form.removeData('jqv_submitButton');
// bind form.submit
form.on("submit", methods._onSubmitEvent);
return this;
},
/**
* Unregisters any bindings that may point to jQuery.validaitonEngine
*/
detach: function() {
var form = this;
var options = form.data('jqv');
// unbind fields
form.find("["+options.validateAttribute+"*=validate]").not("[type=checkbox]").off(options.validationEventTrigger,
methods._onFieldEvent);
form.find("["+options.validateAttribute+"*=validate][type=checkbox],[class*=validate][type=radio]").off("click",
methods._onFieldEvent);
// unbind form.submit
form.off("submit", methods._onSubmitEvent);
form.removeData('jqv');
form.off("click", "a[data-validation-engine-skip],
a[class*='validate-skip'], button[data-validation-engine-skip],
button[class*='validate-skip'],
input[data-validation-engine-skip],
input[class*='validate-skip']",
methods._submitButtonClick);
form.removeData('jqv_submitButton');
if (options.autoPositionUpdate)
$(window).off("resize", methods.updatePromptsPosition);
return this;
},
/**
* Validates either a form or a list of fields, shows prompts
accordingly.
* Note: There is no ajax form validation with this method, only field
ajax validation are evaluated
*
* @return true if the form validates, false if it fails
*/
validate: function() {
var element = $(this);
var valid = null;
if (element.is("form") ||
element.hasClass("validationEngineContainer")) {
if (element.hasClass('validating')) {
// form is already validating.
// Should abort old validation and start new one. I don't know
how to implement it.
return false;
} else {
element.addClass('validating');
var options = element.data('jqv');
var valid = methods._validateFields(this);
// If the form doesn't validate, clear the 'validating'
class before the user has a chance to submit again
setTimeout(function(){
element.removeClass('validating');
}, 100);
if (valid && options.onSuccess) {
options.onSuccess();
} else if (!valid && options.onFailure) {
options.onFailure();
}
}
} else if (element.is('form') ||
element.hasClass('validationEngineContainer')) {
element.removeClass('validating');
} else {
// field validation
var form = element.closest('form,
.validationEngineContainer'),
options = (form.data('jqv')) ? form.data('jqv') :
$.validationEngine.defaults,
valid = methods._validateField(element, options);
if (valid && options.onFieldSuccess)
options.onFieldSuccess();
else if (options.onFieldFailure && options.InvalidFields.length
> 0) {
options.onFieldFailure();
}
}
if(options.onValidationComplete) {
// !! ensures that an undefined return is interpreted as return false
but allows a onValidationComplete() to possibly return true and have form
continue processing
return !!options.onValidationComplete(form, valid);
}
return valid;
},
/**
* Redraw prompts position, useful when you change the DOM state when
validating
*/
updatePromptsPosition: function(event) {
if (event && this == window) {
var form = event.data.formElem;
var noAnimation = event.data.noAnimation;
}
else
var form = $(this.closest('form,
.validationEngineContainer'));
var options = form.data('jqv');
// No option, take default one
form.find('['+options.validateAttribute+'*=validate]').not(":disabled").each(function(){
var field = $(this);
if (options.prettySelect && field.is(":hidden"))
field = form.find("#" + options.usePrefix +
field.attr('id') + options.useSuffix);
var prompt = methods._getPrompt(field);
var promptText = $(prompt).find(".formErrorContent").html();
if(prompt)
methods._updatePrompt(field, $(prompt), promptText, undefined, false,
options, noAnimation);
});
return this;
},
/**
* Displays a prompt on a element.
* Note that the element needs an id!
*
* @param {String} promptText html text to display type
* @param {String} type the type of bubble: 'pass' (green),
'load' (black) anything else (red)
* @param {String} possible values topLeft, topRight, bottomLeft,
centerRight, bottomRight
*/
showPrompt: function(promptText, type, promptPosition, showArrow) {
var form = this.closest('form, .validationEngineContainer');
var options = form.data('jqv');
// No option, take default one
if(!options)
options = methods._saveOptions(this, options);
if(promptPosition)
options.promptPosition=promptPosition;
options.showArrow = showArrow==true;
methods._showPrompt(this, promptText, type, false, options);
return this;
},
/**
* Closes form error prompts, CAN be invidual
*/
hide: function() {
var form = $(this).closest('form,
.validationEngineContainer');
var options = form.data('jqv');
var fadeDuration = (options && options.fadeDuration) ?
options.fadeDuration : 0.3;
var closingtag;
if($(this).is("form") ||
$(this).hasClass("validationEngineContainer")) {
closingtag =
"parentForm"+methods._getClassName($(this).attr("id"));
} else {
closingtag = methods._getClassName($(this).attr("id"))
+"formError";
}
$('.'+closingtag).fadeTo(fadeDuration, 0.3, function() {
$(this).parent('.formErrorOuter').remove();
$(this).remove();
});
return this;
},
/**
* Closes all error prompts on the page
*/
hideAll: function() {
var form = this;
var options = form.data('jqv');
var duration = options ? options.fadeDuration:300;
$('.formError').fadeTo(duration, 300, function() {
$(this).parent('.formErrorOuter').remove();
$(this).remove();
});
return this;
},
/**
* Typically called when user exists a field using tab or a mouse click,
triggers a field
* validation
*/
_onFieldEvent: function(event) {
var field = $(this);
var form = field.closest('form, .validationEngineContainer');
var options = form.data('jqv');
options.eventTrigger = "field";
// validate the current field
window.setTimeout(function() {
methods._validateField(field, options);
if (options.InvalidFields.length == 0 &&
options.onFieldSuccess) {
options.onFieldSuccess();
} else if (options.InvalidFields.length > 0 &&
options.onFieldFailure) {
options.onFieldFailure();
}
}, (event.data) ? event.data.delay : 0);
},
/**
* Called when the form is submited, shows prompts accordingly
*
* @param {jqObject}
* form
* @return false if form submission needs to be cancelled
*/
_onSubmitEvent: function() {
var form = $(this);
var options = form.data('jqv');
//check if it is trigger from skipped button
if (form.data("jqv_submitButton")){
var submitButton = $("#" +
form.data("jqv_submitButton"));
if (submitButton){
if (submitButton.length > 0){
if (submitButton.hasClass("validate-skip") ||
submitButton.attr("data-validation-engine-skip") ==
"true")
return true;
}
}
}
options.eventTrigger = "submit";
// validate each field
// (- skip field ajax validation, not necessary IF we will perform an
ajax form validation)
var r=methods._validateFields(form);
if (r && options.ajaxFormValidation) {
methods._validateFormWithAjax(form, options);
// cancel form auto-submission - process with async call
onAjaxFormComplete
return false;
}
if(options.onValidationComplete) {
// !! ensures that an undefined return is interpreted as return false
but allows a onValidationComplete() to possibly return true and have form
continue processing
return !!options.onValidationComplete(form, r);
}
return r;
},
/**
* Return true if the ajax field validations passed so far
* @param {Object} options
* @return true, is all ajax validation passed so far (remember ajax is
async)
*/
_checkAjaxStatus: function(options) {
var status = true;
$.each(options.ajaxValidCache, function(key, value) {
if (!value) {
status = false;
// break the each
return false;
}
});
return status;
},
/**
* Return true if the ajax field is validated
* @param {String} fieldid
* @param {Object} options
* @return true, if validation passed, false if false or doesn't
exist
*/
_checkAjaxFieldStatus: function(fieldid, options) {
return options.ajaxValidCache[fieldid] == true;
},
/**
* Validates form fields, shows prompts accordingly
*
* @param {jqObject}
* form
* @param {skipAjaxFieldValidation}
* boolean - when set to true, ajax field validation is
skipped, typically used when the submit button is clicked
*
* @return true if form is valid, false if not, undefined if ajax form
validation is done
*/
_validateFields: function(form) {
var options = form.data('jqv');
// this variable is set to true if an error is found
var errorFound = false;
// Trigger hook, start validation
form.trigger("jqv.form.validating");
// first, evaluate status of non ajax fields
var first_err=null;
form.find('['+options.validateAttribute+'*=validate]').not(":disabled").each(
function() {
var field = $(this);
var names = [];
if ($.inArray(field.attr('name'), names) < 0) {
errorFound |= methods._validateField(field, options);
if (errorFound && first_err==null)
if (field.is(":hidden") && options.prettySelect)
first_err = field = form.find("#" + options.usePrefix +
methods._jqSelector(field.attr('id')) + options.useSuffix);
else {
//Check if we need to adjust what element to show the prompt on
//and and such scroll to instead
if(field.data('jqv-prompt-at') instanceof jQuery ){
field = field.data('jqv-prompt-at');
} else if(field.data('jqv-prompt-at')) {
field = $(field.data('jqv-prompt-at'));
}
first_err=field;
}
if (options.doNotShowAllErrosOnSubmit)
return false;
names.push(field.attr('name'));
//if option set, stop checking validation rules after one error is
found
if(options.showOneMessage == true && errorFound){
return false;
}
}
});
// second, check to see if all ajax calls completed ok
// errorFound |= !methods._checkAjaxStatus(options);
// third, check status and scroll the container accordingly
form.trigger("jqv.form.result", [errorFound]);
if (errorFound) {
if (options.scroll) {
var destination=first_err.offset().top;
var fixleft = first_err.offset().left;
//prompt positioning adjustment support. Usage:
positionType:Xshift,Yshift (for ex.: bottomLeft:+20 or bottomLeft:-20,+10)
var positionType=options.promptPosition;
if (typeof(positionType)=='string' &&
positionType.indexOf(":")!=-1)
positionType=positionType.substring(0,positionType.indexOf(":"));
if (positionType!="bottomRight" &&
positionType!="bottomLeft") {
var prompt_err= methods._getPrompt(first_err);
if (prompt_err) {
destination=prompt_err.offset().top;
}
}
// Offset the amount the page scrolls by an amount in px to accomodate
fixed elements at top of page
if (options.scrollOffset) {
destination -= options.scrollOffset;
}
// get the position of the first error, there should be at least one,
no need to check this
//var destination =
form.find(".formError:not('.greenPopup'):first").offset().top;
if (options.isOverflown) {
var overflowDIV = $(options.overflownDIV);
if(!overflowDIV.length) return false;
var scrollContainerScroll = overflowDIV.scrollTop();
var scrollContainerPos = -parseInt(overflowDIV.offset().top);
destination += scrollContainerScroll + scrollContainerPos - 5;
var scrollContainer = $(options.overflownDIV +
":not(:animated)");
scrollContainer.animate({ scrollTop: destination }, 1100,
function(){
if(options.focusFirstField) first_err.focus();
});
} else {
$("html, body").animate({
scrollTop: destination
}, 1100, function(){
if(options.focusFirstField) first_err.focus();
});
$("html, body").animate({scrollLeft: fixleft},1100)
}
} else if(options.focusFirstField)
first_err.focus();
return false;
}
return true;
},
/**
* This method is called to perform an ajax form validation.
* During this process all the (field, value) pairs are sent to the server
which returns a list of invalid fields or true
*
* @param {jqObject} form
* @param {Map} options
*/
_validateFormWithAjax: function(form, options) {
var data = form.serialize();
var type = (options.ajaxFormValidationMethod) ?
options.ajaxFormValidationMethod : "GET";
var url = (options.ajaxFormValidationURL) ?
options.ajaxFormValidationURL : form.attr("action");
var dataType = (options.dataType) ? options.dataType :
"json";
$.ajax({
type: type,
url: url,
cache: false,
dataType: dataType,
data: data,
form: form,
methods: methods,
options: options,
beforeSend: function() {
return options.onBeforeAjaxFormValidation(form, options);
},
error: function(data, transport) {
methods._ajaxError(data, transport);
},
success: function(json) {
if ((dataType == "json") && (json !== true)) {
// getting to this case doesn't necessary means that the form is
invalid
// the server may return green or closing prompt actions
// this flag helps figuring it out
var errorInForm=false;
for (var i = 0; i < json.length; i++) {
var value = json[i];
var errorFieldId = value[0];
var errorField = $($("#" + errorFieldId)[0]);
// make sure we found the element
if (errorField.length == 1) {
// promptText or selector
var msg = value[2];
// if the field is valid
if (value[1] == true) {
if (msg == "" || !msg){
// if for some reason, status==true and error="", just
close the prompt
methods._closePrompt(errorField);
} else {
// the field is valid, but we are displaying a green prompt
if (options.allrules[msg]) {
var txt = options.allrules[msg].alertTextOk;
if (txt)
msg = txt;
}
if (options.showPrompts) methods._showPrompt(errorField, msg,
"pass", false, options, true);
}
} else {
// the field is invalid, show the red error prompt
errorInForm|=true;
if (options.allrules[msg]) {
var txt = options.allrules[msg].alertText;
if (txt)
msg = txt;
}
if(options.showPrompts) methods._showPrompt(errorField, msg,
"", false, options, true);
}
}
}
options.onAjaxFormComplete(!errorInForm, form, json, options);
} else
options.onAjaxFormComplete(true, form, json, options);
}
});
},
/**
* Validates field, shows prompts accordingly
*
* @param {jqObject}
* field
* @param {Array[String]}
* field's validation rules
* @param {Map}
* user options
* @return false if field is valid (It is inversed for *fields*, it return
false on validate and true on errors.)
*/
_validateField: function(field, options, skipAjaxValidation) {
if (!field.attr("id")) {
field.attr("id", "form-validation-field-" +
$.validationEngine.fieldIdCounter);
++$.validationEngine.fieldIdCounter;
}
if (!options.validateNonVisibleFields &&
(field.is(":hidden") && !options.prettySelect ||
field.parent().is(":hidden")))
return false;
var rulesParsing = field.attr(options.validateAttribute);
var getRules = /validate\[(.*)\]/.exec(rulesParsing);
if (!getRules)
return false;
var str = getRules[1];
var rules = str.split(/\[|,|\]/);
// true if we ran the ajax validation, tells the logic to stop messing
with prompts
var isAjaxValidator = false;
var fieldName = field.attr("name");
var promptText = "";
var promptType = "";
var required = false;
var limitErrors = false;
options.isError = false;
options.showArrow = true;
// If the programmer wants to limit the amount of error messages per
field,
if (options.maxErrorsPerField > 0) {
limitErrors = true;
}
var form = $(field.closest("form,
.validationEngineContainer"));
// Fix for adding spaces in the rules
for (var i = 0; i < rules.length; i++) {
rules[i] = rules[i].replace(" ", "");
// Remove any parsing errors
if (rules[i] === '') {
delete rules[i];
}
}
for (var i = 0, field_errors = 0; i < rules.length; i++) {
// If we are limiting errors, and have hit the max, break
if (limitErrors && field_errors >=
options.maxErrorsPerField) {
// If we haven't hit a required yet, check to see if there is one
in the validation rules for this
// field and that it's index is greater or equal to our current
index
if (!required) {
var have_required = $.inArray('required', rules);
required = (have_required != -1 && have_required >= i);
}
break;
}
var errorMsg = undefined;
switch (rules[i]) {
case "required":
required = true;
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._required);
break;
case "custom":
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._custom);
break;
case "groupRequired":
// Check is its the first of group, if not, reload validation with
first field
// AND continue normal validation on present field
var classGroup =
"["+options.validateAttribute+"*=" +rules[i + 1]
+"]";
var firstOfGroup = form.find(classGroup).eq(0);
if(firstOfGroup[0] != field[0]){
methods._validateField(firstOfGroup, options, skipAjaxValidation);
options.showArrow = true;
}
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._groupRequired);
if(errorMsg) required = true;
options.showArrow = false;
break;
case "ajax":
// AJAX defaults to returning it's loading message
errorMsg = methods._ajax(field, rules, i, options);
if (errorMsg) {
promptType = "load";
}
break;
case "minSize":
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._minSize);
break;
case "maxSize":
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._maxSize);
break;
case "min":
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._min);
break;
case "max":
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._max);
break;
case "past":
errorMsg = methods._getErrorMessage(form, field,rules[i], rules, i,
options, methods._past);
break;
case "future":
errorMsg = methods._getErrorMessage(form, field,rules[i], rules, i,
options, methods._future);
break;
case "dateRange":
var classGroup =
"["+options.validateAttribute+"*=" + rules[i + 1] +
"]";
options.firstOfGroup = form.find(classGroup).eq(0);
options.secondOfGroup = form.find(classGroup).eq(1);
//if one entry out of the pair has value then proceed to run through
validation
if (options.firstOfGroup[0].value || options.secondOfGroup[0].value)
{
errorMsg = methods._getErrorMessage(form, field,rules[i], rules, i,
options, methods._dateRange);
}
if (errorMsg) required = true;
options.showArrow = false;
break;
case "dateTimeRange":
var classGroup =
"["+options.validateAttribute+"*=" + rules[i + 1] +
"]";
options.firstOfGroup = form.find(classGroup).eq(0);
options.secondOfGroup = form.find(classGroup).eq(1);
//if one entry out of the pair has value then proceed to run through
validation
if (options.firstOfGroup[0].value || options.secondOfGroup[0].value)
{
errorMsg = methods._getErrorMessage(form, field,rules[i], rules, i,
options, methods._dateTimeRange);
}
if (errorMsg) required = true;
options.showArrow = false;
break;
case "maxCheckbox":
field = $(form.find("input[name='" + fieldName +
"']"));
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._maxCheckbox);
break;
case "minCheckbox":
field = $(form.find("input[name='" + fieldName +
"']"));
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._minCheckbox);
break;
case "equals":
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._equals);
break;
case "funcCall":
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._funcCall);
break;
case "creditCard":
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._creditCard);
break;
case "condRequired":
errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i,
options, methods._condRequired);
if (errorMsg !== undefined) {
required = true;
}
break;
default:
}
var end_validation = false;
// If we were passed back an message object, check what the status was
to determine what to do
if (typeof errorMsg == "object") {
switch (errorMsg.status) {
case "_break":
end_validation = true;
break;
// If we have an error message, set errorMsg to the error message
case "_error":
errorMsg = errorMsg.message;
break;
// If we want to throw an error, but not show a prompt, return early
with true
case "_error_no_prompt":
return true;
break;
// Anything else we continue on
default:
break;
}
}
// If it has been specified that validation should end now, break
if (end_validation) {
break;
}
// If we have a string, that means that we have an error, so add it to
the error message.
if (typeof errorMsg == 'string') {
promptText += errorMsg + "<br/>";
options.isError = true;
field_errors++;
}
}
// If the rules required is not added, an empty field is not validated
if(!required && !(field.val()) && field.val().length
< 1) options.isError = false;
// Hack for radio/checkbox group button, the validation go into the
// first radio/checkbox of the group
var fieldType = field.prop("type");
var positionType=field.data("promptPosition") ||
options.promptPosition;
if ((fieldType == "radio" || fieldType ==
"checkbox") && form.find("input[name='" +
fieldName + "']").size() > 1) {
if(positionType === 'inline') {
field = $(form.find("input[name='" + fieldName +
"'][type!=hidden]:last"));
} else {
field = $(form.find("input[name='" + fieldName +
"'][type!=hidden]:first"));
}
options.showArrow = false;
}
if(field.is(":hidden") && options.prettySelect) {
field = form.find("#" + options.usePrefix +
methods._jqSelector(field.attr('id')) + options.useSuffix);
}
if (options.isError && options.showPrompts){
methods._showPrompt(field, promptText, promptType, false, options);
}else{
if (!isAjaxValidator) methods._closePrompt(field);
}
if (!isAjaxValidator) {
field.trigger("jqv.field.result", [field, options.isError,
promptText]);
}
/* Record error */
var errindex = $.inArray(field[0], options.InvalidFields);
if (errindex == -1) {
if (options.isError)
options.InvalidFields.push(field[0]);
} else if (!options.isError) {
options.InvalidFields.splice(errindex, 1);
}
methods._handleStatusCssClasses(field, options);
/* run callback function for each field */
if (options.isError && options.onFieldFailure)
options.onFieldFailure(field);
if (!options.isError && options.onFieldSuccess)
options.onFieldSuccess(field);
return options.isError;
},
/**
* Handling css classes of fields indicating result of validation
*
* @param {jqObject}
* field
* @param {Array[String]}
* field's validation rules
* @private
*/
_handleStatusCssClasses: function(field, options) {
/* remove all classes */
if(options.addSuccessCssClassToField)
field.removeClass(options.addSuccessCssClassToField);
if(options.addFailureCssClassToField)
field.removeClass(options.addFailureCssClassToField);
/* Add classes */
if (options.addSuccessCssClassToField && !options.isError)
field.addClass(options.addSuccessCssClassToField);
if (options.addFailureCssClassToField && options.isError)
field.addClass(options.addFailureCssClassToField);
},
/********************
* _getErrorMessage
*
* @param form
* @param field
* @param rule
* @param rules
* @param i
* @param options
* @param originalValidationMethod
* @return {*}
* @private
*/
_getErrorMessage:function (form, field, rule, rules, i, options,
originalValidationMethod) {
// If we are using the custon validation type, build the index for the
rule.
// Otherwise if we are doing a function call, make the call and return
the object
// that is passed back.
var rule_index = jQuery.inArray(rule, rules);
if (rule === "custom" || rule === "funcCall") {
var custom_validation_type = rules[rule_index + 1];
rule = rule + "[" + custom_validation_type + "]";
// Delete the rule from the rules array so that it doesn't try to
call the
// same rule over again
delete(rules[rule_index]);
}
// Change the rule to the composite rule, if it was different from the
original
var alteredRule = rule;
var element_classes = (field.attr("data-validation-engine"))
? field.attr("data-validation-engine") :
field.attr("class");
var element_classes_array = element_classes.split(" ");
// Call the original validation method. If we are dealing with dates or
checkboxes, also pass the form
var errorMsg;
if (rule == "future" || rule == "past" || rule ==
"maxCheckbox" || rule == "minCheckbox") {
errorMsg = originalValidationMethod(form, field, rules, i, options);
} else {
errorMsg = originalValidationMethod(field, rules, i, options);
}
// If the original validation method returned an error and we have a
custom error message,
// return the custom message instead. Otherwise return the original
error message.
if (errorMsg != undefined) {
var custom_message = methods._getCustomErrorMessage($(field),
element_classes_array, alteredRule, options);
if (custom_message) errorMsg = custom_message;
}
return errorMsg;
},
_getCustomErrorMessage:function (field, classes, rule, options) {
var custom_message = false;
var validityProp = /^custom\[.*\]$/.test(rule) ?
methods._validityProp["custom"] : methods._validityProp[rule];
// If there is a validityProp for this rule, check to see if the field
has an attribute for it
if (validityProp != undefined) {
custom_message =
field.attr("data-errormessage-"+validityProp);
// If there was an error message for it, return the message
if (custom_message != undefined)
return custom_message;
}
custom_message = field.attr("data-errormessage");
// If there is an inline custom error message, return it
if (custom_message != undefined)
return custom_message;
var id = '#' + field.attr("id");
// If we have custom messages for the element's id, get the message
for the rule from the id.
// Otherwise, if we have custom messages for the element's classes,
use the first class message we find instead.
if (typeof options.custom_error_messages[id] != "undefined"
&&
typeof options.custom_error_messages[id][rule] != "undefined"
) {
custom_message =
options.custom_error_messages[id][rule]['message'];
} else if (classes.length > 0) {
for (var i = 0; i < classes.length && classes.length > 0;
i++) {
var element_class = "." + classes[i];
if (typeof options.custom_error_messages[element_class] !=
"undefined" &&
typeof options.custom_error_messages[element_class][rule] !=
"undefined") {
custom_message =
options.custom_error_messages[element_class][rule]['message'];
break;
}
}
}
if (!custom_message &&
typeof options.custom_error_messages[rule] != "undefined"
&&
typeof options.custom_error_messages[rule]['message'] !=
"undefined"){
custom_message =
options.custom_error_messages[rule]['message'];
}
return custom_message;
},
_validityProp: {
"required": "value-missing",
"custom": "custom-error",
"groupRequired": "value-missing",
"ajax": "custom-error",
"minSize": "range-underflow",
"maxSize": "range-overflow",
"min": "range-underflow",
"max": "range-overflow",
"past": "type-mismatch",
"future": "type-mismatch",
"dateRange": "type-mismatch",
"dateTimeRange": "type-mismatch",
"maxCheckbox": "range-overflow",
"minCheckbox": "range-underflow",
"equals": "pattern-mismatch",
"funcCall": "custom-error",
"creditCard": "pattern-mismatch",
"condRequired": "value-missing"
},
/**
* Required validation
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @param {bool} condRequired flag when method is used for internal
purpose in condRequired check
* @return an error string if validation failed
*/
_required: function(field, rules, i, options, condRequired) {
switch (field.prop("type")) {
case "text":
case "password":
case "textarea":
case "file":
case "select-one":
case "select-multiple":
default:
var field_val = $.trim( field.val()
);
var dv_placeholder = $.trim(
field.attr("data-validation-placeholder") );
var placeholder = $.trim( field.attr("placeholder")
);
if (
( !field_val )
|| ( dv_placeholder && field_val == dv_placeholder )
|| ( placeholder && field_val == placeholder )
) {
return options.allrules[rules[i]].alertText;
}
break;
case "radio":
case "checkbox":
// new validation style to only check dependent field
if (condRequired) {
if (!field.attr('checked')) {
return options.allrules[rules[i]].alertTextCheckboxMultiple;
}
break;
}
// old validation style
var form = field.closest("form,
.validationEngineContainer");
var name = field.attr("name");
if (form.find("input[name='" + name +
"']:checked").size() == 0) {
if (form.find("input[name='" + name +
"']:visible").size() == 1)
return options.allrules[rules[i]].alertTextCheckboxe;
else
return options.allrules[rules[i]].alertTextCheckboxMultiple;
}
break;
}
},
/**
* Validate that 1 from the group field is required
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_groupRequired: function(field, rules, i, options) {
var classGroup = "["+options.validateAttribute+"*="
+rules[i + 1] +"]";
var isValid = false;
// Check all fields from the group
field.closest("form,
.validationEngineContainer").find(classGroup).each(function(){
if(!methods._required($(this), rules, i, options)){
isValid = true;
return false;
}
});
if(!isValid) {
return options.allrules[rules[i]].alertText;
}
},
/**
* Validate rules
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_custom: function(field, rules, i, options) {
var customRule = rules[i + 1];
var rule = options.allrules[customRule];
var fn;
if(!rule) {
alert("jqv:custom rule not found - "+customRule);
return;
}
if(rule["regex"]) {
var ex=rule.regex;
if(!ex) {
alert("jqv:custom regex not found - "+customRule);
return;
}
var pattern = new RegExp(ex);
if (!pattern.test(field.val())) return
options.allrules[customRule].alertText;
} else if(rule["func"]) {
fn = rule["func"];
if (typeof(fn) !== "function") {
alert("jqv:custom parameter 'function' is no function -
"+customRule);
return;
}
if (!fn(field, rules, i, options))
return options.allrules[customRule].alertText;
} else {
alert("jqv:custom type not allowed "+customRule);
return;
}
},
/**
* Validate custom function outside of the engine scope
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_funcCall: function(field, rules, i, options) {
var functionName = rules[i + 1];
var fn;
if(functionName.indexOf('.') >-1)
{
var namespaces = functionName.split('.');
var scope = window;
while(namespaces.length)
{
scope = scope[namespaces.shift()];
}
fn = scope;
}
else
fn = window[functionName] || options.customFunctions[functionName];
if (typeof(fn) == 'function')
return fn(field, rules, i, options);
},
/**
* Field match
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_equals: function(field, rules, i, options) {
var equalsField = rules[i + 1];
if (field.val() != $("#" + equalsField).val())
return options.allrules.equals.alertText;
},
/**
* Check the maximum size (in characters)
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_maxSize: function(field, rules, i, options) {
var max = rules[i + 1];
var len = field.val().length;
if (len > max) {
var rule = options.allrules.maxSize;
return rule.alertText + max + rule.alertText2;
}
},
/**
* Check the minimum size (in characters)
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_minSize: function(field, rules, i, options) {
var min = rules[i + 1];
var len = field.val().length;
if (len < min) {
var rule = options.allrules.minSize;
return rule.alertText + min + rule.alertText2;
}
},
/**
* Check number minimum value
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_min: function(field, rules, i, options) {
var min = parseFloat(rules[i + 1]);
var len = parseFloat(field.val());
if (len < min) {
var rule = options.allrules.min;
if (rule.alertText2) return rule.alertText + min + rule.alertText2;
return rule.alertText + min;
}
},
/**
* Check number maximum value
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_max: function(field, rules, i, options) {
var max = parseFloat(rules[i + 1]);
var len = parseFloat(field.val());
if (len >max ) {
var rule = options.allrules.max;
if (rule.alertText2) return rule.alertText + max + rule.alertText2;
//orefalo: to review, also do the translations
return rule.alertText + max;
}
},
/**
* Checks date is in the past
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_past: function(form, field, rules, i, options) {
var p=rules[i + 1];
var fieldAlt = $(form.find("input[name='" +
p.replace(/^#+/, '') + "']"));
var pdate;
if (p.toLowerCase() == "now") {
pdate = new Date();
} else if (undefined != fieldAlt.val()) {
if (fieldAlt.is(":disabled"))
return;
pdate = methods._parseDate(fieldAlt.val());
} else {
pdate = methods._parseDate(p);
}
var vdate = methods._parseDate(field.val());
if (vdate > pdate ) {
var rule = options.allrules.past;
if (rule.alertText2) return rule.alertText +
methods._dateToString(pdate) + rule.alertText2;
return rule.alertText + methods._dateToString(pdate);
}
},
/**
* Checks date is in the future
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_future: function(form, field, rules, i, options) {
var p=rules[i + 1];
var fieldAlt = $(form.find("input[name='" +
p.replace(/^#+/, '') + "']"));
var pdate;
if (p.toLowerCase() == "now") {
pdate = new Date();
} else if (undefined != fieldAlt.val()) {
if (fieldAlt.is(":disabled"))
return;
pdate = methods._parseDate(fieldAlt.val());
} else {
pdate = methods._parseDate(p);
}
var vdate = methods._parseDate(field.val());
if (vdate < pdate ) {
var rule = options.allrules.future;
if (rule.alertText2)
return rule.alertText + methods._dateToString(pdate) +
rule.alertText2;
return rule.alertText + methods._dateToString(pdate);
}
},
/**
* Checks if valid date
*
* @param {string} date string
* @return a bool based on determination of valid date
*/
_isDate: function (value) {
var dateRegEx = new
RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/);
return dateRegEx.test(value);
},
/**
* Checks if valid date time
*
* @param {string} date string
* @return a bool based on determination of valid date time
*/
_isDateTime: function (value){
var dateTimeRegEx = new
RegExp(/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/);
return dateTimeRegEx.test(value);
},
//Checks if the start date is before the end date
//returns true if end is later than start
_dateCompare: function (start, end) {
return (new Date(start.toString()) < new Date(end.toString()));
},
/**
* Checks date range
*
* @param {jqObject} first field name
* @param {jqObject} second field name
* @return an error string if validation failed
*/
_dateRange: function (field, rules, i, options) {
//are not both populated
if ((!options.firstOfGroup[0].value &&
options.secondOfGroup[0].value) || (options.firstOfGroup[0].value
&& !options.secondOfGroup[0].value)) {
return options.allrules[rules[i]].alertText +
options.allrules[rules[i]].alertText2;
}
//are not both dates
if (!methods._isDate(options.firstOfGroup[0].value) ||
!methods._isDate(options.secondOfGroup[0].value)) {
return options.allrules[rules[i]].alertText +
options.allrules[rules[i]].alertText2;
}
//are both dates but range is off
if (!methods._dateCompare(options.firstOfGroup[0].value,
options.secondOfGroup[0].value)) {
return options.allrules[rules[i]].alertText +
options.allrules[rules[i]].alertText2;
}
},
/**
* Checks date time range
*
* @param {jqObject} first field name
* @param {jqObject} second field name
* @return an error string if validation failed
*/
_dateTimeRange: function (field, rules, i, options) {
//are not both populated
if ((!options.firstOfGroup[0].value &&
options.secondOfGroup[0].value) || (options.firstOfGroup[0].value
&& !options.secondOfGroup[0].value)) {
return options.allrules[rules[i]].alertText +
options.allrules[rules[i]].alertText2;
}
//are not both dates
if (!methods._isDateTime(options.firstOfGroup[0].value) ||
!methods._isDateTime(options.secondOfGroup[0].value)) {
return options.allrules[rules[i]].alertText +
options.allrules[rules[i]].alertText2;
}
//are both dates but range is off
if (!methods._dateCompare(options.firstOfGroup[0].value,
options.secondOfGroup[0].value)) {
return options.allrules[rules[i]].alertText +
options.allrules[rules[i]].alertText2;
}
},
/**
* Max number of checkbox selected
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_maxCheckbox: function(form, field, rules, i, options) {
var nbCheck = rules[i + 1];
var groupname = field.attr("name");
var groupSize = form.find("input[name='" + groupname +
"']:checked").size();
if (groupSize > nbCheck) {
options.showArrow = false;
if (options.allrules.maxCheckbox.alertText2)
return options.allrules.maxCheckbox.alertText + " " +
nbCheck + " " + options.allrules.maxCheckbox.alertText2;
return options.allrules.maxCheckbox.alertText;
}
},
/**
* Min number of checkbox selected
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_minCheckbox: function(form, field, rules, i, options) {
var nbCheck = rules[i + 1];
var groupname = field.attr("name");
var groupSize = form.find("input[name='" + groupname +
"']:checked").size();
if (groupSize < nbCheck) {
options.showArrow = false;
return options.allrules.minCheckbox.alertText + " " + nbCheck
+ " " + options.allrules.minCheckbox.alertText2;
}
},
/**
* Checks that it is a valid credit card number according to the
* Luhn checksum algorithm.
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_creditCard: function(field, rules, i, options) {
//spaces and dashes may be valid characters, but must be stripped to
calculate the checksum.
var valid = false, cardNumber = field.val().replace(/ +/g,
'').replace(/-+/g, '');
var numDigits = cardNumber.length;
if (numDigits >= 14 && numDigits <= 16 &&
parseInt(cardNumber) > 0) {
var sum = 0, i = numDigits - 1, pos = 1, digit, luhn = new String();
do {
digit = parseInt(cardNumber.charAt(i));
luhn += (pos++ % 2 == 0) ? digit * 2 : digit;
} while (--i >= 0)
for (i = 0; i < luhn.length; i++) {
sum += parseInt(luhn.charAt(i));
}
valid = sum % 10 == 0;
}
if (!valid) return options.allrules.creditCard.alertText;
},
/**
* Ajax field validation
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return nothing! the ajax validator handles the prompts itself
*/
_ajax: function(field, rules, i, options) {
var errorSelector = rules[i + 1];
var rule = options.allrules[errorSelector];
var extraData = rule.extraData;
var extraDataDynamic = rule.extraDataDynamic;
var data = {
"fieldId" : field.attr("id"),
"fieldValue" : field.val()
};
if (typeof extraData === "object") {
$.extend(data, extraData);
} else if (typeof extraData === "string") {
var tempData = extraData.split("&");
for(var i = 0; i < tempData.length; i++) {
var values = tempData[i].split("=");
if (values[0] && values[0]) {
data[values[0]] = values[1];
}
}
}
if (extraDataDynamic) {
var tmpData = [];
var domIds = String(extraDataDynamic).split(",");
for (var i = 0; i < domIds.length; i++) {
var id = domIds[i];
if ($(id).length) {
var inputValue = field.closest("form,
.validationEngineContainer").find(id).val();
var keyValue = id.replace('#', '') +
'=' + escape(inputValue);
data[id.replace('#', '')] = inputValue;
}
}
}
// If a field change event triggered this we want to clear the cache
for this ID
if (options.eventTrigger == "field") {
delete(options.ajaxValidCache[field.attr("id")]);
}
if (options.eventTrigger == 'submit')
{
options.isError =
!options.ajaxValidCache[field.attr("id")];
}
// If there is an error or if the the field is already validated, do
not re-execute AJAX
if (!options.isError &&
!methods._checkAjaxFieldStatus(field.attr("id"), options)) {
$.ajax({
type: options.ajaxFormValidationMethod,
url: rule.url,
cache: false,
dataType: "json",
data: data,
field: field,
rule: rule,
methods: methods,
options: options,
beforeSend: function() {},
error: function(data, transport) {
methods._ajaxError(data, transport);
},
success: function(json) {
// asynchronously called on success, data is the json answer from
the server
var errorFieldId = json[0];
//var errorField = $($("#" + errorFieldId)[0]);
var errorField = $("#"+ errorFieldId).eq(0);
// make sure we found the element
if (errorField.length == 1) {
var status = json[1];
// read the optional msg from the server
var msg = json[2];
if (!status) {
// Houston we got a problem - display an red prompt
options.ajaxValidCache[errorFieldId] = false;
options.isError = true;
// resolve the msg prompt
if(msg) {
if (options.allrules[msg]) {
var txt = options.allrules[msg].alertText;
if (txt) {
msg = txt;
}
}
}
else
msg = rule.alertText;
if (options.showPrompts) methods._showPrompt(errorField, msg,
"", true, options);
} else {
options.ajaxValidCache[errorFieldId] = true;
// resolves the msg prompt
if(msg) {
if (options.allrules[msg]) {
var txt = options.allrules[msg].alertTextOk;
if (txt) {
msg = txt;
}
}
}
else
msg = rule.alertTextOk;
if (options.showPrompts) {
// see if we should display a green prompt
if (msg)
methods._showPrompt(errorField, msg, "pass", true,
options);
else
methods._closePrompt(errorField);
}
// If a submit form triggered this, we want to re-submit the form
///NO NO, I never want to re submit the form, so I will comment
this line
/*if (options.eventTrigger == "submit")
field.closest("form").submit();*/
}
}
errorField.trigger("jqv.field.result", [errorField,
options.isError, msg]);
}
});
return rule.alertTextLoad;
}
},
/**
* Common method to handle ajax errors
*
* @param {Object} data
* @param {Object} transport
*/
_ajaxError: function(data, transport) {
if(data.status == 0 && transport == null)
alert("The page is not served from a server! ajax call
failed");
else if(typeof console != "undefined")
console.log("Ajax error: " + data.status + " " +
transport);
},
/**
* date -> string
*
* @param {Object} date
*/
_dateToString: function(date) {
return
date.getFullYear()+"-"+(date.getMonth()+1)+"-"+date.getDate();
},
/**
* Parses an ISO date
* @param {String} d
*/
_parseDate: function(d) {
var dateParts = d.split("-");
if(dateParts==d)
dateParts = d.split("/");
if(dateParts==d) {
dateParts = d.split(".");
return new Date(dateParts[2], (dateParts[1] - 1), dateParts[0]);
}
return new Date(dateParts[0], (dateParts[1] - 1) ,dateParts[2]);
},
/**
* Builds or updates a prompt with the given information
*
* @param {jqObject} field
* @param {String} promptText html text to display type
* @param {String} type the type of bubble: 'pass' (green),
'load' (black) anything else (red)
* @param {boolean} ajaxed - use to mark fields than being validated with
ajax
* @param {Map} options user options
*/
_showPrompt: function(field, promptText, type, ajaxed, options,
ajaxform) {
//Check if we need to adjust what element to show the prompt on
if(field.data('jqv-prompt-at') instanceof jQuery ){
field = field.data('jqv-prompt-at');
} else if(field.data('jqv-prompt-at')) {
field = $(field.data('jqv-prompt-at'));
}
var prompt = methods._getPrompt(field);
// The ajax submit errors are not see has an error in the form,
// When the form errors are returned, the engine see 2 bubbles, but
those are ebing closed by the engine at the same time
// Because no error was found befor submitting
if(ajaxform) prompt = false;
// Check that there is indded text
if($.trim(promptText)){
if (prompt)
methods._updatePrompt(field, prompt, promptText, type, ajaxed,
options);
else
methods._buildPrompt(field, promptText, type, ajaxed, options);
}
},
/**
* Builds and shades a prompt for the given field.
*
* @param {jqObject} field
* @param {String} promptText html text to display type
* @param {String} type the type of bubble: 'pass' (green),
'load' (black) anything else (red)
* @param {boolean} ajaxed - use to mark fields than being validated with
ajax
* @param {Map} options user options
*/
_buildPrompt: function(field, promptText, type, ajaxed, options) {
// create the prompt
var prompt = $('<div>');
prompt.addClass(methods._getClassName(field.attr("id")) +
"formError");
// add a class name to identify the parent form of the prompt
prompt.addClass("parentForm"+methods._getClassName(field.closest('form,
.validationEngineContainer').attr("id")));
prompt.addClass("formError");
switch (type) {
case "pass":
prompt.addClass("greenPopup");
break;
case "load":
prompt.addClass("blackPopup");
break;
default:
/* it has error */
//alert("unknown popup type:"+type);
}
if (ajaxed)
prompt.addClass("ajaxed");
// create the prompt content
var promptContent =
$('<div>').addClass("formErrorContent").html(promptText).appendTo(prompt);
// determine position type
var positionType=field.data("promptPosition") ||
options.promptPosition;
// create the css arrow pointing at the field
// note that there is no triangle on max-checkbox and radio
if (options.showArrow) {
var arrow =
$('<div>').addClass("formErrorArrow");
//prompt positioning adjustment support. Usage:
positionType:Xshift,Yshift (for ex.: bottomLeft:+20 or bottomLeft:-20,+10)
if (typeof(positionType)=='string')
{
var pos=positionType.indexOf(":");
if(pos!=-1)
positionType=positionType.substring(0,pos);
}
switch (positionType) {
case "bottomLeft":
case "bottomRight":
prompt.find(".formErrorContent").before(arrow);
arrow.addClass("formErrorArrowBottom").html('<div
class="line1"><!-- --></div><div
class="line2"><!-- --></div><div
class="line3"><!-- --></div><div
class="line4"><!-- --></div><div
class="line5"><!-- --></div><div
class="line6"><!-- --></div><div
class="line7"><!-- --></div><div
class="line8"><!-- --></div><div
class="line9"><!-- --></div><div
class="line10"><!-- --></div>');
break;
case "topLeft":
case "topRight":
arrow.html('<div class="line10"><!--
--></div><div class="line9"><!--
--></div><div class="line8"><!--
--></div><div class="line7"><!--
--></div><div class="line6"><!--
--></div><div class="line5"><!--
--></div><div class="line4"><!--
--></div><div class="line3"><!--
--></div><div class="line2"><!--
--></div><div class="line1"><!--
--></div>');
prompt.append(arrow);
break;
}
}
// Add custom prompt class
if (options.addPromptClass)
prompt.addClass(options.addPromptClass);
// Add custom prompt class defined in element
var requiredOverride =
field.attr('data-required-class');
if(requiredOverride !== undefined) {
prompt.addClass(requiredOverride);
} else {
if(options.prettySelect) {
if($('#' +
field.attr('id')).next().is('select')) {
var prettyOverrideClass = $('#' +
field.attr('id').substr(options.usePrefix.length).substring(options.useSuffix.length)).attr('data-required-class');
if(prettyOverrideClass !== undefined) {
prompt.addClass(prettyOverrideClass);
}
}
}
}
prompt.css({
"opacity": 0
});
if(positionType === 'inline') {
prompt.addClass("inline");
if(typeof field.attr('data-prompt-target') !==
'undefined' &&
$('#'+field.attr('data-prompt-target')).length > 0)
{
prompt.appendTo($('#'+field.attr('data-prompt-target')));
} else {
field.after(prompt);
}
} else {
field.before(prompt);
}
var pos = methods._calculatePosition(field, prompt, options);
prompt.css({
'position': positionType === 'inline' ?
'relative' : 'absolute',
"top": pos.callerTopPosition,
"left": pos.callerleftPosition,
"marginTop": pos.marginTopSize,
"opacity": 0
}).data("callerField", field);
if (options.autoHidePrompt) {
setTimeout(function(){
prompt.animate({
"opacity": 0
},function(){
prompt.closest('.formErrorOuter').remove();
prompt.remove();
});
}, options.autoHideDelay);
}
return prompt.animate({
"opacity": 0.87
});
},
/**
* Updates the prompt text field - the field for which the prompt
* @param {jqObject} field
* @param {String} promptText html text to display type
* @param {String} type the type of bubble: 'pass' (green),
'load' (black) anything else (red)
* @param {boolean} ajaxed - use to mark fields than being validated with
ajax
* @param {Map} options user options
*/
_updatePrompt: function(field, prompt, promptText, type, ajaxed, options,
noAnimation) {
if (prompt) {
if (typeof type !== "undefined") {
if (type == "pass")
prompt.addClass("greenPopup");
else
prompt.removeClass("greenPopup");
if (type == "load")
prompt.addClass("blackPopup");
else
prompt.removeClass("blackPopup");
}
if (ajaxed)
prompt.addClass("ajaxed");
else
prompt.removeClass("ajaxed");
prompt.find(".formErrorContent").html(promptText);
var pos = methods._calculatePosition(field, prompt, options);
var css = {"top": pos.callerTopPosition,
"left": pos.callerleftPosition,
"marginTop": pos.marginTopSize};
if (noAnimation)
prompt.css(css);
else
prompt.animate(css);
}
},
/**
* Closes the prompt associated with the given field
*
* @param {jqObject}
* field
*/
_closePrompt: function(field) {
var prompt = methods._getPrompt(field);
if (prompt)
prompt.fadeTo("fast", 0, function() {
prompt.parent('.formErrorOuter').remove();
prompt.remove();
});
},
closePrompt: function(field) {
return methods._closePrompt(field);
},
/**
* Returns the error prompt matching the field if any
*
* @param {jqObject}
* field
* @return undefined or the error prompt (jqObject)
*/
_getPrompt: function(field) {
var formId = $(field).closest('form,
.validationEngineContainer').attr('id');
var className = methods._getClassName(field.attr("id")) +
"formError";
var match = $("." + methods._escapeExpression(className) +
'.parentForm' + methods._getClassName(formId))[0];
if (match)
return $(match);
},
/**
* Returns the escapade classname
*
* @param {selector}
* className
*/
_escapeExpression: function (selector) {
return
selector.replace(/([#;&,\.\+\*\~':"\!\^$\[\]\(\)=>\|])/g,
"\\$1");
},
/**
* returns true if we are in a RTLed document
*
* @param {jqObject} field
*/
isRTL: function(field)
{
var $document = $(document);
var $body = $('body');
var rtl =
(field && field.hasClass('rtl')) ||
(field && (field.attr('dir') ||
'').toLowerCase()==='rtl') ||
$document.hasClass('rtl') ||
($document.attr('dir') ||
'').toLowerCase()==='rtl' ||
$body.hasClass('rtl') ||
($body.attr('dir') ||
'').toLowerCase()==='rtl';
return Boolean(rtl);
},
/**
* Calculates prompt position
*
* @param {jqObject}
* field
* @param {jqObject}
* the prompt
* @param {Map}
* options
* @return positions
*/
_calculatePosition: function (field, promptElmt, options) {
var promptTopPosition, promptleftPosition, marginTopSize;
var fieldWidth = field.width();
var fieldLeft = field.position().left;
var fieldTop = field.position().top;
var fieldHeight = field.height();
var promptHeight = promptElmt.height();
// is the form contained in an overflown container?
promptTopPosition = promptleftPosition = 0;
// compensation for the arrow
marginTopSize = -promptHeight;
//prompt positioning adjustment support
//now you can adjust prompt position
//usage: positionType:Xshift,Yshift
//for example:
// bottomLeft:+20 means bottomLeft position shifted by 20 pixels right
horizontally
// topRight:20, -15 means topRight position shifted by 20 pixels to
right and 15 pixels to top
//You can use +pixels, - pixels. If no sign is provided than + is
default.
var positionType=field.data("promptPosition") ||
options.promptPosition;
var shift1="";
var shift2="";
var shiftX=0;
var shiftY=0;
if (typeof(positionType)=='string') {
//do we have any position adjustments ?
if (positionType.indexOf(":")!=-1) {
shift1=positionType.substring(positionType.indexOf(":")+1);
positionType=positionType.substring(0,positionType.indexOf(":"));
//if any advanced positioning will be needed (percents or something
else) - parser should be added here
//for now we use simple parseInt()
//do we have second parameter?
if (shift1.indexOf(",") !=-1) {
shift2=shift1.substring(shift1.indexOf(",") +1);
shift1=shift1.substring(0,shift1.indexOf(","));
shiftY=parseInt(shift2);
if (isNaN(shiftY)) shiftY=0;
};
shiftX=parseInt(shift1);
if (isNaN(shift1)) shift1=0;
};
};
switch (positionType) {
default:
case "topRight":
promptleftPosition += fieldLeft + fieldWidth - 30;
promptTopPosition += fieldTop;
break;
case "topLeft":
promptTopPosition += fieldTop;
promptleftPosition += fieldLeft;
break;
case "centerRight":
promptTopPosition = fieldTop+4;
marginTopSize = 0;
promptleftPosition= fieldLeft + field.outerWidth(true)+5;
break;
case "centerLeft":
promptleftPosition = fieldLeft - (promptElmt.width() + 2);
promptTopPosition = fieldTop+4;
marginTopSize = 0;
break;
case "bottomLeft":
promptTopPosition = fieldTop + field.height() + 5;
marginTopSize = 0;
promptleftPosition = fieldLeft;
break;
case "bottomRight":
promptleftPosition = fieldLeft + fieldWidth - 30;
promptTopPosition = fieldTop + field.height() + 5;
marginTopSize = 0;
break;
case "inline":
promptleftPosition = 0;
promptTopPosition = 0;
marginTopSize = 0;
};
//apply adjusments if any
promptleftPosition += shiftX;
promptTopPosition += shiftY;
return {
"callerTopPosition": promptTopPosition + "px",
"callerleftPosition": promptleftPosition + "px",
"marginTopSize": marginTopSize + "px"
};
},
/**
* Saves the user options and variables in the form.data
*
* @param {jqObject}
* form - the form where the user option should be saved
* @param {Map}
* options - the user options
* @return the user options (extended from the defaults)
*/
_saveOptions: function(form, options) {
// is there a language localisation ?
if ($.validationEngineLanguage)
var allRules = $.validationEngineLanguage.allRules;
else
$.error("jQuery.validationEngine rules are not loaded, plz add
localization files to the page");
// --- Internals DO NOT TOUCH or OVERLOAD ---
// validation rules and i18
$.validationEngine.defaults.allrules = allRules;
var userOptions =
$.extend(true,{},$.validationEngine.defaults,options);
form.data('jqv', userOptions);
return userOptions;
},
/**
* Removes forbidden characters from class name
* @param {String} className
*/
_getClassName: function(className) {
if(className)
return className.replace(/:/g, "_").replace(/\./g,
"_");
},
/**
* Escape special character for jQuery selector
* http://totaldev.com/content/escaping-characters-get-valid-jquery-id
* @param {String} selector
*/
_jqSelector: function(str){
return
str.replace(/([;&,\.\+\*\~':"\!\^#$%@\[\]\(\)=>\|])/g,
'\\$1');
},
/**
* Conditionally required field
*
* @param {jqObject} field
* @param {Array[String]} rules
* @param {int} i rules index
* @param {Map}
* user options
* @return an error string if validation failed
*/
_condRequired: function(field, rules, i, options) {
var idx, dependingField;
for(idx = (i + 1); idx < rules.length; idx++) {
dependingField = jQuery("#" + rules[idx]).first();
/* Use _required for determining wether dependingField has a value.
* There is logic there for handling all field types, and default
value; so we won't replicate that here
* Indicate this special use by setting the last parameter to true so
we only validate the dependingField on chackboxes and radio buttons (#462)
*/
if (dependingField.length && methods._required(dependingField,
["required"], 0, options, true) == undefined) {
/* We now know any of the depending fields has a value,
* so we can validate this field as per normal required code
*/
return methods._required(field, ["required"], 0, options);
}
}
},
_submitButtonClick: function(event) {
var button = $(this);
var form = button.closest('form,
.validationEngineContainer');
form.data("jqv_submitButton",
button.attr("id"));
}
};
/**
* Plugin entry point.
* You may pass an action as a parameter or a list of options.
* if none, the init and attach methods are being called.
* Remember: if you pass options, the attached method is NOT called
automatically
*
* @param {String}
* method (optional) action
*/
$.fn.validationEngine = function(method) {
var form = $(this);
if(!form[0]) return form; // stop here if the form does not exist
if (typeof(method) == 'string' && method.charAt(0) !=
'_' && methods[method]) {
// make sure init is called once
if(method != "showPrompt" && method !=
"hide" && method != "hideAll")
methods.init.apply(form);
return methods[method].apply(form,
Array.prototype.slice.call(arguments, 1));
} else if (typeof method == 'object' || !method) {
// default constructor with or without arguments
methods.init.apply(form, arguments);
return methods.attach.apply(form);
} else {
$.error('Method ' + method + ' does not exist in
jQuery.validationEngine');
}
};
// LEAK GLOBAL OPTIONS
$.validationEngine= {fieldIdCounter: 0,defaults:{
// Name of the event triggering field validation
validationEventTrigger: "blur",
// Automatically scroll viewport to the first error
scroll: true,
// Focus on the first input
focusFirstField:true,
// Show prompts, set to false to disable prompts
showPrompts: true,
// Should we attempt to validate non-visible input fields contained
in the form? (Useful in cases of tabbed containers, e.g. jQuery-UI tabs)
validateNonVisibleFields: false,
// Opening box position, possible locations are: topLeft,
// topRight, bottomLeft, centerRight, bottomRight, inline
// inline gets inserted after the validated field or into an element
specified in data-prompt-target
promptPosition: "topRight",
bindMethod:"bind",
// internal, automatically set to true when it parse a _ajax rule
inlineAjax: false,
// if set to true, the form data is sent asynchronously via ajax to the
form.action url (get)
ajaxFormValidation: false,
// The url to send the submit ajax validation (default to action)
ajaxFormValidationURL: false,
// HTTP method used for ajax validation
ajaxFormValidationMethod: 'get',
// Ajax form validation callback method: boolean onComplete(form, status,
errors, options)
// retuns false if the form.submit event needs to be canceled.
onAjaxFormComplete: $.noop,
// called right before the ajax call, may return false to cancel
onBeforeAjaxFormValidation: $.noop,
// Stops form from submitting and execute function assiciated with it
onValidationComplete: false,
// Used when you have a form fields too close and the errors messages are
on top of other disturbing viewing messages
doNotShowAllErrosOnSubmit: false,
// Object where you store custom messages to override the default error
messages
custom_error_messages:{},
// true if you want to vind the input fields
binded: true,
// set to true, when the prompt arrow needs to be displayed
showArrow: true,
// did one of the validation fail ? kept global to stop further ajax
validations
isError: false,
// Limit how many displayed errors a field can have
maxErrorsPerField: false,
// Caches field validation status, typically only bad status are
created.
// the array is used during ajax form validation to detect issues early
and prevent an expensive submit
ajaxValidCache: {},
// Auto update prompt position after window resize
autoPositionUpdate: false,
InvalidFields: [],
onFieldSuccess: false,
onFieldFailure: false,
onSuccess: false,
onFailure: false,
validateAttribute: "class",
addSuccessCssClassToField: "",
addFailureCssClassToField: "",
// Auto-hide prompt
autoHidePrompt: false,
// Delay before auto-hide
autoHideDelay: 10000,
// Fade out duration while hiding the validations
fadeDuration: 0.3,
// Use Prettify select library
prettySelect: false,
// Add css class on prompt
addPromptClass : "",
// Custom ID uses prefix
usePrefix: "",
// Custom ID uses suffix
useSuffix: "",
// Only show one message per error prompt
showOneMessage: false
}};
$(function(){$.validationEngine.defaults.promptPosition =
methods.isRTL()?'topLeft':"topRight"});
});
assets/js/validate/js/languages/jquery.validationEngine-cz.js000064400000022305151171034530020405
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Tato položka je
povinná",
"alertTextCheckboxMultiple": "* Prosím
vyberte jednu možnost",
"alertTextCheckboxe": "* Tato položka
je povinná"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Pole se musí rovnat
test"
},
"minSize": {
"regex": "none",
"alertText": "* Minimálně ",
"alertText2": " znaky"
},
"maxSize": {
"regex": "none",
"alertText": "* Maximálně ",
"alertText2": " znaky"
},
"groupRequired": {
"regex": "none",
"alertText": "* Musíte zadat jedno z
nasledujících polí"
},
"min": {
"regex": "none",
"alertText": "* Minimální hodnota je
"
},
"max": {
"regex": "none",
"alertText": "* Maximální hodnota je
"
},
"past": {
"regex": "none",
"alertText": "* Datum před "
},
"future": {
"regex": "none",
"alertText": "* Datum po "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Počet vybraných
položek přesáhl limit"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Prosím vyberte ",
"alertText2": " volbu"
},
"equals": {
"regex": "none",
"alertText": "* Pole se
neshodují"
},
"creditCard": {
"regex": "none",
"alertText": "* Neplatné číslo
kreditní karty"
},
"CZphone": {
// telefoní číslo
"regex": /^([\+][0-9]{1,3}[
\.\-])([0-9]{3}[\-][0-9]{3}[\-][0-9]{3})$/,
"alertText": "* Neplatné telefoní
číslo, zadejte ve formátu +420 598-598-895"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Neplatné telefoní
číslo"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Neplatná emailová
adresa"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Zadejte pouze
čísla"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Neplatné číslo"
},
"CZdate": {
// datum ve formátu jak se používá v čr
"regex": /^(0[1-9]|[12][0-9]|3[01])[.
/.](0[1-9]|1[012])[. /.](19|20)\d{2}$/,
"alertText": "* Neplatné datum, datum
musí být ve formátu den.měsíc.rok (dd.mm.rrrr)"
},
"date": {
// Date in ISO format. Credit: bassistance
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Neplatné datum, datum
musí být ve formátu YYYY-MM-DD"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Neplatná
IP adresa"
},
//česká syntaxe pro rodné číslo
"rc": {
"regex":
/^\d{2}((0[1-9]|1[012])|(5[1-9]|6[012]))(0[1-9]|[12][0-9]|3[01])\/([0-9]{2,4})$/,
"alertText": "* Neplatné rodné
číslo, tvar musí být 895431/4567"
},
//poštovní směrovací číslo
"psc": {
"regex": /^\d{3}[ \.\-]\d{2}$/,
"alertText": "* Neplatné poštovní
směrovací číslo, tvar musí být 456 45"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Neplatný odkaz"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Pouze čísla"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Pouze písmena"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Pouze písmena a
číslice"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Uživatelské jméno je
již použito",
"alertTextLoad": "* Ověřování,
prosím čekejte"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Uživatelské jméno je
již použito",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Toto jméno je k
dispozici",
// speaks by itself
"alertTextLoad": "* Ověřování,
prosím čekejte"
},
"validate2fields": {
"alertText": "* Prosím napište
HELLO"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-da.js000064400000017667151171034530020374
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Dette felt kræves
udfyldt",
"alertTextCheckboxMultiple": "* Vælg
venligst en af mulighederne",
"alertTextCheckboxe": "* Dette felt er
krævet"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"minSize": {
"regex": "none",
"alertText": "* Minimum ",
"alertText2": " tegn tilladt"
},
"maxSize": {
"regex": "none",
"alertText": "* Maksimum ",
"alertText2": " tegn tilladt"
},
"groupRequired": {
"regex": "none",
"alertText": "* You must fill one of the
following fields"
},
"min": {
"regex": "none",
"alertText": "* Den mindste værdi er
"
},
"max": {
"regex": "none",
"alertText": "* Den maksimale værdi er
"
},
"past": {
"regex": "none",
"alertText": "* Datoen skal være før
"
},
"future": {
"regex": "none",
"alertText": "* Datoen skal være efter
"
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Antallet af valg
overskredet"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Vælg venligst ",
"alertText2": " muligheder"
},
"equals": {
"regex": "none",
"alertText": "* Felterne er ikke
ens"
},
"creditCard": {
"regex": "none",
"alertText": "* Ugyldigt
kreditkortnummer"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Ikke gyldig
telefonnummer"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Ikke gyldig
e-mail"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Ikke et korrekt
tal"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Ugyldig
decimaltal"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Ugyldig dato, skal være
i formatet ÅÅÅÅ-MM-DD"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Ugyldig IP
adresse"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Ugyldig URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Kun tal"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Kun bogstaver"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Ingen specialtegn
tilladt"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Denne bruger er allerede
taget",
"alertTextLoad": "* Kontrollere, vent
venligst"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Dette navn er allerede
taget",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Dette navn er
ledig",
// speaks by itself
"alertTextLoad": "* Kontrollere, vent
venligst"
},
"validate2fields": {
"alertText": "* Indsæt venligst
HELLO"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);assets/js/validate/js/languages/jquery.validationEngine-de.js000064400000017701151171034530020365
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Dieses Feld ist ein
Pflichtfeld",
"alertTextCheckboxMultiple": "* Bitte
wählen Sie eine Option",
"alertTextCheckboxe": "* Dieses Feld ist
ein Pflichtfeld"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"minSize": {
"regex": "none",
"alertText": "* Mindestens ",
"alertText2": " Zeichen benötigt"
},
"maxSize": {
"regex": "none",
"alertText": "* Maximal ",
"alertText2": " Zeichen erlaubt"
},
"groupRequired": {
"regex": "none",
"alertText": "* Sie müssen mindestens
eines dieser Felder ausfüllen"
},
"min": {
"regex": "none",
"alertText": "* Mindestwert ist "
},
"max": {
"regex": "none",
"alertText": "* Maximalwert ist "
},
"past": {
"regex": "none",
"alertText": "* Datum vor "
},
"future": {
"regex": "none",
"alertText": "* Datum nach "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Maximale Anzahl
Markierungen überschritten"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Bitte wählen Sie
",
"alertText2": " Optionen"
},
"equals": {
"regex": "none",
"alertText": "* Felder stimmen nicht
überein"
},
"creditCard": {
"regex": "none",
"alertText": "* Ungültige
Kreditkartennummer"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{1,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Ungültige
Telefonnummer"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Ungültige
E-Mail-Adresse"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Keine gültige
Ganzzahl"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Keine gültige
Fließkommazahl"
},
"date": {
// Date in ISO format. Credit: bassistance
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Ungültiges
Datumsformat, erwartet wird das Format JJJJ-MM-TT"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Ungültige
IP-Adresse"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Ungültige URL"
},
"onlyLetterSp": {
"regex": /^[a-zA-ZäüöÄÜÖßs\
\\\']+$/,
"alertText": "* Nur Buchstaben
erlaubt"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-ZäüöÄÜÖßs-]+$/,
"alertText": "* Keine Sonderzeichen erlaubt"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Dieser Benutzer ist
bereits vergeben",
"alertTextLoad": "* Überprüfe Angaben,
bitte warten"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Dieser Name ist bereits
vergeben",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Dieser Name ist
verfügbar",
// speaks by itself
"alertTextLoad": "* Überprüfe Angaben,
bitte warten"
},
"validate2fields": {
"alertText": "* Bitte HELLO
eingeben"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-en.js000064400000025410151171034530020373
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* This field is
required",
"alertTextCheckboxMultiple": "* Please
select an option",
"alertTextCheckboxe": "* This checkbox
is required",
"alertTextDateRange": "* Both date range
fields are required"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"dateRange": {
"regex": "none",
"alertText": "* Invalid ",
"alertText2": "Date Range"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* Invalid ",
"alertText2": "Date Time Range"
},
"minSize": {
"regex": "none",
"alertText": "* Minimum ",
"alertText2": " characters
required"
},
"maxSize": {
"regex": "none",
"alertText": "* Maximum ",
"alertText2": " characters
allowed"
},
"groupRequired": {
"regex": "none",
"alertText": "* You must fill one of the
following fields"
},
"min": {
"regex": "none",
"alertText": "* Minimum value is "
},
"max": {
"regex": "none",
"alertText": "* Maximum value is "
},
"past": {
"regex": "none",
"alertText": "* Date prior to "
},
"future": {
"regex": "none",
"alertText": "* Date past "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Maximum ",
"alertText2": " options allowed"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Please select ",
"alertText2": " options"
},
"equals": {
"regex": "none",
"alertText": "* Fields do not
match"
},
"creditCard": {
"regex": "none",
"alertText": "* Invalid credit card
number"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[\
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9\ \.\-\/]{3,20})((x|ext|extension)[\
]?[0-9]{1,4})?$/,
"alertText": "* Invalid phone
number"
},
"email": {
// HTML5 compatible email regex (
http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#
e-mail-state-%28type=email%29 )
"regex":
/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
"alertText": "* Invalid email
address"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Not a valid
integer"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Invalid floating decimal
number"
},
"date": {
// Check if date is valid by leap year
"func": function (field) {
var pattern = new
RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/);
var match = pattern.exec(field.val());
if (match == null)
return false;
var year = match[1];
var month = match[2]*1;
var day = match[3]*1;
var date = new Date(year, month - 1, day); // because months starts
from 0.
return (date.getFullYear() == year && date.getMonth() ==
(month - 1) && date.getDate() == day);
},
"alertText": "* Invalid date, must be in YYYY-MM-DD
format"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Invalid IP
address"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Invalid URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Numbers only"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Letters only"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* No special characters
allowed"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url":
"index.php?option=com_osmembership&task=validate_username",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* This user is already
taken",
},
"ajaxEmailCall": {
"url":
"index.php?option=com_osmembership&task=validate_email",
// you may want to pass extra data on the ajax call
"extraData": "email=eric",
"alertText": "* This email is already
taken",
},
"ajaxUserCallPhp": {
"url":
"index.php?option=com_osmembership&task=validate_username",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* This username is
available",
"alertText": "* This user is already
taken",
"alertTextLoad": "* Validating, please
wait"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* This name is already
taken",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* This name is
available",
// speaks by itself
"alertTextLoad": "* Validating, please
wait"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "* This name is already
taken",
// speaks by itself
"alertTextLoad": "* Validating, please
wait"
},
"validate2fields": {
"alertText": "* Please input
HELLO"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "* Invalid Date"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "* Invalid Date or Date
Format",
"alertText2": "Expected Format: ",
"alertText3": "mm/dd/yyyy hh:mm:ss AM|PM
or ",
"alertText4": "yyyy-mm-dd hh:mm:ss
AM|PM"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-es.js000064400000017745151171034530020414
0ustar00
(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Este campo es
obligatorio",
"alertTextCheckboxMultiple": "* Por
favor seleccione una opción",
"alertTextCheckboxe": "* Este checkbox
es obligatorio"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"minSize": {
"regex": "none",
"alertText": "* Mínimo de ",
"alertText2": " caracteres
autorizados"
},
"groupRequired": {
"regex": "none",
"alertText": "* Debe de rellenar al
menos uno de los siguientes campos"
},
"maxSize": {
"regex": "none",
"alertText": "* Máximo de ",
"alertText2": " caracteres
autorizados"
},
"min": {
"regex": "none",
"alertText": "* El valor mínimo es
"
},
"max": {
"regex": "none",
"alertText": "* El valor máximo es
"
},
"past": {
"regex": "none",
"alertText": "* Fecha anterior a "
},
"future": {
"regex": "none",
"alertText": "* Fecha posterior a
"
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Se ha excedido el
número de opciones permitidas"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Por favor seleccione
",
"alertText2": " opciones"
},
"equals": {
"regex": "none",
"alertText": "* Los campos no
coinciden"
},
"creditCard": {
"regex": "none",
"alertText": "* La tarjeta de crédito
no es válida"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Número de teléfono
inválido"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Correo inválido"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* No es un valor entero
válido"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* No es un valor decimal
válido"
},
"date": {
"regex":
/^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/,
"alertText": "* Fecha inválida, por
favor utilize el formato DD/MM/AAAA"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Direccion IP
inválida"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* URL Inválida"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Sólo números"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Sólo letras"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* No se permiten
caracteres especiales"
},
// --- CUSTOM RULES -- Those are specific to the demos, they can be
removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertTextLoad": "* Cargando, espere por
favor",
"alertText": "* Este nombre de usuario
ya se encuentra usado"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Este nombre ya se
encuentra usado",
// if you provide an "alertTextOk", it will show as a green
prompt when the field validates
"alertTextOk": "* Este nombre está
disponible",
// speaks by itself
"alertTextLoad": "* Cargando, espere por
favor"
},
"validate2fields": {
"alertText": "* Por favor entrar
HELLO"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-et.js000064400000017570151171034530020411
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* See väli on
nõutud",
"alertTextCheckboxMultiple": "* Palun
valige üks valik",
"alertTextCheckboxe": "* Linnuke on
nõutud",
"alertTextDateRange": "* Mõlemad
kuupäeva valikud on nõutud"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"dateRange": {
"regex": "none",
"alertText": "* Vigane ",
"alertText2": "Kuupäev valik"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* Vigane ",
"alertText2": "Aja valik"
},
"minSize": {
"regex": "none",
"alertText": "* Minimaalselt ",
"alertText2": " märki lubatud"
},
"maxSize": {
"regex": "none",
"alertText": "* Maksimaalselt ",
"alertText2": " märki lubatud"
},
"groupRequired": {
"regex": "none",
"alertText": "* Palun täidke üks
järgnevatest väljadest"
},
"min": {
"regex": "none",
"alertText": "* Minimaalne väärtus on
"
},
"max": {
"regex": "none",
"alertText": "* Maksimaalne väärtus on
"
},
"past": {
"regex": "none",
"alertText": "* Kuupäev enne "
},
"future": {
"regex": "none",
"alertText": "* Kuupäev peale "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Maksimaalselt ",
"alertText2": " valikut lubatud"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Palun vali ",
"alertText2": " valik(ut)"
},
"equals": {
"regex": "none",
"alertText": "* Väljad ei kattu"
},
"creditCard": {
"regex": "none",
"alertText": "* Kehtetu krediitkaardi
number"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[\
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9\ \.\-\/]{3,20})((x|ext|extension)[\
]?[0-9]{1,4})?$/,
"alertText": "* Vigane telefoni
number"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/,
"alertText": "* Vigane emaili
aadres"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Mittesobiv number"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Vigane väärtus"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Vigane kuupäev. Peab
olema AAAA-KK-PP formaadis"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Vigane IP aadress"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Vigane URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Numbrid ainult"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Tähed ainult"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Eri tähemärke ei
lubata"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "* Vigane kuupäev"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "* Vigane kuupäev või
kuupäeva formaat",
"alertText2": "Eeldatud formaat:
",
"alertText3": "mm/dd/yyyy hh:mm:ss AM|PM
või ",
"alertText4": "yyyy-mm-dd hh:mm:ss
AM|PM"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);assets/js/validate/js/languages/jquery.validationEngine-fa.js000064400000027161151171034530020364
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* این فیلد
ضروری است",
"alertTextCheckboxMultiple": "* لطفا
یک گزینه را انتخاب کنید",
"alertTextCheckboxe": "* این چک
باکس ضروری است",
"alertTextDateRange": "* هر دو
فیلدهای بازهی تاریخی ضروری هستند"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"dateRange": {
"regex": "none",
"alertText": "* بازهی
تاریخی ",
"alertText2": "نامعتبر"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* بازهی
زمانی",
"alertText2": "نامعتبر"
},
"minSize": {
"regex": "none",
"alertText": "* حداقل ",
"alertText2": " حرف ضروری
است"
},
"maxSize": {
"regex": "none",
"alertText": "* حداکثر ",
"alertText2": " حرف وارد
کنید"
},
"groupRequired": {
"regex": "none",
"alertText": "* شما باید یکی
از فیلدهای زیر را پر کنید"
},
"min": {
"regex": "none",
"alertText": "* کمترین مقدار
معتبر ",
"alertText2": " است"
},
"max": {
"regex": "none",
"alertText": "* بیشترین
مقدار معتبر ",
"alertText2": "است"
},
"past": {
"regex": "none",
"alertText": "* تاریخهای
قبل از "
},
"future": {
"regex": "none",
"alertText": "* تاریخهای
بعد از "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* بیشترین
گزینهی قابل انتخاب ",
"alertText2": " است"
},
"minCheckbox": {
"regex": "none",
"alertText": "* لطفا ",
"alertText2": " مورد انتخاب
کنید"
},
"equals": {
"regex": "none",
"alertText": "* فیلد نامعتبر
است"
},
"creditCard": {
"regex": "none",
"alertText": "شماره کارت
اعتباری اشتباه"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* شماره تلفن
معتبر وارد کنید"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* نشانی
الکترونیکی معتبر وارد کنید"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* عدد معتبر
وارد کنید"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* عدد اعشاری
معتبر وارد کنید"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* تاریخ باید به
شکل سال/ماه/روز"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* IP معتبر وارد
کنید"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* نشانی معتبر
وارد کنید"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* فقط اعداد"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* فقط حروف
انگلیسی"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* فقط اعداد و
حروف انگلیسی وارد کنید"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* این
نامکاربری تکراری است",
"alertTextLoad": "* درحال
اعتبار سنجی، لطفا صبر کنید"
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* این نام
کاربری آزاد است",
"alertText": "* این
نامکاربری تکراری است",
"alertTextLoad": "* درحال
اعتبار سنجی، لطفا صبر کنید"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* این نام
پیشتر ثبت شده است",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* این نام آزاد
است",
// speaks by itself
"alertTextLoad": "* درحال
اعتبار سنجی، لطفا صبر کنید"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "* این نام
تکراری است",
// speaks by itself
"alertTextLoad": "* درحال
اعتبار سنجی، لطفا صبر کنید"
},
"validate2fields": {
"alertText": "* لطفا مقدار
HELLO را وارد کنید"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "* تاریخ
نامعتبر"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "* تاریخ
نامعتبر است یا شکل معتبری ندارد",
"alertText2": "شکلهای مورد
معتبر: ",
"alertText3": "mm/dd/yyyy hh:mm:ss AM|PM
or ",
"alertText4": "yyyy-mm-dd hh:mm:ss
AM|PM"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);assets/js/validate/js/languages/jquery.validationEngine-fi.js000064400000015403151171034530020370
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Kenttä on
pakollinen",
"alertTextCheckboxMultiple": "* Yksi
valikoima, kiitos",
"alertTextCheckboxe": "* Tarkistusmerkki
on pakollinen"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"minSize": {
"regex": "none",
"alertText": "* Vähintään ",
"alertText2": " merkkiä sallittu"
},
"maxSize": {
"regex": "none",
"alertText": "* Enintään ",
"alertText2": " merkkiä sallittu"
},
"min": {
"regex": "none",
"alertText": "* Vähittäisluku on
"
},
"max": {
"regex": "none",
"alertText": "* Enimmäisluku on "
},
"past": {
"regex": "none",
"alertText": "* Päivämäärä ennen
"
},
"future": {
"regex": "none",
"alertText": "* Päivämäärä jälkeen
"
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Enintään ",
"alertText2": " valikoimaa
sallittu"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Valitse ",
"alertText2": " valikoima(a)"
},
"equals": {
"regex": "none",
"alertText": "* Kentät eivät
täsmää"
},
"creditCard": {
"regex": "none",
"alertText": "* Luottokortin numero ei
kelpaa"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Viallinen
puhelinnumero"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Viallinen
sähköpostiosoite"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Sopimaton numero"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Viallinen luku"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Viallinen
päivämäärä. Päivämäärän täytyy olla VVVV-KK-PP muodossa"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Viallinen
IP-osoite"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Viallinen URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Ainostaan
numeroin"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Ainoastaan
kirjaimin"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Erikoismerkit eivät ole
sallittuja"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);assets/js/validate/js/languages/jquery.validationEngine-fr.js000064400000017252151171034530020405
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": {
"regex": "none",
"alertText": "* Ce champ est
requis",
"alertTextCheckboxMultiple": "* Choisir
une option",
"alertTextCheckboxe": "* Cette option
est requise"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"minSize": {
"regex": "none",
"alertText": "* Minimum ",
"alertText2": " caractères
requis"
},
"groupRequired": {
"regex": "none",
"alertText": "* Vous devez remplir un
des champs suivant"
},
"maxSize": {
"regex": "none",
"alertText": "* Maximum ",
"alertText2": " caractères
requis"
},
"min": {
"regex": "none",
"alertText": "* Valeur minimum requise
"
},
"max": {
"regex": "none",
"alertText": "* Valeur maximum requise
"
},
"past": {
"regex": "none",
"alertText": "* Date antérieure au
"
},
"future": {
"regex": "none",
"alertText": "* Date postérieure au
"
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Nombre max de choix
excédé"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Veuillez choisir
",
"alertText2": " options"
},
"equals": {
"regex": "none",
"alertText": "* Votre champ n'est
pas identique"
},
"creditCard": {
"regex": "none",
"alertText": "* Numéro de carte
bancaire valide"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Numéro de téléphone
invalide"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Adresse email
invalide"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Nombre entier
invalide"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Nombre flottant
invalide"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Date invalide, format
YYYY-MM-DD requis"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Adresse IP
invalide"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* URL invalide"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Seuls les chiffres sont
acceptés"
},
"onlyLetterSp": {
"regex":
/^[a-zA-Z\u00C0-\u00D6\u00D9-\u00F6\u00F9-\u00FD\ \']+$/,
"alertText": "* Seules les lettres sont
acceptées"
},
"onlyLetterNumber": {
"regex":
/^[0-9a-zA-Z\u00C0-\u00D6\u00D9-\u00F6\u00F9-\u00FD]+$/,
"alertText": "* Aucun caractère
spécial n'est accepté"
},
// --- CUSTOM RULES -- Those are specific to the demos, they can be
removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
"extraData": "name=eric",
"alertTextLoad": "* Chargement, veuillez
attendre",
"alertText": "* Ce nom est déjà
pris"
},
"ajaxNameCall": {
"url": "ajaxValidateFieldName",
"alertText": "* Ce nom est déjà
pris",
"alertTextOk": "*Ce nom est
disponible",
"alertTextLoad": "* Chargement, veuillez
attendre"
},
"validate2fields": {
"alertText": "Veuillez taper le mot
HELLO"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);assets/js/validate/js/languages/jquery.validationEngine-hr.js000064400000025373151171034530020412
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Ovo polje je
obavezno",
"alertTextCheckboxMultiple": "* Molimo
odaberite opciju",
"alertTextCheckboxe": "* Ovaj odabir je
obavezan",
"alertTextDateRange": "* Oba datuma su
obavezna"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"dateRange": {
"regex": "none",
"alertText": "* Greška ",
"alertText2": "Raspon datuma"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* Greška ",
"alertText2": "Raspon vremena i
datuma"
},
"minSize": {
"regex": "none",
"alertText": "* Minimalno ",
"alertText2": " dozvoljenih
znakova"
},
"maxSize": {
"regex": "none",
"alertText": "* Maksimalno ",
"alertText2": " dozvoljenih
znakova"
},
"groupRequired": {
"regex": "none",
"alertText": "* Morate popuniti jedno od
obaveznih polja"
},
"min": {
"regex": "none",
"alertText": "* Minimalna vrijednost je
"
},
"max": {
"regex": "none",
"alertText": "* Maksimalna vrijednost je
"
},
"past": {
"regex": "none",
"alertText": "* Datum raniji od "
},
"future": {
"regex": "none",
"alertText": "* Datum nakon "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Maksimalno ",
"alertText2": " dozvoljenih
opcija"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Molimo odaberite
",
"alertText2": " opcija"
},
"equals": {
"regex": "none",
"alertText": "* Polja se ne
podudaraju"
},
"creditCard": {
"regex": "none",
"alertText": "* Neispravan broj kreditne
kartice"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Pogrešan unos
telefonskog broja"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Neispravna email
adresa"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Neispravno unesen
broj"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Neispravan broj sa
pomičnim zarezom"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Neispravan unos datuma,
ispravan format je GGGG-MM-DD"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* neispravna IP
adresa"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Neispravan URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Dozvoljeni su samo
brojevi"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Dozvoljena su samo
slova"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Nisu dozvoljeni
specijalni znakovi"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* This user is already
taken",
"alertTextLoad": "* Validating, please
wait"
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* This username is
available",
"alertText": "* This user is already
taken",
"alertTextLoad": "* Validating, please
wait"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* This name is already
taken",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* This name is
available",
// speaks by itself
"alertTextLoad": "* Validating, please
wait"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "* This name is already
taken",
// speaks by itself
"alertTextLoad": "* Validating, please
wait"
},
"validate2fields": {
"alertText": "* Please input
HELLO"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "* Neispravan datum"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "* Neispravan format
datuma",
"alertText2": "Očekivani format:
",
"alertText3": "mm/dd/gggg hh:mm:ss ili
",
"alertText4": "gggg-mm-dd hh:mm:ss
"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);assets/js/validate/js/languages/jquery.validationEngine-hu.js000064400000024003151171034530020402
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Ezt a mezőt ki kell
tölteni",
"alertTextCheckboxMultiple": "* Kérem
válasszon egy opciót",
"alertTextCheckboxe": "* Ez az opció be
kell legyen jelölve",
"alertTextDateRange": "* Mindkét dátum
mezőt ki kell tölteni"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"dateRange": {
"regex": "none",
"alertText": "* Érvénytelen ",
"alertText2": "Dátum tartomány"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* Érvénytelen ",
"alertText2": "Dátum-idő
tartomány"
},
"minSize": {
"regex": "none",
"alertText": "* Minimum ",
"alertText2": " karakter kell
legyen"
},
"maxSize": {
"regex": "none",
"alertText": "* Maximum ",
"alertText2": " karakter lehet"
},
"groupRequired": {
"regex": "none",
"alertText": "* Az alábbi mezők
valamelyikét ki kell tölteni"
},
"min": {
"regex": "none",
"alertText": "* A minimum érték
"
},
"max": {
"regex": "none",
"alertText": "* A maximum érték
"
},
"past": {
"regex": "none",
"alertText": "* Dátum ez előtt "
},
"future": {
"regex": "none",
"alertText": "* Dátum ez után "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Maximum ",
"alertText2": " opció lehet
bejelölve"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Kérjük válasszon
",
"alertText2": " opciót"
},
"equals": {
"regex": "none",
"alertText": "* A mezők nem
egyeznek"
},
"creditCard": {
"regex": "none",
"alertText": "* Érvénytelen
kártyaszám"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[\
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9\ \.\-\/]{3,20})((m|mell|mellék)[\
]?[0-9]{1,4})?$/,
"alertText": "* Érvénytelen
telefonszám"
},
"email": {
// HTML5 compatible email regex (
http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#
e-mail-state-%28type=email%29 )
"regex":
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/,
"alertText": "* Hibás E-mail
cím"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Nem érvényes (egész)
szám"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Érvénytelen
szám"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Érvénytelen dátum,
ÉÉÉÉ-HH-NN formátumban kell megadni"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Érvénytelen IP
cím"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Érvénytelen URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Csak számokat"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Csak betűket"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Spéci karakterek nem
engedélyezettek"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* This user is already
taken",
"alertTextLoad": "* Validating, please
wait"
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* This username is
available",
"alertText": "* This user is already
taken",
"alertTextLoad": "* Validating, please
wait"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* This name is already
taken",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* This name is
available",
// speaks by itself
"alertTextLoad": "* Validating, please
wait"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "* This name is already
taken",
// speaks by itself
"alertTextLoad": "* Validating, please
wait"
},
"validate2fields": {
"alertText": "* Please input
HELLO"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "* Invalid Date"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "* Invalid Date or Date
Format",
"alertText2": "Expected Format: ",
"alertText3": "mm/dd/yyyy hh:mm:ss AM|PM
or ",
"alertText4": "yyyy-mm-dd hh:mm:ss
AM|PM"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-it.js000064400000015731151171034530020412
0ustar00(function($){
$.fn.validationEngineLanguage = function(){};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Campo richiesto",
"alertTextCheckboxMultiple": "* Per
favore selezionare un'opzione",
"alertTextCheckboxe": "* E'
richiesta la selezione della casella"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"length": {
"regex": "none",
"alertText": "* Fra ",
"alertText2": " e ",
"alertText3": " caratteri
permessi"
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Numero di caselle da
selezionare in eccesso"
},
"groupRequired": {
"regex": "none",
"alertText": "* You must fill one of the
following fields"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Per favore selezionare
",
"alertText2": " opzioni"
},
"equals": {
"regex": "none",
"alertText": "* I campi non
corrispondono"
},
"creditCard": {
"regex": "none",
"alertText": "* Non valido numero di
carta di credito"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Numero di telefono non
corretto"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Indirizzo non
corretto"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Numero intero non
corretto"
},
"number": {
// Number, including positive, negative, and floating
decimal. Credit: bassistance
"regex":
/^[\-\+]?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)$/,
"alertText": "* Numero decimale non
corretto"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Data non corretta,
re-inserire secondo formato AAAA-MM-GG"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* IP non corretto"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* URL non corretta"
},
"onlyNumber": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Solo numeri"
},
"onlyLetter": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Solo lettere"
},
"validate2fields": {
"nname": "validate2fields",
"alertText": "* Occorre inserire nome e
cognome"
},
"noSpecialCharacters": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Caratteri speciali non
permessi"
},
"ajaxUserCall": {
"file": "ajaxValidateFieldName",
"extraData": "name=eric",
"alertTextLoad": "* Caricamento,
attendere per favore",
"alertText": "* Questo user � gi�
stato utilizzato"
},
"ajaxNameCall": {
"file": "ajaxValidateFieldName",
"alertText": "* Questo nome � gi�
stato utilizzato",
"alertTextOk": "* Questo nome �
disponibile",
"alertTextLoad": "* Caricamento,
attendere per favore"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);assets/js/validate/js/languages/jquery.validationEngine-ja.js000064400000021470151171034530020365
0ustar00;/*****************************************************************
* Japanese language file for jquery.validationEngine.js (ver2.0)
*
* Transrator: tomotomo ( Tomoyuki SUGITA )
* http://tomotomoSnippet.blogspot.com/
* Licenced under the MIT Licence
*******************************************************************/
(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "*
必須項目です",
"alertTextCheckboxMultiple": "*
選択してください",
"alertTextCheckboxe": "*
チェックボックスをチェックしてください"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"minSize": {
"regex": "none",
"alertText": "* ",
"alertText2":
"文字以上にしてください"
},
"groupRequired": {
"regex": "none",
"alertText": "* You must fill one of the
following fields"
},
"maxSize": {
"regex": "none",
"alertText": "* ",
"alertText2":
"文字以下にしてください"
},
"min": {
"regex": "none",
"alertText": "* ",
"alertText2": "
以上の数値にしてください"
},
"max": {
"regex": "none",
"alertText": "* ",
"alertText2": "
以下の数値にしてください"
},
"past": {
"regex": "none",
"alertText": "* ",
"alertText2": "
より過去の日付にしてください"
},
"future": {
"regex": "none",
"alertText": "* ",
"alertText2": "
より最近の日付にしてください"
},
"maxCheckbox": {
"regex": "none",
"alertText": "*
チェックしすぎです"
},
"minCheckbox": {
"regex": "none",
"alertText": "* ",
"alertText2":
"つ以上チェックしてください"
},
"equals": {
"regex": "none",
"alertText": "*
入力された値が一致しません"
},
"creditCard": {
"regex": "none",
"alertText": "*
無効なクレジットカード番号"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "*
電話番号が正しくありません"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "*
メールアドレスが正しくありません"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "*
整数を半角で入力してください"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "*
数値を半角で入力してください"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* 日付は半角で
YYYY-MM-DD の形式で入力してください"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "*
IPアドレスが正しくありません"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "*
URLが正しくありません"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "*
半角数字で入力してください"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "*
半角アルファベットで入力してください"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "*
半角英数で入力してください"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* This user is already
taken",
"alertTextLoad": "* Validating, please
wait"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* This name is already
taken",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* This name is
available",
// speaks by itself
"alertTextLoad": "* Validating, please
wait"
},
"validate2fields": {
"alertText": "*
『HELLO』と入力してください"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-nl.js000064400000017170151171034530020406
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you can
take telephone as an example
"regex": "geen",
"alertText": "* Dit veld is
verplicht",
"alertTextCheckboxMultiple": "* Selecteer
a.u.b. een optie",
"alertTextCheckboxe": "* Dit selectievakje
is verplicht"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"minSize": {
"regex": "none",
"alertText": "* Minimaal ",
"alertText2": " karakters toegestaan"
},
"maxSize": {
"regex": "none",
"alertText": "* Maximaal ",
"alertText2": " karakters toegestaan"
},
"groupRequired": {
"regex": "none",
"alertText": "* You must fill one of the
following fields"
},
"min": {
"regex": "none",
"alertText": "* Minimale waarde is "
},
"max": {
"regex": "none",
"alertText": "* Maximale waarde is "
},
"past": {
"regex": "none",
"alertText": "* Datum voorafgaand aan
"
},
"future": {
"regex": "none",
"alertText": "* Datum na "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Toegestane aantal vinkjes
overschreden"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Selecteer a.u.b. ",
"alertText2": " opties"
},
"equals": {
"regex": "none",
"alertText": "* Velden komen niet
overeen"
},
"creditCard": {
"regex": "none",
"alertText": "* Ongeldige credit card
nummer"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Ongeldig
telefoonnummer"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Ongeldig e-mailadres"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Ongeldig geheel
getal"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Ongeldig drijvende comma
getal"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Ongeldige datum, formaat
moet JJJJ-MM-DD zijn"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Ongeldig IP-adres"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Ongeldige URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Alleen cijfers"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Alleen leestekens"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Geen vreemde tekens
toegestaan"
},
// --- CUSTOM RULES -- Those are specific to the demos, they
can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Deze gebruiker bestaat
al",
"alertTextLoad": "* Bezig met valideren,
even geduld aub"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Deze naam bestaat
al",
// if you provide an "alertTextOk", it will show
as a green prompt when the field validates
"alertTextOk": "* Deze naam is
beschikbaar",
// speaks by itself
"alertTextLoad": "* Bezig met valideren,
even geduld aub"
},
"validate2fields": {
"alertText": "* Voer aub HELLO in"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-no.js000064400000024666151171034530020421
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Dette feltet er
påkrevd",
"alertTextCheckboxMultiple": "* Velg et
alternativ",
"alertTextCheckboxe": "* Denne boksen er
påkrevd",
"alertTextDateRange": "* Begge datofelt
må fylles ut"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Feltet må være lik
test"
},
"dateRange": {
"regex": "none",
"alertText": "* Ugyldig ",
"alertText2": "Datointervall"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* Ugyldig ",
"alertText2": "Tidsintervall"
},
"minSize": {
"regex": "none",
"alertText": "* Minimum ",
"alertText2": " bokstaver tillatt"
},
"maxSize": {
"regex": "none",
"alertText": "* Maksimalt ",
"alertText2": " bokstaver tillatt"
},
"groupRequired": {
"regex": "none",
"alertText": "* Du må fylle ett av de
følgende feltene"
},
"min": {
"regex": "none",
"alertText": "* Minimumsverdi er "
},
"max": {
"regex": "none",
"alertText": "* Maksimumsverdi er
"
},
"past": {
"regex": "none",
"alertText": "* Dato før "
},
"future": {
"regex": "none",
"alertText": "* Dato etter "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Maksimalt ",
"alertText2": " alternativer
tillatt"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Vennligst velg ",
"alertText2": " alternativer"
},
"equals": {
"regex": "none",
"alertText": "* Feltene samsvarer
ikke"
},
"creditCard": {
"regex": "none",
"alertText": "* Ugyldig
kredittkortnummer"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[\
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9\ \.\-\/]{3,20})((x|ext|extension)[\
]?[0-9]{1,4})?$/,
"alertText": "* Ugyldig
telefonnummer"
},
"email": {
// HTML5 compatible email regex (
http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#
e-mail-state-%28type=email%29 )
"regex":
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/,
"alertText": "* Ugyldig
e-postadresse"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Ikke et gyldig
heltall"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Ugyldig
desimaltall"
},
"date": {
// Check if date is valid by leap year
"func": function (field) {
var pattern = new
RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/);
var match = pattern.exec(field.val());
if (match == null)
return false;
var year = match[1];
var month = match[2]*1;
var day = match[3]*1;
var date = new Date(year, month - 1, day); // because months starts
from 0.
return (date.getFullYear() == year && date.getMonth() ==
(month - 1) && date.getDate() == day);
},
"alertText": "* Ugyldig dato, må være i formatet
ÅÅÅÅ-MM-DD"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Ugyldig
IP-adresse"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Ugyldig
nettadresse"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Kun tall"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Kun bokstaver"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Ingen spesielle tegn er
tillatt"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Denne brukeren er
allerede tatt",
"alertTextLoad": "* Validerer, vennligst
vent"
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Denne brukeren er
tilgjengelig",
"alertText": "* Denne brukeren er
allerede tatt",
"alertTextLoad": "* Validerer, vennligst
vent"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Dette navnet er allerede
tatt",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Dette navnet er
tilgjengelig",
// speaks by itself
"alertTextLoad": "* Validerer, vennligst
vent"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "* Dette navnet er
allerede tatt",
// speaks by itself
"alertTextLoad": "* Validerer,
vennligst vent"
},
"validate2fields": {
"alertText": "* Vennligst skriv
HELLO"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "* Ugyldig dato"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "* Ugyldig dato eller
datoformat",
"alertText2": "Forventet format:
",
"alertText3": "mm/dd/åååå tt:mm:ss
AM|PM or ",
"alertText4": "åååå-mm-dd tt:mm:ss
AM|PM"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-pl.js000064400000020470151171034530020405
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Pole wymagane",
"alertTextCheckboxMultiple": "* Proszę
wybrać opcję",
"alertTextCheckboxe": "* Pole
wymagane"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"minSize": {
"regex": "none",
"alertText": "* Minimalna liczba znaków
to ",
"alertText2": ""
},
"maxSize": {
"regex": "none",
"alertText": "* Maksymalna liczba
znaków to ",
"alertText2": ""
},
"groupRequired": {
"regex": "none",
"alertText": "* Proszę wypełnić
wymienione opcje"
},
"min": {
"regex": "none",
"alertText": "* Najmniejsza wartość to
"
},
"max": {
"regex": "none",
"alertText": "* Największa wartość to
"
},
"past": {
"regex": "none",
"alertText": "* Data musi być
wcześniejsza niż "
},
"future": {
"regex": "none",
"alertText": "* Data musi być
późniejsza niż "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Przekroczona maksymalna
liczba opcji"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Minimalna liczba opcji
to ",
"alertText2": ""
},
"equals": {
"regex": "none",
"alertText": "* Pola nie są
jednakowe"
},
"creditCard": {
"regex": "none",
"alertText": "* Nieprawidłowy numer
karty kredytowej"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Nieprawidłowy numer
telefonu"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Nieprawidłowy adres
e-mail"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Nieprawidłowa liczba
całkowita"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Nieprawidłowa liczba
dziesiętna"
},
"CZdate": {
// Date in Polish format, regex taken from Czech
translation
"regex": /^(0[1-9]|[12][0-9]|3[01])[.
/.](0[1-9]|1[012])[. /.](19|20)\d{2}$/,
"alertText": "* Data musi być w postaci
DD.MM.RRRR"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Data musi być w postaci
RRRR-MM-DD"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Nieprawidłowy adres
IP"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Nieprawidłowy adres
internetowy"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Tylko liczby"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Tylko litery"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Tylko litery i
liczby"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Nazwa użytkownika jest
już zajęta",
"alertTextLoad": "* Walidacja, proszę
czekać"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Nazwa jest już
zajęta",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Nazwa jest
dostępna",
// speaks by itself
"alertTextLoad": "* Walidacja, proszę
czekać"
},
"validate2fields": {
"alertText": "* Proszę wpisać
HELLO"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-pt.js000064400000025065151171034530020422
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Campo
obrigatório",
"alertTextCheckboxMultiple": "*
Selecione uma opção",
"alertTextCheckboxe": "* Selecione uma ou mais
opções",
"alertTextDateRange": "* Ambos os campos
de datas são obrigatórios"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"dateRange": {
"regex": "none",
"alertText": "* Inválido ",
"alertText2": "Date Range"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* Inválido ",
"alertText2": "Intervalo de tempo da
data"
},
"minSize": {
"regex": "none",
"alertText": "* Mínimo ",
"alertText2": " carateres
permitidos"
},
"maxSize": {
"regex": "none",
"alertText": "* Máximo ",
"alertText2": " carateres
permitidos"
},
"groupRequired": {
"regex": "none",
"alertText": "* Tem de preencher um dos
seguintes campos"
},
"min": {
"regex": "none",
"alertText": "* O valor mínimo é "
},
"max": {
"regex": "none",
"alertText": "* O valor máximo é
"
},
"past": {
"regex": "none",
"alertText": "* Data anterior a "
},
"future": {
"regex": "none",
"alertText": "* Data posterior a "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* O número máximo ",
"alertText2": " de escolhas foi ultrapassado"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Selecione ",
"alertText2": " opções"
},
"equals": {
"regex": "none",
"alertText": "* Os campos não
correspondem"
},
"creditCard": {
"regex": "none",
"alertText": "* Número do cartão de crédito
inválido"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[\
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9\ \.\-\/]{3,20})((x|ext|extension)[\
]?[0-9]{1,4})?$/,
"alertText": "* Número de telefone
inválido"
},
"email": {
// HTML5 compatible email regex (
http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#
e-mail-state-%28type=email%29 )
"regex":
/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
"alertText": "* Endereço de email
inválido"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Não é um número
inteiro"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Não é um número
decimal"
},
"date": {
// Check if date is valid by leap year
"func": function (field) {
var pattern = new
RegExp(/^(\d{4})[\/\-\.](0?[1-9]|1[012])[\/\-\.](0?[1-9]|[12][0-9]|3[01])$/);
var match = pattern.exec(field.val());
if (match == null)
return false;
var year = match[1];
var month = match[2]*1;
var day = match[3]*1;
var date = new Date(year, month - 1, day); // because months starts
from 0.
return (date.getFullYear() == year && date.getMonth() ==
(month - 1) && date.getDate() == day);
},
"alertText": "* Data inválida, o formato deve de ser
AAAA-MM-DD (ex.2012-12-31)"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Número IP
inválido"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Endereço URL inválido"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Só é permitido
números"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Só é permitido
letras"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Só são permitidos
letras e números"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Este nome de utilizador já está sendo
utilizado",
"alertTextLoad": "* A validar, por favor
aguarde"
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Este nome de
utilizador está disponível",
"alertText": "* Este nome de utilizador
já está sendo utilizado",
"alertTextLoad": "* A validar, por favor
aguarde"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Este nome já está a ser
utilizado",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Este nome está disponível",
// speaks by itself
"alertTextLoad": "* A validar, por favor
aguarde"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "* Este nome já está a
ser utilizado",
// speaks by itself
"alertTextLoad": "* A validar, por
favor aguarde"
},
"validate2fields": {
"alertText": "* Por favor escreva HELLO"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "* Data inválida"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "* Data inválida ou mal formatada",
"alertText2": "Formato esperado:
",
"alertText3": "mm/dd/aaaa hh:mm:ss AM|PM
ou ",
"alertText4": "aaaa-mm-dd hh:mm:ss
AM|PM"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-pt_BR.js000064400000016420151171034530021000
0ustar00(function($){
$.fn.validationEngineLanguage = function(){};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": {
"regex": "none",
"alertText": "* Este campo é
obrigatório",
"alertTextCheckboxMultiple": "* Favor
selecionar uma opção",
"alertTextCheckboxe": "* Este checkbox
é obrigatório",
"alertTextDateRange": "* Ambas as datas
do intervalo são obrigatórias"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"dateRange": {
"regex": "none",
"alertText": "* Intervalo de datas
inválido"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* Intervalo de data e hora
inválido"
},
"minSize": {
"regex": "none",
"alertText": "* Permitido o mínimo de
",
"alertText2": " caractere(s)"
},
"maxSize": {
"regex": "none",
"alertText": "* Permitido o máximo de
",
"alertText2": " caractere(s)"
},
"groupRequired": {
"regex": "none",
"alertText": "* Você deve preencher um
dos seguintes campos"
},
"min": {
"regex": "none",
"alertText": "* Valor mínimo é "
},
"max": {
"regex": "none",
"alertText": "* Valor máximo é "
},
"past": {
"regex": "none",
"alertText": "* Data anterior a "
},
"future": {
"regex": "none",
"alertText": "* Data posterior a "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Máximo de ",
"alertText2": " opções
permitidas"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Favor selecionar
",
"alertText2": " opção(ões)"
},
"equals": {
"regex": "none",
"alertText": "* Os campos não
correspondem"
},
"creditCard": {
"regex": "none",
"alertText": "* Número de cartão de
crédito inválido"
},
"phone": {
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Número de telefone
inválido"
},
"email": {
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Endereço de email
inválido"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Número inteiro
inválido"
},
"number": {
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Número decimal
inválido"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Data inválida, deve ser
no formato AAAA-MM-DD"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Endereço IP
inválido"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* URL inválida"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Apenas números"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Apenas letras"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Não são permitidos
caracteres especiais"
},
"real": {
// Brazilian (Real - R$) money format
"regex":
/^([1-9]{1}[\d]{0,2}(\.[\d]{3})*(\,[\d]{0,2})?|[1-9]{1}[\d]{0,}(\,[\d]{0,2})?|0(\,[\d]{0,2})?|(\,[\d]{1,2})?)$/,
"alertText": "* Número decimal
inválido"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-ro.js000064400000026160151171034530020414
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Camp obligatoriu",
"alertTextCheckboxMultiple": "*
Selecteaza o optiune",
"alertTextCheckboxe": "* Optiune
obligatorie",
"alertTextDateRange": "* Campurile data
cu ajutorul carora se stabileste perioada sunt obligatorii"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"dateRange": {
"regex": "none",
"alertText": "* Perioada ",
"alertText2": "este invalida"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* Intervalul de timp
",
"alertText2": "este invalid"
},
"minSize": {
"regex": "none",
"alertText": "* Sunt permise cel putin
",
"alertText2": " caractere"
},
"maxSize": {
"regex": "none",
"alertText": "* Sunt permise maxim
",
"alertText2": " caractere"
},
"groupRequired": {
"regex": "none",
"alertText": "* Trebuie sa completezi
unul dintre urmatoarele campuri"
},
"min": {
"regex": "none",
"alertText": "* Valoarea minim admisa
este "
},
"max": {
"regex": "none",
"alertText": "* Valoarea maxim admisa
este "
},
"past": {
"regex": "none",
"alertText": "* Data trebuie sa fie una
anterioara fata de "
},
"future": {
"regex": "none",
"alertText": "* Data este una din trecut
fata de "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Maximul de optiuni
permise este ",
"alertText2": ""
},
"minCheckbox": {
"regex": "none",
"alertText": "* Selecteaza minim
",
"alertText2": " optiuni"
},
"equals": {
"regex": "none",
"alertText": "* Campurile nu au fost
completate identic"
},
"creditCard": {
"regex": "none",
"alertText": "* Nevalid num?rul de card
de credit"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Numarul de telefon este
scris eronat"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Adresa e-mail este
scrisa gresit"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Nu este un numar
intreg"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Trebuie sa fie un
numar"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Data nu este corecta.
Aceasta trebuie sa fie scrisa sub forma YYYY-MM-DD"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Adresa IP nu este
corecta"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* URL gresit"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Sunt permise doar
numerele"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Sunt admise doar
literele"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Trebuie sa folosesti
doar litere si numere intregi"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Numele utilizator nu
este disponibil",
"alertTextLoad": "* Se efectueaza
validarea. Asteapta..."
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Numele utilizator este
disponibil",
"alertText": "* Numele utilizator nu
este disponibil",
"alertTextLoad": "* Se efectueaza
validarea. Asteapta..."
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Numele nu este
disponibil",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Numele este
disponibil",
// speaks by itself
"alertTextLoad": "* Se efectueaza
validarea. Asteapta..."
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "* Numele nu este
disponibil",
// speaks by itself
"alertTextLoad": "* Se efectueaza
validarea. Asteapta..."
},
"validate2fields": {
"alertText": "* Scrie: HELLO"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "* Data nu este
corecta"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "* Data nu este corecta sau
formatul acesteia este unul gresit",
"alertText2": "Formatele recunoscute
sunt: ",
"alertText3": "mm/dd/yyyy hh:mm:ss AM|PM
sau ",
"alertText4": "yyyy-mm-dd hh:mm:ss
AM|PM"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);assets/js/validate/js/languages/jquery.validationEngine-ru.js000064400000021042151171034530020414
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Необходимо
заполнить",
"alertTextCheckboxMultiple": "* Вы
должны выбрать вариант",
"alertTextCheckboxe": "*
Необходимо отметить"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Значением
поля должно быть test"
},
"minSize": {
"regex": "none",
"alertText": "* Минимум ",
"alertText2": "
символа(ов)"
},
"maxSize": {
"regex": "none",
"alertText": "* Максимум
",
"alertText2": "
символа(ов)"
},
"groupRequired": {
"regex": "none",
"alertText": "* Вы должны
заполнить одно из следующих полей"
},
"min": {
"regex": "none",
"alertText": "* Минимальное
значение "
},
"max": {
"regex": "none",
"alertText": "* Максимальное
значение "
},
"past": {
"regex": "none",
"alertText": "* Дата до "
},
"future": {
"regex": "none",
"alertText": "* Дата от "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Нельзя
выбрать столько вариантов"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Пожалуйста,
выберите ",
"alertText2": " опцию(ии)"
},
"equals": {
"regex": "none",
"alertText": "* Поля не
совпадают"
},
"creditCard": {
"regex": "none",
"alertText": "* Неверный
номер кредитной карты"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Неправильный
формат телефона"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Неверный
формат email"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Не целое
число"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Неправильное
число с плавающей точкой"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Неправильная
дата (должно быть в ДД.MM.ГГГГ формате)"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Неправильный
IP-адрес"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Неправильный
URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Только
числа"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\u0400-\u04FF\
\']+$/,
"alertText": "* Только
буквы"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z\u0400-\u04FF]+$/,
"alertText": "* Запрещены
специальные символы"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Этот
пользователь уже занят",
"alertTextLoad": "* Проверка,
подождите..."
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Это имя уже
занято",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Это имя
доступно",
// speaks by itself
"alertTextLoad": "* Проверка,
подождите..."
},
"validate2fields": {
"alertText": "* Пожалуйста,
введите HELLO"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-se.js000064400000021626151171034530020405
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Det här fältet
krävs",
"alertTextCheckboxMultiple": "* Var god
välj ett alternativ",
"alertTextCheckboxe": "* Den här
kryssrutan måste anges"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"minSize": {
"regex": "none",
"alertText": "* Minimum ",
"alertText2": " tecken"
},
"maxSize": {
"regex": "none",
"alertText": "* Maximalt ",
"alertText2": " antal tecken"
},
"groupRequired": {
"regex": "none",
"alertText": "* You must fill one of the
following fields"
},
"min": {
"regex": "none",
"alertText": "* Minsta möjliga värde
är "
},
"max": {
"regex": "none",
"alertText": "* Maxvärdet är "
},
"past": {
"regex": "none",
"alertText": "* Datum måste vara före
"
},
"future": {
"regex": "none",
"alertText": "* Datum efter "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Maximalt ",
"alertText2": " alternativ får
väljas"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Var god välj ",
"alertText2": " alternativ"
},
"equals": {
"regex": "none",
"alertText": "* Fält överensstämmer
inte"
},
"creditCard": {
"regex": "none",
"alertText": "* Ogiltigt
kreditkortsnummer"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Ogiltigt
telefonnummer"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Ogiltig
e-postadress"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Inte korrekt numeriskt
värde"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Inte korrekt
decimalvärde"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Ogiltigt datum, måste
vara i YYYY-MM-DD -format"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Ogiltig IP-adress"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Ogiltig URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Enbart siffror"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Enbart bokstäver"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Inga
specialtecken"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Användarnamnet är
upptaget",
"alertTextLoad": "* Validerar, var god
vänta"
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Användarnamnet är
tillgängligt",
"alertText": "* Användarnamnet är
upptaget",
"alertTextLoad": "* Validerar, var god
vänta"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Användarnamnet är
upptaget",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Användarnamnet är
tillgängligt",
// speaks by itself
"alertTextLoad": "* Validerar, var god
vänta"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "* Användarnamnet är
upptaget",
// speaks by itself
"alertTextLoad": "* Validerar, var god
vänta"
},
"validate2fields": {
"alertText": "* Ange text HELLO"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);assets/js/validate/js/languages/jquery.validationEngine-tr.js000064400000022331151171034530020415
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Bu alan
zorunludur",
"alertTextCheckboxMultiple": "* Lütfen
bir seçeneği işaretleyiniz",
"alertTextCheckboxe": "* Bu onay kutusu
zorunludur"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"minSize": {
"regex": "none",
"alertText": "* Bu alana en az ",
"alertText2": " karakter girmelisiniz
"
},
"maxSize": {
"regex": "none",
"alertText": "* Bu alana en fazla
",
"alertText2": " karakter
girebilirsiniz"
},
"groupRequired": {
"regex": "none",
"alertText": "* You must fill one of the
following fields"
},
"min": {
"regex": "none",
"alertText": "* Geçerli en küçük
değer: "
},
"max": {
"regex": "none",
"alertText": "* Geçerli en yüksek
değer: "
},
"past": {
"regex": "none",
"alertText": "* Lütfen ",
"alertText2": " tarihinden daha ileri
bir tarih giriniz "
},
"future": {
"regex": "none",
"alertText": "* Lütfen ",
"alertText2": " tarihinden daha geri bir
tarih giriniz "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* En fazla ",
"alertText2": " onay kutusu
işaretleyebilirsiniz"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Lütfen en az ",
"alertText2": " onay kutusunu
işaretleyiniz"
},
"equals": {
"regex": "none",
"alertText": "* Değerler aynı
olmalı"
},
"creditCard": {
"regex": "none",
"alertText": "* Geçersiz kredi kartı
numarası"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "* Geçersiz telefon
numarası"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Geçersiz eposta
adresi"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Geçerli bir tam sayı
değil"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Geçerli bir noktalı
sayı değil"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Geçersiz tarih. Tarih
YYYY-MM-DD formatında olmalı"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Geçersiz IP
adresi"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Geçersiz URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Bu alanda sadece rakam
olmalı"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Bu alanda sadece harf
olmalı"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Bu alanda özel
karakterler olamaz"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Bu kullanıcı adı
kullanımda",
"alertTextLoad": "* Doğrulanıyor,
lütfen bekleyiniz"
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Bu kullanıcı adını
kullanabilirsiniz",
"alertText": "* Bu kullanıcı adı
kullanımda",
"alertTextLoad": "* Doğrulanıyor,
lütfen bekleyiniz"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Bu isim
kullanımda",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Bu isim
kullanılabilir",
// speaks by itself
"alertTextLoad": "* Doğrulanıyor,
lütfen bekleyiniz"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "* Bu isim
kullanımda",
// speaks by itself
"alertTextLoad": "* Doğrulanıyor,
lütfen bekleyiniz"
},
"validate2fields": {
"alertText": "* Lütfen
'HELLO' yazın"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);assets/js/validate/js/languages/jquery.validationEngine-vi.js000064400000024434151171034530020414
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "* Trường này bắt
buộc",
"alertTextCheckboxMultiple": "* Vui
lòng chọn một tùy chọn",
"alertTextCheckboxe": "* Checkbox này
bắt buộc",
"alertTextDateRange": "* Cả hai
trường ngày tháng đều bắt buộc"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Giá trị của
trường phải là test"
},
"dateRange": {
"regex": "none",
"alertText": "* Không đúng ",
"alertText2": "Khoảng ngày
tháng"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* Không đúng ",
"alertText2": "Khoảng thời
gian"
},
"minSize": {
"regex": "none",
"alertText": "* Tối thiểu ",
"alertText2": " số ký tự được
cho phép"
},
"maxSize": {
"regex": "none",
"alertText": "* Tối đa ",
"alertText2": " số ký tự được
cho phép"
},
"groupRequired": {
"regex": "none",
"alertText": "* Bạn phải điền
một trong những trường sau"
},
"min": {
"regex": "none",
"alertText": "* Giá trị nhỏ nhất
là "
},
"max": {
"regex": "none",
"alertText": "* Giá trị lớn nhất
là "
},
"past": {
"regex": "none",
"alertText": "* Ngày kéo dài tới
"
},
"future": {
"regex": "none",
"alertText": "* Ngày đã qua "
},
"maxCheckbox": {
"regex": "none",
"alertText": "* Tối đa ",
"alertText2": " số tùy chọn
được cho phép"
},
"minCheckbox": {
"regex": "none",
"alertText": "* Vui lòng chọn
",
"alertText2": " các tùy chọn"
},
"equals": {
"regex": "none",
"alertText": "* Giá trị các
trường không giống nhau"
},
"creditCard": {
"regex": "none",
"alertText": "* Số thẻ tín dụng
sai"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[\
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9\ \.\-\/]{3,20})((x|ext|extension)[\
]?[0-9]{1,4})?$/,
"alertText": "* Số điện thoại
sai"
},
"email": {
// HTML5 compatible email regex (
http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#
e-mail-state-%28type=email%29 )
"regex":
/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/,
"alertText": "* Địa chỉ thư
điện tử sai"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "* Không đúng là số
nguyên"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* Không đúng là số
thập phân"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "* Ngày sai, phải có
định dạng YYYY-MM-DD"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* Địa chỉ IP
sai"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* URL sai"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* Chỉ điền
số"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "* Chỉ điền
chữ"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "* Không được chứa
ký tự đặc biệt"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "* Tên này được
dùng",
"alertTextLoad": "* Đang xác nhận,
vui lòng chờ"
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Tên người dùng
này có thể dùng được",
"alertText": "* Tên người dùng này
đã được sử dụng",
"alertTextLoad": "* Đang xác nhận,
vui lòng chờ"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "* Tên này được
dùng",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "* Tên này có thể
dùng",
// speaks by itself
"alertTextLoad": "* Đang xác nhận,
vui lòng chờ"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "* Tên này được
dùng",
// speaks by itself
"alertTextLoad": "* Đang xác nhận,
vui lòng chờ"
},
"validate2fields": {
"alertText": "* Vui lòng nhập vào
HELLO"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "* Ngày sai"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "* Ngày sai hoặc định
dạng ngày sai",
"alertText2": "Định dạng đúng
là: ",
"alertText3": "mm/dd/yyyy hh:mm:ss AM|PM
hay ",
"alertText4": "yyyy-mm-dd hh:mm:ss
AM|PM"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-zh_CN.js000064400000025472151171034530021002
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "*
此处不可空白",
"alertTextCheckboxMultiple": "*
请选择一个项目",
"alertTextCheckboxe": "*
您必须钩选此栏",
"alertTextDateRange": "*
日期范围不可空白"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"dateRange": {
"regex": "none",
"alertText": "* 无效的 ",
"alertText2": " 日期范围"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* 无效的 ",
"alertText2": " 时间范围"
},
"minSize": {
"regex": "none",
"alertText": "* 最少 ",
"alertText2": " 个字符"
},
"maxSize": {
"regex": "none",
"alertText": "* 最多 ",
"alertText2": " 个字符"
},
"groupRequired": {
"regex": "none",
"alertText": "*
你必需选填其中一个栏位"
},
"min": {
"regex": "none",
"alertText": "* 最小值為 "
},
"max": {
"regex": "none",
"alertText": "* 最大值为 "
},
"past": {
"regex": "none",
"alertText": "* 日期必需早于
"
},
"future": {
"regex": "none",
"alertText": "* 日期必需晚于
"
},
"maxCheckbox": {
"regex": "none",
"alertText": "* 最多选取 ",
"alertText2": " 个项目"
},
"minCheckbox": {
"regex": "none",
"alertText": "* 请选择 ",
"alertText2": " 个项目"
},
"equals": {
"regex": "none",
"alertText": "*
请输入与上面相同的密码"
},
"creditCard": {
"regex": "none",
"alertText": "*
无效的信用卡号码"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "*
无效的电话号码"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "*
邮件地址无效"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "*
不是有效的整数"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* 无效的数字"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "*
无效的日期,格式必需为 YYYY-MM-DD"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* 无效的 IP
地址"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Invalid URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* 只能填数字"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "*
只接受英文字母大小写"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "*
不接受特殊字符"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "*
此名称已被其他人使用",
"alertTextLoad": "*
正在确认名称是否有其他人使用,请稍等。"
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "*
此帐号名称可以使用",
"alertText": "*
此名称已被其他人使用",
"alertTextLoad": "*
正在确认帐号名称是否有其他人使用,请稍等。"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "*
此名称可以使用",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "*
此名称已被其他人使用",
// speaks by itself
"alertTextLoad": "*
正在确认名称是否有其他人使用,请稍等。"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "*
此名称已被其他人使用",
// speaks by itself
"alertTextLoad": "*
正在确认名称是否有其他人使用,请稍等。"
},
"validate2fields": {
"alertText": "* 请输入 HELLO"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "*
无效的日期格式"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "*
无效的日期或时间格式",
"alertText2": "可接受的格式:
",
"alertText3": "mm/dd/yyyy hh:mm:ss AM|PM
或 ",
"alertText4": "yyyy-mm-dd hh:mm:ss
AM|PM"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
assets/js/validate/js/languages/jquery.validationEngine-zh_TW.js000064400000025522151171034530021030
0ustar00(function($){
$.fn.validationEngineLanguage = function(){
};
$.validationEngineLanguage = {
newLang: function(){
$.validationEngineLanguage.allRules = {
"required": { // Add your regex rules here, you
can take telephone as an example
"regex": "none",
"alertText": "*
此欄位不可空白",
"alertTextCheckboxMultiple": "*
請選擇一個項目",
"alertTextCheckboxe": "*
您必需勾選此欄位",
"alertTextDateRange": "*
日期範圍欄位都不可空白"
},
"requiredInFunction": {
"func": function(field, rules, i, options){
return (field.val() == "test") ? true :
false;
},
"alertText": "* Field must equal
test"
},
"dateRange": {
"regex": "none",
"alertText": "* 無效的 ",
"alertText2": " 日期範圍"
},
"dateTimeRange": {
"regex": "none",
"alertText": "* 無效的 ",
"alertText2": " 時間範圍"
},
"minSize": {
"regex": "none",
"alertText": "* 最少 ",
"alertText2": " 個字元"
},
"maxSize": {
"regex": "none",
"alertText": "* 最多 ",
"alertText2": " 個字元"
},
"groupRequired": {
"regex": "none",
"alertText": "*
你必需選填其中一個欄位"
},
"min": {
"regex": "none",
"alertText": "* 最小值為 "
},
"max": {
"regex": "none",
"alertText": "* 最大值為 "
},
"past": {
"regex": "none",
"alertText": "* 日期必需早於
"
},
"future": {
"regex": "none",
"alertText": "* 日期必需晚於
"
},
"maxCheckbox": {
"regex": "none",
"alertText": "* 最多選取 ",
"alertText2": " 個項目"
},
"minCheckbox": {
"regex": "none",
"alertText": "* 請選取 ",
"alertText2": " 個項目"
},
"equals": {
"regex": "none",
"alertText": "*
欄位內容不相符"
},
"creditCard": {
"regex": "none",
"alertText": "*
无效的信用卡号码"
},
"phone": {
// credit: jquery.h5validate.js / orefalo
"regex": /^([\+][0-9]{1,3}[
\.\-])?([\(]{1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[
]?[0-9]{1,4})?$/,
"alertText": "*
無效的電話號碼"
},
"email": {
// Shamelessly lifted from Scott Gonzalez via the
Bassistance Validation plugin
http://projects.scottsplayground.com/email_address_validation/
"regex":
/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i,
"alertText": "* Invalid email
address"
},
"integer": {
"regex": /^[\-\+]?\d+$/,
"alertText": "*
不是有效的整數"
},
"number": {
// Number, including positive, negative, and floating
decimal. credit: orefalo
"regex":
/^[\-\+]?((([0-9]{1,3})([,][0-9]{3})*)|([0-9]+))?([\.]([0-9]+))?$/,
"alertText": "* 無效的數字"
},
"date": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/,
"alertText": "*
無效的日期,格式必需為 YYYY-MM-DD"
},
"ipv4": {
"regex":
/^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/,
"alertText": "* 無效的 IP
位址"
},
"url": {
"regex":
/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,
"alertText": "* Invalid URL"
},
"onlyNumberSp": {
"regex": /^[0-9\ ]+$/,
"alertText": "* 只能填數字"
},
"onlyLetterSp": {
"regex": /^[a-zA-Z\ \']+$/,
"alertText": "*
只接受英文字母大小寫"
},
"onlyLetterNumber": {
"regex": /^[0-9a-zA-Z]+$/,
"alertText": "*
不接受特殊字元"
},
// --- CUSTOM RULES -- Those are specific to the demos,
they can be removed or changed to your likings
"ajaxUserCall": {
"url": "ajaxValidateFieldUser",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
"alertText": "*
此名稱已經被其他人使用",
"alertTextLoad": "*
正在確認名稱是否有其他人使用,請稍等。"
},
"ajaxUserCallPhp": {
"url":
"phpajax/ajaxValidateFieldUser.php",
// you may want to pass extra data on the ajax call
"extraData": "name=eric",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "*
此帳號名稱可以使用",
"alertText": "*
此帳號名稱已經被其他人使用",
"alertTextLoad": "*
正在確認帳號名稱是否有其他人使用,請稍等。"
},
"ajaxNameCall": {
// remote json service location
"url": "ajaxValidateFieldName",
// error
"alertText": "*
此名稱可以使用",
// if you provide an "alertTextOk", it will
show as a green prompt when the field validates
"alertTextOk": "*
此名稱已經被其他人使用",
// speaks by itself
"alertTextLoad": "*
正在確認名稱是否有其他人使用,請稍等。"
},
"ajaxNameCallPhp": {
// remote json service location
"url":
"phpajax/ajaxValidateFieldName.php",
// error
"alertText": "*
此名稱已經被其他人使用",
// speaks by itself
"alertTextLoad": "*
正在確認名稱是否有其他人使用,請稍等。"
},
"validate2fields": {
"alertText": "* 請輸入 HELLO"
},
//tls warning:homegrown not fielded
"dateFormat":{
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/,
"alertText": "*
無效的日期格式"
},
//tls warning:homegrown not fielded
"dateTimeFormat": {
"regex":
/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/,
"alertText": "*
無效的日期或時間格式",
"alertText2": "可接受的格式:
",
"alertText3": "mm/dd/yyyy hh:mm:ss AM|PM
或 ",
"alertText4": "yyyy-mm-dd hh:mm:ss
AM|PM"
}
};
}
};
$.validationEngineLanguage.newLang();
})(jQuery);
feedback/average.png000064400000001123151171034530010405 0ustar00�PNG
IHDRR�b��gAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<<PLTE����o����~���乑�̮�����������c���ЖY��L�����R���������xĥtRNS�������������������OO�}IDATx�b�:
f��Fa"��
�����h$3H-#3T!>���|��
��� �"@�1���H
��F�
�/�i!���K�� ����ܼ�B� �a��
��|����$$����(@�����
L<��|�{��M8������b���
6x����hX��l�T���|$#�1��
��\Bll��0#��F2���f$
�
g�`��c�`�y/���y��y@��@����Lr|܌���
# ia$2
��F��2,3��24[��`�Tl�r�B7�0|A8��
�n�{K����XIEND�B`�feedback/good.png000064400000001106151171034530007724
0ustar00�PNG
IHDRR�b��gAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<<PLTE��й��̮�����������������~¤o��c�����Y��L���ÒR�����������tRNS�������������������OO�pIDATx�b�:
���na2�
����\������⇪!�1��f&@��+ab+$�1��f$@���f>
RB*�g��YX
��0@�������bb1I�0���!,@`#ٙY����X�9�I��20��3��0@�=��$�������s2�<@аd�0 �Ê>(q�M��%@���*��h!��d$8�b�
�LI|��,B���8 @�s�2��s�r�<F���xyX@�]X
��I�����y��H烌��I��4��`���t>(�@�9/�<��<|P��%L�A@��7��
LE���IEND�B`�feedback/great.png000064400000000671151171034530010104
0ustar00�PNG
IHDRR�b��gAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<0PLTE��������������̮ٹ�˭~¤o��c��Y��L�����R�����"UtRNS����������������#]�IDATx�b�:
���N~�4������Q�
��\`!6f��|����,��@$D)
�@Frqqqs��|��l$3##//#'�|�{����9y�(�4,�A"l|𰡄@`#��B<|%��b$/7L E|��x�����������N�<���$������M9
��F��?,�rP�
P����
\�������@���=��בnIEND�B`�feedback/great_half.png000064400000001024151171034530011067
0ustar00�PNG
IHDRR�b��gAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<<PLTE���̮��������������������乑˭~¤o���Üc��Y��L�����R�����7��tRNS�������������������OO�>IDATx�b�:
���a��� ��Hn���T
�|v��4�,��
V"D6�f$@��&~
RB&����F�H>>>~n6A.C�|>;//;ȕ6����IP�����G�|�
;�<�{��QXy�(�s��<@�0
�Æ,>'$,l�T��D �|p��H!AFF~�r��ll�D@��0s p3s�<B���
�څ���xx�IL��GH��l>0!F�H.P�eZn�������.,@�b���
����想#�Da�b�~�``�N��d�IEND�B`�feedback/poor.png000064400000001123151171034530007752
0ustar00�PNG
IHDRR�b��gAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<<PLTE�c�������o��~¹��̮�������������Y��L�������R���������,p�AtRNS�������������������OO�}IDATx�b�:
f��fa,|!��SD�h$H//3/�t>DL!>@�d��6B���Ĉjn>@���N&
2���W���0 �@F200�p���|!!>
�3�l$��
;'�&�����[����� ��q6A0�b���� �g��"�
hX��D��a��%F�h���H��#Q�HZ�1��@#8����y`F��Z���q
3/ �
g�`��e�`�y�J��|��|ܠ�L�@����L���<�|�H�C��@@#YA���Y0�|����|��*6Xx���E�O����7��N�YˬIEND�B`�feedback/unrated.png000064400000000577151171034530010451
0ustar00�PNG
IHDRR�b��gAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PLTE����������������������\�� tRNS��������SOx�IDATx�b�:
fVV0�A9 �`",,01J�7�� U �|��
����r>@�]�Dll,`�|��������,����l`����N9
��F��2�E�aC! �P���
e|��������3���1��������Z)��HH�B(��@@#Y@��MYY(���`a���@��
�={�~��IEND�B`�feedback/unsatisfactory.png000064400000001067151171034530012060
0ustar00�PNG
IHDRR�b��gAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<<PLTE�Y����c��o��~¹���̮�������������L������ВR������������Ӿ�9tRNS�������������������OO�aIDATx�b�:
fa�f���)2�4�d3�L�
>>�R�4� l$;�H~�FnT-��h$?p22I��@
���I��H&&&^AV�J>
�3H��H.FFAA6FNf��|����@����'@:
��gb.fHX2B��|B����
v~HX��V$�l$?�H~4#�1J � F�s
����1������!LI|��x���������q>6>>^P�%�@����L�<L��%�4��B
��F��2,���24�
��
P����L,�b�O����7���Q�
!ĪIEND�B`�flags/ad.png000064400000001203151171034530006726
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bL�����?��~�bZ1I��?��~E��a��@�?`d1��\O���������������o�����������04�&�@�K���M
���;�1<d��ٸ��4����+!Y�/�˿����T��������O��篿|�/l�~��ϟ������'㯟@'˟?@-������������S��{�+���}a������~��"���@L?~U]���~u���������)���?�-Y�@@
�����^�������9o�����_`8�� �4��i�V���?�K�=���k��'%����w����A�R�@,?�]���o
�3�dp��)�?�������o
]��70���ӷ�����a�gc��8�Ou�_����O����<З
�
�20���W�~|���ۗ??1<��r`��?ChL��@�x�w�1z��IEND�B`�flags/ae.png000064400000000630151171034530006732
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<*IDATx�b�π��k������������P ���V8���)�妛/F4e{/ђ�"[����@`
��?y��/=����߿�����_���Ȑ��@,`��CT��t^�`dd|��
�X�Ne�;����ȓ���I@f�����;�/������
��N���U�~�q�: �@�A�f�
kk�_�~���J�Y����篊��ŋ���II��?e����s!$���=��p$�@z�iٟ>IEND�B`�flags/af.png000064400000001134151171034530006733
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b������������XY���
�V�2LL``��q��ݻwMMM@��
��7㟿̿�������~(�������_?��\<{1@�P��W�����������~�����������{���%>���C�Kh @������߿@�@�����/1��?����P���~����'�a(�w#@���шU�;�����M�l��A��ƭ����G�\�M�ˏo���4���{�qr�13c������~�����$��b����9@�?��˿��2�K���s��o�j���H�/�ba�t��?~@���]?�D����v�:�\�3���7P@�@��z��n��:�����������_�p��@
@uB��O3�����'�_�?2��
>qE^��~����i�bd@�a
�c8�ƒ:8��.��EiS�^w�IEND�B`�flags/ag.png000064400000001117151171034530006735
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�d
�v����o��#�_ο������aߟ��~�����߿���[a�&�1�.���������g���
����2!�1H�[z���������1����?�����������9-���<0����������J��*�������w���?�3�
.���?��?�{�L�����g��Q�b�i����?�V��v.��&�?��25�����<�_�W0����bz�?���~��-)�
%�(%�D2b2��~��4y�}��o�����ϟ���������#�o��#"���%K~��������2��T@L@t�?��������u?.^���q�����@���!�I��䇿Lb⌿�u�y=w�T[�&��S��h����(��
ƫ��i��.6���
��"���iIEND�B`�flags/ai.png000064400000001203151171034530006733
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�1�]h�������P9J+
��7��������������1���,��
G����0X��aD�����������������\��e��ml��z���_�#n^���)��ry�O��X���Ͽg��2120|
�^6�R=m��/]���"#���c��jgh�S�����gުk?1���+�����
?
���������
�����O����Mw�����ԕ'��X�~;��ﯿ��JX���+��k�?P�w�bd�[��j��Ï����D����������_#yvF���?|�!�
��~����/������8����q����}g�q��@~�o`�1%�B�_���u�����h��_Y�~
�
@��y��m�8 �A��2��@9�?@�#�P'RD~�#�ܿ@7���$@��YH�@{IEND�B`�flags/al.png000064400000001130151171034530006735
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b����X�0�����"�����#�8@��%'�U����߿,��y�5�����߹o�dr3����ϯ�ѕ�����|����w�B9�t���{��ϯ_�����}���� �e��Z@,�����?���W�������q��3���߿~fs2����߯_����
���~�5������3_�K�����?=���珟"�����_��~��
���5����
�_�߿K��A%/���_�����7��
!�c~������_��k�}c���ϯ��>�Kagd��h6Б@��~
������??r�����c0��?~Qc�@A�j������@
��Љ
�6>f�?����f����!ֿ�~�|r6��
V��EĘ�!���O��0PȠ?�@FX@1��?���`H�Bc ,�0e�B@Mv�=IEND�B`�flags/am.png000064400000000761151171034530006747
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b����������ׯ�0�����?�1�@��1��Q���W�)'���v�eý��L�02�O���W�001���$���T�~��j����oF �?�t��
&�B5�&�a2~�:
�XD�f5�1y��ۿ���*��_�2H���W�7�l�������W���A�ou�M��p~8<�Ý
q�9��^��?(���T���_�����?��o��?�/�?��[�Ŝ���H@9�j��p=��������X���'����20�00�#�F�
F���������?�>0��^�o�~1����0�1
�?�Hq��ͦ�W�IEND�B`�flags/an.png000064400000000750151171034530006746
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<zIDATx�b���#����A���
Dϟ�H$@,@ >>>
������������ϟ����R���3�b�*��2>���7!FF�?��j
������~!k;�@1�yvvN���������ut.���}}��������
���� �
h�@��n��Ͽ��ӵ5�~��__o����_���D�?tҟ����_�
���|�T��$����mǓ��@��z��e`�@�o߾��燺���>z������s�@���<��:�j�P��
�!�W
�<YY�߿��@(�
��HëW�����֭����۷�11���?�@��iN�Hc�IEND�B`�flags/ao.png000064400000001143151171034540006745
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�4Ʊ
�0*��%��2��/N?�:�M�F����V��P(E�P��SOxAj�Y?/�^���}s�ێ�H��"^ᢋ�|]�;��˧<����e������
�d���,��_1��04}}�������U���� ������0���������������R��߿A����������~��������?�2÷o�
f���?��������ǿ��Z?�~���;Pۿ�?�10
q�n��(�`��q�q/�i����`y��)˸�ֽ����@,@�25�����������?�������wX���2�
���e���`X��_P�P��CH1���;�
�
��{����oP�}��P�
T����O*�@�������_�~�a������"���?�����`F��zu,�IEND�B`�flags/ar.png000064400000000772151171034540006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�<��������a
����Ͽ?�E@�
�X>�aHU�����?�@ÿ���g����/����\�=�
�X~�a�����
��@@K�����@\([�����?�b��}�)&��h��6
`>� $YD���:�?a6�b�Z
�}��/���2q{��p���f���.TB���������?2��@�
�f��`�c��N�9���3��@�\��O�����
0��r�����+T��l,����@,Y��J�^~�<@��C�4��A'���yD
�X���cd`e��_`Ȃt2@�t78N@~�
���~}��?@��H-(����l�p�m�A`IEND�B`�flags/as.png000064400000001207151171034540006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bTT������������`@Ʋr�4��l1����������������������+�!��
�%���1��������������2�:��
=7�����������l6P�����.Z������e�����m���K�ݽ�H?8D��
�X�����7�.E�k���9�ٝs�����˞_>�"$��|����l��u��{�؟���r�2rq����Oڕ��L�|~}�"#���
@1���!;&����������
;�����!6[���1�����������D�# ���0/JN&��r���H���鿿~��� �z��:�|5�s���6��y,�l\����1�Y��Y�21=
�
?��X~�����`��'0A��?�z11`?��|�MZ��yˋ����`d.$�13��10H10����!IEND�B`�flags/at.png000064400000000623151171034540006754
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<%IDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
տCH(�$����f���@,���5�DŁV��Y���?~���&.�o�v�b|�(ؖ�`��J!$77�۷o�$�*8;�BV����?�b����XX���k$�_oe��ߴ�˿�����4X�a%!�?��a��t@�C��IIP�E�r���0@H��T@�_Q#OC@�|WZ�^�IEND�B`�flags/au.png000064400000001241151171034540006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<3IDATx�b<^�|�C�rǻ��X����V*���D�s�����g�����10�1�KM��y<������"���������[M-���ܣ��1�� ������������=����F;!���
����鐎��>���_aQY.3�߲�we�~������p�k���t an�o��!$�AXx�?��<�/X� �1��~�q�S��-L����w��+���"��1�,�
����������������%"��������������1���)-D.���� ����������������WK+��� �Ѿ� p����/�^�6�����c�����?�������ϟz����ۿ�����ׯ?@�H�I��i������?`���|�V?����?P@�5M���y䮾��d%�~�������͵��~���f�5�������?�:��d��c��M���`
��w��IEND�B`�flags/aw.png000064400000001014151171034540006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�,� �(�}X�Uِ9�
��aJs������9H
�͗DQ�by���kIϣk7�G�``���������
-�����?a�1�b��`�����Ҟ�Aſ����������
���A��<���ӧ_�Z����g�_���@*��TR��/��B@�����/,l���~%�������߯�PK�"�����/�������!n�&����a�}@,?Av1��������hd
`��j
�߷����y�t<����ed�se@��N������O�C�f�[�*v=�K��k���U�"`0Mb�'(H����=�@60����K��!?ç��F$(:��_�h�2��\,hҪ�U�IEND�B`�flags/ax.png000064400000001227151171034540006761
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<)IDATx�bT����?��.%��<�7�M`ɔ��~�b������/���
�����3����C����-�6{G����̿�����߯���?����
1��������������������������������P8)�0S�ߺ�V�,��!H��F�:c�S�v�E��p�/��VfV�����_������_n�;~�����_0���߿?�9��Z@,,��d|��������ߌ�~2�����'#Pۏ�?2���
�IJ�
1���*��������^����������������k֔�T�o�����j���9"wd������@�/���ʋr�Y��!z��
���w�\7�
�X�:B�,~[q�[!�S��Ȃr�@,>���Y~�a`bf���!!������?������0������
���3�������ʅ���3(OL�<�#6�qL-���AIEND�B`�flags/az.png000064400000001115151171034540006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�x�������ÿ?@�?@l������
�X���vU)�D����T�߿? �? ��_
�������4�@�0pq10�<�
g�����߿@����3������_@
��r�1���aFF�I�~�x���_��@������������$$͜ @,LL
�M�����?��EE�JI��U^����߮^������߿�� ���ğ���aWTfUP|���ed�.�����,$��00P#$~�a����k?�ޗLK{�f폻w��8��#P�'H0����@�����gsf������?�^y"���?_�ŵ�!�����*����_�B�����2�?�����
�X>1���G�M�_pЀ����l�
����ߟ�1#C)P(j��$����a0��e#�WIEND�B`�flags/ba.png000064400000001121151171034540006724
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd`8��.��O��.fQ��/���������$������� 1�VI�����ƷE1��������������Sm*�����������>^��3��mŮwaf��20�����~�������l@K� h˿��0���m��.�K���������O�j
������@�
������Ts���?8�G�?��ϟ�~AT�������T�����q���٫z'������@?5�����_� @
��l?��_��C��N]���?e��`��?��6�
�������ߟ���?�u¢w>A��["�����`���`�@s�$�>��{�ۀ�
�@��h:@��l��_R�h�b2@���{�{�Ə�Y3��ȱ���@�;@���
��Tj/������`@����IEND�B`�flags/bb.png000064400000001111151171034540006724
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd`nd������s�1������u>����P�z�'����?L�2_����
���f�?L,�c�������/o�0
�X�&����߿���b������������������ï����e%��6�h��?@3��������n�����~����ϯ?~���@,
w�U��D�������������/��
�_���6����oC�_?����/ �ׯ�`K��j
��?�������_�mp������; ��6�
���@�@
lï�̿x~1}�
���/�x��@J��;�߿@~��
�
b�����������4�
�`���
t�OV������a`���GI��Aa��
��X� Do7/���������0�ca���d`������
�f�g{5̽IEND�B`�flags/bd.png000064400000000770151171034540006740
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bdpf@�����/�����D1��XúL�V�wO²\9f����gY�dR'p5!t�@,`��?y��/H�_�'�����ߏ�����Y�ׯ��~��-+,T
@,@gM�l��wڥ�L�~�����o�/�
_����{����V�j
&�s������o�'@���$����/�{�~����/������_
�Ͽ?��@UIC�9H��?��F5�
/����6�7���B����j@�4Y@!�����������À��$���A60t���h�V��?5�_�%�
����9ʿWȀ������@,
����
�����6(@��D��Q���bd�D�H�
���_��ak9IEND�B`�flags/be.png000064400000000701151171034540006733
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<SIDATx�bd@�3�1��c�'����?q�@,@���j�
��������?��x�����@�M��l�'O����~30����7��������~U3��m
���J�Ф�@տ������~��h`���
�@@�!����4Hß?�����B�?�j��?�6���_��j��0�N
���~�Y���
����8 �[(������P�_�Kb�III�7�22}�Le�����N
F���}���w��0q0�{��B$���p��
��Ze���IEND�B`�flags/bf.png000064400000000761151171034540006742
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
տCH(�$����f���@,`����JCL�����7P@�1#P5Pş?����~������� �4
�X�10�r���q�@�_��@����b����ׯ�
{X��\b`
�Z�|�?>����ן�~u\�5��������(��7�T�}� @
��B.�c��^�=V��B�zE�҈�R�f�
a,�l��@,@�ԁ����L��j�D�����#�- 6���N�
��f��/�����@12�3�@�T�$�p<31S�h��B�IEND�B`�flags/bg.png000064400000000716151171034540006743
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<`IDATx�b���+����Df�����(���$��������SH�ŋ�S���`ddZ@,w>ݑa����/B��?
�0D�L,���
F�f�2��G�����~��
B��$�����D����t
�c�������5S ��d�I�U����%�s��XR�af���:��%�@�a´f�!��|g�
W�0a����ן����
�����b��@���s� @����,���=�q
S@�;JB~3��˨ �X������$P(����?
$��A@����H���&<�e�*k�:IEND�B`�flags/bh.png000064400000000711151171034540006737
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<[IDATx�b����n�/*���_���1
��xyy!*�����5ü��_�f���?��������@6���i@�@����._a�5��w�~��ѿ�_������@� �tu�761��CT���Ā#�f�b�����/_f���=�x����@�@Lp'������KK��B���b��1Μf���X�o�à60��@L@'��#�&�����j`pm1@A����S�{{�?{�P
!�5���@1�z�JPP�$��Ç�����?~���+�T����=��M�WYɀ���w�Tm���IEND�B`�flags/bi.png000064400000001243151171034540006741
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<5IDATx�b��*�/�*�~�e���1����Ǐ?���c`�
����?�OĨ�\�J�=
��ɓ_��ae������@m�������������9�81�<�
,39���]`,-�����)%��|�yҵ��E�O��M`��~C1��x��N�Io�=����x�0�p��M����Б�<���\�<���w����3�yd|��+h��G�3��
���������rqp������?�V�U7����Ϸ>~�����/(4�!1������������#
/ଜ������ݢ�!)���������� Hu?|�P�Wz���������5�%�3������_]H�ƛ���1�����e,i73����feqp��놅������0��Əϊ���a:���@�};~�%��"�x����߿���������C��$n7`��e��e>��3������@��aC�얯�&�
�}h&t����IEND�B`�flags/bj.png000064400000000746151171034540006751
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<xIDATx�bd���
�10��������C�k5H�@�������3�&������J~��
�XX���|}���߿���2��c����G�"�F�e��Ȯ�@������7#��єBH��@
2�/P��?���������H�P4
y�m�a����^�Ӏ�"y����f3up&��� �����z��/X�����c���/����$��o`(HȨ���z~����@�@��9@�����������A4@TC4�j��/������HrK���ߟ���<@#���߿t@12�20|G�/02�1���T4$k<@�+�IEND�B`�flags/bm.png000064400000001143151171034540006744
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b<�^��I�z��z�K,L�/e�e�D�I}X:�����?0�F@1�3k��X���������:ɧ�����������������Ʋ��eοu8��c����,��0Z����]��_�������/�߿�de�V��4U-�7���}�(�Ω(���[��~]�����ʕ�����χ))@W�3��_<�3�1��������ۓ������_?k������M�'�I@
1�t�r�y����������!H���������kJe[\�MM���������J�y�ů���}y���_���9�t��/�?��
���a�T���/
��O�/���cֲ�s�qp����
�X@!
8P��Q
%��Y rꟿ����@�4����UR������<��߿��_ĸ���,"����X-��$@�5�K�]�IEND�B`�flags/bn.png000064400000001177151171034540006754
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b�z������Pƿ?
��P�0 �bl0�0��7��\Q
:F+@�B����k��W+��PZ8&Ԛ�/�X
3�D3�����տ�~y���'N�_�~�f`�����/FV�=���aem
����������[��G~�(?``���߷~���������[1�wyy������bhh"����������������y�����hpQQ�Ç���?�V��,���T�?-����O���`�������b�|��Q������~�f�j����$ׯߝ��2Y��u����1���u�����������#��u��������311cee555���Ev���?��g������A���>�w�߿~��篊��ŋ�R@9Ff������?���Ll��V��}���O��<������@��ӠXF�_P�dba�d�4�p��a�w�
�p1��iIEND�B`�flags/bo.png000064400000000764151171034540006756
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�/�����e��~0���1@���`8ގ(o�KlhF[l�܉�B)Ѐ��p����
����*���*��?H����(&�
�X�E�eS��O�?�������X���`������<@�|Ib�����0����?P�o�]0�o���Xy?�0�#
�A�@����PE�1�3��������?�o�j�f�l�%`�����@,k�0����?�
��f��@��a�1�@��~b�����O����������(\
�� �W����O���($�"
?�I���b�� H���|����a#8�
!�,n!�P
��#|�9F�IEND�B`�flags/br.png000064400000001121151171034540006745
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bdHf@�`�/0�3
�@��5F7�g`�������6Z�X�l9����
�ϟ߿��������U���O�B�Y�����;K��^����?���K�_h@�5��T
T�5T�oUդ�$~������涐e�O;����o��� �b��L_g~
U�s�zhd�Č��Y�/�����D��:����U��6�[R�?�f���?����O���Gs�A��������_�2Ж�Ҷ����0<t��{��W�|x�_��D�˒_.�f�g
�
��y��)h)˖���b�U?}�������n[��/�I��^��r�2|d
�
����&�g��o�������~Ko2��,@��
`H��?$x$A����^�;�3˿�k���a�ܿ���(@128"b9F1���C/A��nIEND�B`�flags/bs.png000064400000001016151171034540006751
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�f��b`cc����c����6��0���
��R���18:���������������������MǎȰ�w�ܽ�7$䯨��
=��1����~��D@m���x��?�3wn��+��@5@���
f��1~3����c@�4�����x1�F���z`�!�J�����{��ˏ���~����_P�@ma��~
�
~�����'5䷬����"���7P@�l���ׯ?<��A��M���l*��{����@����緘�Y�__�"(d`�P����_�?�E�c��[N^��7/?���B�78~�b�A�w�_/��AZz������>A���~��1$�98^/x��JIEND�B`�flags/bt.png000064400000001167151171034540006761
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e< IDATx�4ɱ
��(�����P�<A-Lw��A$�/�hXq�~���@,@�,j�@������g���M�?,���g���7�?�����v@�������_������'����_?�2�-���芛�ʲ�X� l��j
���s>|���/�_�"��7�`��������v
P����3������w��~�����Mj�����@����?���00�������3��ga������;7�?�o���j������������[�����}����_����ï�ܿ��j
��������w���,��ވp������Q�g�}�y����o�?����
����4�?�滏z�>)�Le��xp����/Li����_��?����@,L<����?�V�n?���2|�����b��g`����?�0�
F�����|��?���"���CA@��!#���IEND�B`�flags/bv.png000064400000001000151171034540006745
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b|�r��sE]��D�3�?�`A� @,@Q��j
�����)FFF���0����~��
"��߿�n�@,`���{�H�|���σ@�������_�����,+�
���U��@�����_ �
�@=�@$���@W��߿@g@�������c@e�>#s�d����v�@m@��$����H ���9
@�������ɂg�q��q&&�����=ff�ܬ?��l��줷v�~�|���o�7~�aQV�z�@���d@�
g����'D�/� H'���?��f
��?�$A.���,�_P�3���������@�WaQ��މ�̮ ���1$�`$�Z��l��IEND�B`�flags/bw.png000064400000000673151171034540006765
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<MIDATx�bT=������߯@�H�������̀�0,�V@@��$�U��0JN�.�%)s[����҉z��
��y�X_�0��gx�������V$�U���@ �b���#///�I@+
$V���x��}�b�(++{���
�
�����Q@R^^����럿@>\DE9��H�߿
ſ~���R�l6��b�b|��-???~�Cd�~�u�@���iQgx��a!AHp�c��dX�G
�X@���I�
��0e����F�_�
0~��G-@12l���)R�0@��Z���gu}a^�eNIEND�B`�flags/by.png000064400000001002151171034540006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�L�A
����{�$m�����YJ֚��a�&�N� ����0t�g!fK��q(�|q����n�@2�$�E��O�0|�Ȱk��|
�j�P�H������(+���
�X������P
��Q
R����o��b���5�ƍ��`�?9 A?!�@��
*��wRT��yPmp�@�?�6����?i2�0��O F'�?������H���߯_�����߿�������Q�s��
���m��nj)��}f�
$?A��OL�>2��,�>�����
�X���2|��TS"�'���_�a
�����@譿@��~0���/�I�?x|ڴʔ��a@0���
�o7u�[TbeIEND�B`�flags/bz.png000064400000001130151171034540006755
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�ɀ���0�
&���
���v��E������7n�_���y���3'㻏�2���ϟ�/���.�g�����?�?v��d~�����_�7h��T
D2�Lj�@��������oD�7u^c&Y�>�")y�X����~-b�@L@'�����習�v�����>w��G?%yt���t"�������`��e�Q|!�_��G�Ǔ?����W`�P~���_@W�i
&�_������^<�����?��>dP}���O������o������H�o�g��{����P���;��^�g
�ÿ?���@,�0��_�_��a��g�r�����?W4;<{S���!@,�^1~���
�_�,��������6������=���/@?�
��H ��o_�0b@�f
0(t0���IEND�B`�flags/ca.png000064400000001164151171034540006734
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b�����&���p�>̀���$���LX�
�``��@,�=�,/J0~���~}����Y���,��YY,�<����?�
�Xx8�f�{��W����2m����J�A�o��)�$%�
�X������������+�����ï_O�a����̔�����:
�X������߿��� ��e�L.Fn���.�����ڵ���d`���'P@�0���������Ke����g�a����3fu�����������$�b����?��6�����')雰�ӿ�"$�_^�
T����_
'˿/_���п�
��bd�27g��t�ϟY1�z�
�X��}
���@���4�����Ԅ������(���l?���:
�X������($��;#8�q�.$d�c``bb
�**1����@����Q�����ʕ?~�#����#GG6�2
0�2�1x��IEND�B`�flags/cc.png000064400000001161151171034540006733
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bd�ef��?�I�_0����?��lsA����/o�Z.���߿���������W��{���8ξc�T6
�@|d�&�a���ny5l�+Ǐ?��}�����?��������_μa��@L"�9~�)�7b����oV�_����j�l���_�������7L@�1�W��1����
R��g����7��l�m"�2���7�^�"1������������� �}����%��������� �� ,��~���������ﯿש�����I'�������v���_��
��������0������~'���6��ٯ��������E�A�@,@
��
���ϗ��9~�����/������_��`��@,`�H�<P'�/��p������߿�߲�'��9����`��HQA�a)@���9� `̫)����IEND�B`�flags/cd.png000064400000001073151171034540006736
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�
�~T�U���%3��~�c������/���b`�?`�@12�7.�ht������������?���������ߟ��~��d�36�L
Y�S�?{j]x*��߿�@������
b��B
��7��bz|�d�9K�j��@c����
��~�������@
�$�u*��أ?@���������6�U�</~���j�@L/��>cq��$ȕ
����_���(���k�8�k�������@L�:GR��=�;`�5�'�������ݷ�`�`@N�@,_O�L?iv�7(@�r��19�PVI�)��@P�
�@���6�����;^X����B��7��o��A����W���婽��p�l�q�g�%$��`����?pH�F�x�
���A_�s�m�<q��6�����$�?0H2u��p�IEND�B`�flags/cf.png000064400000001146151171034540006741
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�Կ��/��Vҿ�9����~a�xA�/���c��2����L��1�ئ�}�2���k����
�m����<���������������n����_��9��l����o��������O���R���?
).��� ��<y)%%
���(�����������0���FF�����o�ff���`�~�4
�)@e�?
���i��~~:������'���9���~�|���Av��m%IJm�6UE�_������?������W4�_������������җ
_������@3�J��A��H���]�?l�R������������7(���5����<���I�����3�
�X8t���/��?���
b�f���I�F�@!1[�b<t������������$�����]��P��\�Rw�IEND�B`�flags/cg.png000064400000001011151171034540006731
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd8�����@��R����������
�X�Պ�`���������?������'F������&����}@��M���S�ҿ�����HU�K�6��P�/Z��q�,�z�b��d0L����RD[sA����~����o��b*����
����4��n����������_��f��h:@�4��2��ߟ4�����v�������@y���R��߯$�?�|����k~�����/�F���h����bD���ÔI��_��@U3��j�럿B�~�
��X�g�Q`
��C��ba����Ǐ_���(���o�i��0���!�$�b�ʰ�'4"���ݘ��fv&R��IEND�B`�flags/ch.png000064400000000557151171034540006750
0ustar00�PNG
IHDR&��qgAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b�π�P�@,
^u5����###��7Ï��0���g�l��`����S��-��d��:II���$��/T~����7���@��hYe������@�����ׯ�@���
���02��0q/@�m��,��*�~�
f��e���֭PIss�See��R���@���_@q)@�T0���HQ|���?���ڀ��)����&��Ǐ����IEND�B`�flags/ci.png000064400000000705151171034540006744
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<WIDATx�b�?����c����S�G
Կ�'āR��� �X�00�V������??�
����������{ӱM�������_������ۿ�����,�,�*�b���T�����o4�@���/��%�~]@,@�12�e���?�����P
���i
�W�f��K@���?�4�~1��k�I�t���`�a�t̟���@
� ��@���U���"`�˿L@Mܒ
=���������8��^���~1��R��@q� D������}PL3�c��
��v�C���IEND�B`�flags/ck.png000064400000001112151171034540006737
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bܝ^����K/:��aa�W�G+�坟�H��m2?~!#�b47o\��]@��k�~��#&%"³�3��3�r�����߿
�-�/1������������4����
��������eH^���i���?MU��B������
�K�]�Q�
T���ʩɿ~��j��t@1=0p��ƹ� �S�g�����Vx�����_��z'N��~����OT�<����n߱�g^_~�n��ݏ�:ue����*Z?3���=
ۀ^������IJ��;e�@��,��⏞���;�[̤�A�}���_��mmm� 謿A�2��H t̞%y�@���R�^���B�]��2�H__
��/e:P@�5��Y
1��? ���@��1[AF���@
��`��?`�_l
�v�Hn� IEND�B`�flags/cl.png000064400000000702151171034540006744
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<TIDATx�bdH?����&�����.�b``��00×?�Q��f�N����/'3#�FFFfff&&��H�˗/���!�B��?C��У�?�~� T
���
�;�]x�����7?����_���P@�0p|��ڸ���9����K5ý;L�8�?����?ӿ��8������X�&�o��_����������߿����~����F"���ޟ:@,@�0����AQ��$��0�����`�"Lm��2��
�@�~�a����H'#�H D�BP1@1~�.b@�I@���h9?9�IEND�B`�flags/cm.png000064400000001015151171034570006746
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd���
X3Ȁ����+ÿ0��B97��_`fSVEWֆ��l�]LtkF�X�r]h@���#S���T��O�>����_ƿ�f������P����_���oFFY�%8c`9����T��'�Eu��&.$l4����eD���|��J���d*P[���������
���0������߿��� �~���_���_
�_PT��
�@�����_�~�:����?������?����@,@
������I@gd�}��=�P���@�4����$���_���!����k�������:&��<��z��I�?�`���@������ɅJ��D���d��P�IEND�B`�flags/cn.png000064400000000730151171034570006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<jIDATx�b�����@@����n"�,��
@,@�D}5o,���X����x���?���������$�}m�&�i��,��7��۪����f3�˪�����
u����~�,��@K�/k�����붿�f��ϯ�/AJ��~I(���
�X@��u���8M�����~��@����U�k
�����q�8�V�7�T��@@
��/�������:������
�D����UM�@
@ĉ�����l0X�����
�X@����$P� (��7�xX�����_��b�b<��Ȍ?H����a
`:�s0�56�IEND�B`�flags/co.png000064400000000743151171034570006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<uIDATx�b|����?(�b����@,@ !�j��@�
����/P������������۲
�X�&�O�J���@z@*~��_`�]h @������ȼ`��������
�X���e`������l0��d0�50�0#������/������!����H��a���(�~h�I�ba���������~C�����d0����o����f�����k1
\����~��
�X����������M��($�\�>��@���)+�g8@,l�~0I���D����
a
����������@�w�����
��DC@`��k�/|��IEND�B`�flags/cr.png000064400000000735151171034570006763
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<oIDATx�bd�oe����1�����$�F�?�Ĺ
A���>��*��W�m1z��;d��*�,�!��{�@�?��gf+`X3
��?|�@,�1����?�Ŀ��`�/�:l����k�J��A
@��_��!(���h�\��HD
��ӽ��dުO�=�t/P�F��4\�������L@��)��@@J�*~#�
%���
�XD�[9��}�q(��s7��엿L||2�'�?Y��Ar���J�Pz�-@120�:
h�0�=�����d���@q����eԐ�Ext¹���$@��y���IEND�B`�flags/cs.png000064400000000667151171034570006770
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IIDATx�bd`���
�10������d�����@,�1U&a��FwOx$�r��3�{��IK&_�m@U�
�y��<�T
T��7�����������~E����20|
SSMM!QQ������l<��N0�DE9�o�
ƿ/_2����0�?ݸ@,�B������h@��<�k>І��P�@,������~�
z̀ �dED�tv˿�י���0����/�0�"~3��ˠ�t3@���II�H(��7#���B���
�b�b�
�b@�I@�s�g�_IEND�B`�flags/cu.png000064400000001063151171034570006761
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���긜�����7��0�������H0�D����E��������������?��?
�ϟ��������"�s��g��OϞ�%%���a`���?��`����Ǐ�t���9��<}�ׯ���
a� L222�11�G��vf3�߳g���c��v�0����r��%�9�n
�
,����̿��N�d��̧]_����������_@
����b`�@
v�`�����?��˫��*Z��T���c �b|�����������&� ��
00������;�ϟ�pe�����h��H`��ËJ�~�
����E�z��g�M���
a���߿������?þ�9�x���Tt&4R����S0�L��`�
��S�vepIEND�B`�flags/cv.png000064400000001021151171034570006754
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bdH����1�����c��J��
�rNCA�2Q�l��$��o&;�0m+��d4Ѐz>�*}���b�O@`@r
�`�~�W��h@�4��R
��\�<���n�Y�_��5*����N�@L@�`��d�F�nz�A$zM�bɆ��[����@���edd��cF���#����33Wu5��{�P�i�������_�����?g<���-��3�ɽڵ
���
��<�e��y@,��JӘ��o'2�puծ��/T��u�u��X�P��Sf�_�@�
�f�L\l/�H��..���mƋ/�g��xj���������
�;�#��W��2Q���1A
`�B%
��[IEND�B`�flags/cx.png000064400000001140151171034570006760
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�g�Y������Df�@120��nUa�;�O��?���������?
���(�g�ߛvl
6�o\O�8�5:��~�o��@=������~��Do��:e�6��������k�V��|4���߿�����W�������۔��I@1�U��*qs1�y!�kZr�c�įX�_ݪ�~���v�Wҕ_������w��i��c)*�����I�U~���v����O
�vR�̯��}��$�j`HI�z���_~��_�~>ʓ#�k��O�?�~�� T��߯�@�j1�S����__)) ��ﯩ=����"{ll��!�����������?����?��B�0�X@���
d,��? 3�XT�R���"@C����u�x23$KK����0��� ���[+�>���$�ڰ���Rd"G�/0 �����P=Be��IEND�B`�flags/cy.png000064400000000654151171034570006772
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<>IDATx�b���#��L�)@,@�������?D���N!�/^L�d��@1
����
��PU�c�v��O����w�?h���?P����
m_N���7����n��|��"��g�����b��b���_������?������p�1��@
0���3����ֻ�����o^a;
�Xƃ��ۗ3����ݼ��0��x�W������{������e��9��5C��ݻ���[>>>dc��,H���w��Ab����0��]/uT�IEND�B`�flags/cz.png000064400000000734151171034570006772
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<nIDATx�bd�?�
��&�������8���@�����+{��_E������B/^�
&
�g��/G����+C3b!@����s�������@4���������纋����-�Kß?����o�����?�ߟ+�߾ZI�
����d�����Q@�!/
��6
�������s~����ׯ��A�߿��I%�?��?@���5؝�hwn#T����~1��I�k@��
�X~���>��<H5�<�6������:�����ӷ����rL@�J����H������ba���Z�q���P#Ph��
�c0103y�JIEND�B`�flags/de.png000064400000001041151171034570006736
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b��qf�����?f�_�������p�b���{qq9������/������~�^�n5@�011U�8y $�?A~���N@��"�
��,X��_�@:~�"���?~�����@��Ne@b��@�ь�7�h4�LVg�2-��K�
,�
z�#������2�����ׯP
`�@�;D?H%@�1��?���?���ڀ���T
���/@���b`P������������P�I�����@҄��a�b����_��A�*�$��B�$��b`.�a������?��FL�A��������@���@@�����
�X~�e�3o�?�6f���A1������?`@03��b�21��������@�wt���_XIEND�B`�flags/dj.png000064400000001074151171034570006751
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b<|���=/�1p�100������?�?~����Ͽ�"�~�3~�cca
�����p�1�����߿�������/��?�f��@,@<f*���N�f���?H���������a�@
@K�����7����/�j����@1���a��_�
s3x��������&b�����0���g�o���'��`F��
��q��t������&A�''���;����������g>�����_�~��&��VbWb�:@,@'1����|����W�|<�F��"������I�����O{�������_������P��?���f
���>������C�L\2�2@u #����
��!��~1˴ӊ�3|``��0�&��`�`��
�|�^#i���IEND�B`�flags/dk.png000064400000000757151171034570006761
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���
�����z�AR���������Q]
V���xy�K��}���ϟ��3�I
����/7m
�����<e���?�߿�?���3Hݯ�����P5��,�t�,�A@@���I�f��0�8_w��Ģ=-�A#X8s���H��y!h�6�;TM7(|�*$r��b�t�0����F����������cC����#Ȩ�7+��
W��ŵk�������� ����,JJOΝ
�
���HB,�����O�
P�`�z��y���?L��`c�����_�0B�����`�A�����"��o�<z���.I�hfb`0�Y��Vg�IEND�B`�flags/dm.png000064400000001154151171034570006753
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�d@�@��(fU��?�W��D~1@�_�T���$�2���������
�Z\����9+
�������ϟV�X@,��~{���_�PC̕_��)���=͍��$�@=������@L
0������×v�?QVS��~����y�?�~�������1������������B�I/\��Α@X}��q����ש1�|{v���������d+��1\������� N��
������߿@=����t�/2���K����d?���)�Ծ(����{�bd�f(�.~���¢�H9�����οv�nt�����!n�&��@(�)j?@L�r~���������r1%�fz���~�4D5P
�����@,@����[�SD@���Zc��π3/����v����PH5#C.JDB�/���>}*"
��$�M�,��8̃IEND�B`�flags/do.png000064400000000774151171034570006764
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�\���c����߿����|�'(�����
��T7���?�����������Y�DSS������
�L�ݴ �@�J_������?
��,����{��������P5��,����
0¤(�?L!5L6b�
�rv�YD$�rТD�W_�0����L������A�J�:�k
ƿ�222���pF&��>�]�?m���ȼ߿w���Szh��?��?q�}� �PK��<D?���/�ۀ��U��t
(l��p �C�
�20��f��
H@�5���$)�
r���L�L���b\A�
��@$0���*jDBH��?p��+�
CIJw�OI;WIEND�B`�flags/dz.png000064400000001106151171034570006765
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bT��������ǯ_|af�[����(����`���
@,o�}�����������$��,*)��T��?<z�
�XX�X�3���H��?���������_�n������
4����HX����?@$��[�ל�~~����ݗAT���nP-@1���d0P��߿��q}����M1fO�/[�221A��t-@1} 2�ϯ����K��K~��`��Z���ɗ�aLLL��̌����_?�.�����
=/��V{����*6eu��k ���j
&�߀�������Y:���t@��_����N����
�����_?/p2dhL���r��/+�����@=����ӯ?�Ex~��
��u�����Y[��6l<D5�
FoA�W�~00|c���xgcط�'/D�%�00�Mɜ�7�IEND�B`�flags/ec.png000064400000000764151171034600006742
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�yS���'����������@A�0PD@�0�{�,�V�����@���!�������@�?nt�g���$B��J�$����#�8�z��r
V� u �������n �O��?���;���
��,�8��E���-��/����������?
�������I�L�}@,�oI=����
�o�4��������?L���\J�����$����Ư?��@�����_P�y���_�������P��/
6$��eUR:{� @�(00p|��
�
R�b���YT���/ou��!�Pl��?H$@��l�#K���IEND�B`�flags/ee.png000064400000000655151171034600006743
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<?IDATx�bdp���~�c�F����@�������?��P(��0�v`yS�+4�k����vrOVȦܙR��60
2�� ��O��A���߿ (�������/
��?Yav�?�t�?��@�A�U� R
R$����t��ba��״�ϣG��7B��_`F�����I��r�����4P�
�@��)����|�d��F�ӧO�������
@J/\�@,��^+%�����@�P���
�@<x����ģ�`�0�.~�xۙVIEND�B`�flags/eg.png000064400000000721151171034600006737
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<cIDATx�b|��
���p�I
�an��l���%�#��e�aw��.;R��!�0���9O���2����)P�߿@Q�
��7H�/
�_���L��@����ԔIS�ATj<P�߿��f��ƴ����_@����,de۾
���������0������~?a��`�����>}�@L�B��]~~����g-������j0�����������?��Ĩ��_XX���k������R_�MZ��]$�����mmmr}ZZڽ{�~��/0�0@$�4�EEE��ŋ
V�����@)�(�0[�b�_*
�@���NcH���IEND�B`�flags/eh.png000064400000000774151171034600006750
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b` ld`
U__$������?~��b�����Z��ݸ
�X�:�?}�(�~���$��߯_s�}�����@,���J���U��������@,"R"ܬ��`��̙�'O����y9P�CKKٟ?�
b`
��f�+W�Ϛ�����@�j��@��P)@1�셫-��II�����������/�����BB��9��?�N�)
�A�߿�u,��aTRzs�@�(7(���x�70�������
"����M�ϖ����x�b�II�����џ@$0������oЌ�;��@���~������j9v^f0�
O
�:�uIEND�B`�flags/en.png000064400000000760151171034600006751
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���#����߷/礥�10ܾ��P����?T'�zQѿ?�����#�gϞD\5H�߿�����߿@����@,h�!$P��_��J��;�@�<HI�������<�������߯_��~=cPP$����Ѕ�\�by�z���үǏ�����o�K���_�ޭY����_�
����ޞ�ȈM^�߿�@�m��u+P)������YED��
Ʒo�����]��\]����%�,��w��
�?���9���eD�1C
�@�!��l22@'121M��Ae��իW�q��ݻC[��b`p�t�AH�����D�J'PIEND�B`�flags/er.png000064400000001215151171034600006751
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b<��0G�a��W9�_0����������;3�3�?7�������_�?��ѿ߿��ɿ~���i�&�b��������3%�?ʗ�ڱ����Y�?{5~�c����?����߲ܲ@K�d��?ր?�Y���������?ړ���sE��I��'d?�����1��G�����'����t����;�9������!��0��1����W�����������������J�G�����d��X���7[�џ��a���
��_��3s�0?/l�^ǎa[=@1�����<�����������2�6�5�
��%��dÿ���ͦ��SL��j]T7;-j��C�+㏟�~����B1�������+�K4��������������������q#��51�y-~p0�F�X��@P��8P�IEND�B`�flags/es.png000064400000000725151171034600006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<gIDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
տCH(�$����f���@,�3���}����^�_��������/03��f`���@1��
T����?'00t�|}����/�jb��@��v�_�1�b���ØU�zW��[F�z��@L`�EO���?��Zf]#��l����� ��7P@11Ę�w/q�������?���̆�@7
��
�200����w�,�0��Ɵ��2����x
�X��f���AR���C��!��@T@�_Q#OC@� ZG�����IEND�B`�flags/et.png000064400000001120151171034600006746
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�Td����a�����/�_��0���_`ap0çwթm
�����������������y���d�ޔ;
�X~�1�f|��
տ������E��_����/����@VDh.@�0(������H��?3�13�9_~�x���@���H�s3�21���v�����̄�>���
��2�x:`��������� �ٿ@>1����
�Z�ϿN�K�|�#�@�4�!�(#ӏ�B���%�sc��HN�p
�51���j�����������Q������T����"�����?��f��(���W]s�u m`Xj�9���_���j���/�9����$ؘ�~3����������4�2`T@�_�Q��P�hR@`!
=�ڮ��IEND�B`�flags/fam.png000064400000001024151171034600007104
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd8�������a`����ï?����X@B���Q���?�_L܌Ue���c����?�?���5e�����
�{�K@�� ����o
��& �~����rK��0&%�7�i>O'��*�k������@�Q�T��������?��?�0ÿ�3y��:�������
�r�_�d����?
��������\�zd6P��
6�:I�4�C�V�4�I@O�'�%����s�oH����H(x��c��?�/F���N��/�n����c
�
��3I�C�7F)!~Fff���!D@��@������a�Wp�ci��6T�P �]�;�T��@�a�e�/���IEND�B`�flags/fi.png000064400000000751151171034600006745
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<{IDATx�b|��30I��`�������2.�?��A�0����bab`��*���k�ƿ����e�Pr!���ڝ_��l8D�ٛ�@S����`dd���@����5�_
�ߟ?��$�d���1�5#����o~
������@m@w����?P�o�
Ј����a_հ
tl�@����
��4��*�NW7�T`S����9��ba��d%�P�j�"
���/�c�`�����dx���qh*��W���s�'��>~�@�0��cfr��@V��@�5�:�<��Y�ƀ�z���;�@"rV�Q�_�(�������@��>}�`��i����IEND�B`�flags/fj.png000064400000001142151171034600006741
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b<�[��T��k���ؘʟˤK~
0�T�
����?�`��?�o@@1��o]�G\���+��}c����v��CC�_�����
rҴ/�2��*ƫj��2���w6A��,��?bl����/X��
$�����@�l�2HT��z����B��
��?������xK!��"^��
�0�W1@1=3rc��Xy���o��X�}�f�W|�����~�����/��?@6�1�*(��
�&������%*.5���������WQ��2U�����o�3ó��1@\����������J��տ���ga~�g�r$
�X��������
�������)�nۏO�����?��F�4�B���{)�w��{��g_2�
�X���I���/�I��ڀlF��@ܳ/N������
F�̯
�_`�W��@`8F����IEND�B`�flags/fk.png000064400000001210151171034600006736
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b�_X��C�rɛ�L~10%?�hT��c%e<��'�??~�@�
1�;3���A�����
������������������������1�������������Q����1�<5�������e�������;��1�H|z��"�����'۞��?��_~��
1��J^I
��3�����
7M+����������������������mE"A��~���ן��.�U�f�����?�Y����__9��$�j
����~L~~���������|���?�a���'ן�������o��A6���C�������~�����7/����{�)�aS����H���?�;0����o���Ͽ�����>�gx�ׯ�m=+�
������_R�h<P'�U
�@����6�����F�����_��bd`���/T��`qa��`��?�(_�
IEND�B`�flags/fm.png000064400000001050151171034600006742
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�4��
��g4���Z��
>�㤭�Y��L0"��5�b��T���������_����?��������s'
���*������!�@ͽ�n202��T��M������ba�r H��1���cd`Xy�1Ph���
�HHP@��������_C���W~x�PP��?ДS�ނ��g��
�����m�!tɏ�/<x4�VS�\E(r��+�=�6�
O�|�ߕW@��@������w_~��2�?��@�@
�C}v���_@���@E�^9|�5�+��Au�b����?o��43�N.�^��p�����?�b�r�>nV�7�����/��π��2$�����b�L^����@�P6в@�`IE�t�|�rIEND�B`�flags/fo.png000064400000000732151171034600006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<lIDATx�b���3�ʽ��^U���b��������������/�yYR
$����B���g��b6D���?�>x��l���h@��U���������V
1�
�v�������������Fu����������������������&�hc�'��J�����H�o����`�S���(@��3_�{��ϯ�
�E��/ 2��l�$�r��2@��#���q�k�~�����$L=}/G
�X �
��_������@
�
�af�!#+�4��P=���Kx,��>��`�Ȱ��M����C�
�x0_�i�{IEND�B`�flags/fr.png000064400000001041151171034600006747
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b,�z���������ߟ?�?�022*������'���b���������¦$��A�@�?
�������~����mE@�40�g���߿
_�~�@6�x�=|Ϟ�����"@K�89�0K����t�&�8�@��[z��M"-����b봗�b���P�߿@��*)�q�m@�@�����/��A0�0���q�;���^7��Lh�3�����
|�Tt��@�P�?zD�����_���6ˏ_@������A]T
a�U��V�����j�=�I,�$��߿���@�|z��?.Nf
��&H�@���%��1��d@�|���m��?~}���ˏ_Ҝ�@������Ǐz���A��{f�uDIEND�B`�flags/ga.png000064400000000751151171034600006736
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<{IDATx�bdhf@�`$��!0
��RA�7DUFjo��;͚�v�9�ђɐ�}M}�
�y��?��������� ��~�����/
C�G��@�
�am����Tv�)�fT�ooZ<�|�?N�+�X��002������������/0�0~32��d�@,`���k�
S�I5������?�i*!����C!��j
F��r���
���������l��?i�9���������2�����@0h��`��?�N)�ba�4����?L`S�C�����x90�~#��z�o�~�������3<��A�`�#h_�p�lIEND�B`�flags/gb.png000064400000001273151171034600006737
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<MIDATx�1�v�I"����IW�����-'
!���Ah����M+����[e��1�v�������������������������������?K�1�����
��
�������!
�sq9C���������N<dpseس]���ݻ?^I1b�-chk�rX��G�_�@
�œ�4���{�EO�3hk1t73\��p�Ñ�9y�n�|e�_X���
1���HI����������������Y������fX���QI�A^��K�h��%��Cb<�g���lsf3|����7��_�ʂ��f���~J�b������a�sC~v��{"fM�^.��f����x�끪��04�3Tֿ������?�� 3L��3���__�����
��@N��`�����[;?�ca��?!����������?��f`�
@,����:����L�������ؽhg�9�/�Ng���u�Ͷ�R
wXr���}�
IEND�B`�flags/gd.png000064400000001175151171034600006742
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b�π�:^10�20�3�����_,�?!��1@@1�e`X��:^�����߿��b�u����
�������� �X�
_q�oz�4��&��̿�����7H)�������_��f��@,L�����o�˿�<�}��
������7?~-y�{ś__~1��@,
���[#����-o���;@��2&�ߌ#~-x���߿������?��b���4����@3���-���o��?1���2<���_@
������t���?3�� ������/��L�o��{��/��ߌ����
�@
'���{ï?�x~� ��f�����Q�~�p���������?��3�����ی8����_��~˰�n��,�����_o�M
�
"��4�H2��f����/�l�@60�~���=�_[��w��b`
Ư�X�����A���>��O��ÿ�
Y0B�/!�iIEND�B`�flags/ge.png000064400000001122151171034600006733
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b|��5���B��H2�e����?0���\
�X�������^8Ϥo�((�?ï���~�KJ�������hj�
)u���b������wg���x�����gO�>�������<~�h@�l*b�u��a�7�p�����?��; ����Y�@����tր�?101����߿���s�(P���6v�3ӿo?��^��ˏ�3��D��������������?6o���;P��o���rr_�
��P&3UF�?�m����I�~&;G6����032���IP�m�.�1������������������YT�RM���������瓋���������� �?6�}�k۷�+
������&�ٷ�Sw�����,v#3�7o�ͬ
��(.���'###�����;��$���ЈC�M_h'�\�:�ҶNs�KIEND�B`�flags/gh.png000064400000000752151171034600006746
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<|IDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
տCH(�$����f���@,`����J̓(��
��7P@
���`
>7�:�BS�x�+���)%�����=Z
��FL<q�_������ڴ�����JN���h��#@1�}2�?D�WD�/9�_��?㣁ܟ0
���j
�2����?�����~����߯ߎ���m�����De����md
�?��}�"
R��7�
�j�D�����#�- 6���N��?
�/0������5�c F�d��= ��
���!pB0�br�(�IEND�B`�flags/gi.png000064400000000717151171034600006750
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<aIDATx�b|��=���B"3��ϟ?@
�X�@�m`��8�<x@L0E0������_{��/�l�� @L�f���ٿ���ׯ����� �
@WD+T��/?�^>��߿�� MP1@A5@�s-�����k�U�D(;
���U��И�����ݯ_�jZ�31!ԃm �3
�00p��3�Z��?N�v�_vv�S
�T@�?EY��;��x�� D߿����s�ͬ��x������(���/����i�����Lׯ2�����o�?������*��-�@S~�T���=Z@�_�^AB@��
���?Xj0��R�+7��IEND�B`�flags/gl.png000064400000000726151171034600006753
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<hIDATx�b���#��L�)@,@ >>>
���������
$�"��={@,�A��|aX����߿�j���oa������ϟ?�U
D�?x����߾���K�W�l:
���n��C�������� ���˖aj
ƿ���!!�?|���Л��џ����??VV������z���1�G�������ͨ���{�b�H��=�#GQT-��f��h��bj`r~�d�8d���f�/^��4�cP
��2���,@�40���
) 2f�t1Q66�G�>|`��B�BP1@1~�(b@�I@��[J�ă�IEND�B`�flags/gm.png000064400000000755151171034610006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b<�����`�0D
��v�@?\�9�U�p�<j��ѩ�_O&-��&Hp��bk����S�ҿ�r���ʁ�_@Ư��~�l��@��E�saQQ����H/��
L�4##��+W�Q<�oS(㫏!����_(���
�0N��@,/o1����D���HP�o�����?�b�b���b*؆?P#�
�7��??���x��}iq����A��
���t��bd�gHH��������_@a�I��/`����WE@�b�E�b��9�ܒ@i�蟿���"����
����@12�30�`�@1� �����!`�31�lE�!�IEND�B`�flags/gn.png000064400000000740151171034610006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<rIDATx�b��5�����|c�.c`�F@
�X@���@��@%\�3��02�af����;&�ϟ������MS7X��O�2��D���f`����o�����~��T-�#�
�X�f����
Q��?`
@Ư_���D@
�t7#P��?���a��n6DÿH��4�I@f#i��$��!����@`'��i��%�6���
��N���U�~����?�=�����P@�40������Qdm@
�`���/�@
L��0HJ���00�fd�
����L�����
�@
���+8���*�?1h4ѳo��8I313g�!=�IEND�B`�flags/gp.png000064400000000750151171034610006755
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<zIDATx�b�}��
��c�������
��1�P�Q�V8G����Uګ�B���cƪ�p"R٤)����1��O1~��K���K
���##����??��&��>���4�7�t
���7�����QB�Ô
���C�_a�K�����!������H����(�@L_-X��g�c��b��2����A��������������
�:�f���@,L_�����=��
��t�r�1�����7㟿� �7�
*�p4��Ҍ��B�#�G����
��=4�����(��d�|�
���%J��:���`�7YO�E��IEND�B`�flags/gq.png000064400000001031151171034610006747
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b��A��10������da
&�~Ǘo&����������߿�����������_0���7��@,@]��|><������HI�4�����Y^Y�o���#����?�A������H��������-@1�a���ã��?~��0B��˗']8����&����
��~�a�����O����h��`�
0��
�?������D3���/8X�٘8>}�����(�L�|����
�b����b���0ā���~}�@,L��~����������h�?���'Pϟ�@��:@,_��>��"&�OX����/H5����p|�,��210û��71���`���C&�5a�IEND�B`�flags/gr.png000064400000000747151171034610006765
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<yIDATx�b�?��pb��4�x�������(���"��P���������]L�3����S���@ �
��?ÃG���ѣG���
q02����T������tx��b�(���n���ߟ���������/$�R?�
@1�[v3�أ T�uhҶ ZPW0@������֭G���̍7���s��%��CH�?'˅Cw��ŋ7""H"3��1н@��{@,�}��e�����I�!f�Tapq0�
�X�y�$��˯�@_�y��=�$"��ڹ�&@1�QT��H���(
�0�:{
��7C#��?�?��;�0�kP�l�~IEND�B`�flags/gs.png000064400000001166151171034610006762
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b�YY��Y�{�tA�(I�u����ݴ������A�����������(�@���O��2�~�eÇ����B�*U˞|9q�ׯ�~���B�����M�1���b~
����� ��T�=�������������q1�`�?�MR
����(
<,�ͮ����JJ/bb8��洴ѷ�����CL���0�;!ُ�j�Z(G9��������8f����K�����1�2��w�P�������T!3y*���������$Ŵ�TST1�i��o@ �����������m���������8��%�������}p�����I��~�
��{�C"�������^}�
�X~�PXP3�$.:�x�i
�۷�**�@
��
ȗ����A��/X3��d�����_^
�@���f`������f��$)O�IEND�B`�flags/gt.png000064400000000755151171034660006773
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bdN����c`����,��$��ߧo��#����8�������������(."���
��F�������Ͽ��*�H��@!�����Q@Ew_�4���_Z�h@�]2���1@s���_�6�,a�
�X����cr����T������{~5�b
���������
���P?}4
�����@���I�!N��rҟ�� ���a��
s�ï�0E�@�E
@���4@�#�?&1>�%?~102�D!3#��0��nY��
�\�2�����No{����ϟ`���W{1p*�1
��s�����IEND�B`�flags/gu.png000064400000000775151171034660006776
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b��ɀ���b����P��dM�R����@
���?@ܿ�����7P
̨��
��/߂��U����_�L��D������@=�K3�a`
&�����
��`����{�p�ć� �@�Dm:
�������������7������9�ǿ~��#�P@�0��h��@m����I������߮?����u�_F��b�v�����{&k���7;�/�Y���*
&
����\��_J �y��̯ߌ������j�i�w�������ۘW1��*�z,�T@
'��{���Ӂ��0�
kF�j�z�b�b������?��0�H��sdIEND�B`�flags/gw.png000064400000001004151171034660006762
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b��d``b�����?��"��?�$\]
$������������L�2��m����'O����30����_`�Qh@������_F��߿��K�AV
!~5��-����������I)�
�@�l����߿������Ϛ���q������@��Ͽ������d�S��
�@2����'�/�������ׯ?�������_a��J|���c
���~����0��������T����@
�@�@�2��T�j��?
S���D_���II��?��s��� ���/�����q
@�_�G��<��70�0@���A�
�a�q�%#�aIEND�B`�flags/gy.png000064400000001205151171034660006767
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b���e�Ӻ�r����1��$�F��1��D!
$*����������������������������1�,���ŋ��AAUr.P���Ӟ�������������1��<<�������$� �I[AC�������
�����/PCYãG@�������Q��EU��������?���0λ��ɗ7��WXCQ��~�����/~�߅ſ����$������D�@�=��/�{�~�������/��j���K�~��eލ�_^1a1���������� �O{�>8��(��a��ٶ��������#"����ϟ��o��[�%'ē����ߚ�N���ꯟ_~3��������X
�+/�o��W�������������y>�?�@�������/0X�Q����I��
��/Ԙ�&y�6!j
IEND�B`�flags/hk.png000064400000001017151171034660006753
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b|��
��Hd�,��fb` ������
�������0�����o��N>
�X�@j��{���(��/���n�Ok�����_@�L��@�V��?T�߿L@��?9鿺:��0#ÿ_�
���b�����?9kj��������̓&q?�5+�ח/��A@�j����7�;9�ߴ�?'������7��`o5���
����q�4^���(�8?�[���g��N
&PPu���Mb����<�����d<���6��?�+�|�XQ����_�?�9���c��?������/P1@�����?���L
c�����YT�YP�˫W,rr
����
P1@1>d`���Ȍ?�q��`�=歆b�IEND�B`�flags/hn.png000064400000001031151171034660006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�_����������������ݯ�.[
��?�����T������"�����W�.
�_�~�����ϿA�a���/��?��'+���
�X�'x:J|���������A��@��V�������@1<���������W����ϟ�~����Ǐ��7_������/_���Ǐķ�����!�Y�X��Ū�/��/ N6F���?��>(���_��}d9�����6<���/L��y�I/g����\�(P���P%����X�'�
F�z�{O���
�����������
PL��9����,�2�����8�Aa�lPt@�ІjXD��ƀ�:��0ٽt�~�IEND�B`�flags/hr.png000064400000001014151171034660006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�π�P�X@��$�������������?�߿�~������e�J�k`����S���(Z��G���;��(��\�������~�ee�6��pտ���Z����q�ܔ�~�� R���
���� �߿�}��/Gǟg�03���ӷo߾~����
���s��j)��/���'N|�������@O�>
������
��65�������{�j�U@��Ǐ��!�p{���?�������}~|c�:��}���$5�"����
������������YL5*e��
�����0��q�
�����a�z@$
b�ȿ`��$X@12��d�����U@�
��D���f08�v%3%&IEND�B`�flags/ht.png000064400000000747151171034660006775
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<yIDATx�bdU?����������ï
��Ï?
H���I�$�A!�}`䄂p�&� Tݫ�=W�R�`
ǎ�?�̱�bj����՛_@�!rP��~C��~�1�EY��Ъ�����
S��d$���j�5��?@
9��H�!�Y���o�����D9�i��Z�����~ɿ@�o.���������������L��
�`6���]���
�{@�?�I��
�~���h)˿?���0��5��7T؋��
����%AF����7#D3PH��� �@��cp��E�?H��
BD
�
��ʐ!�qIEND�B`�flags/hu.png000064400000000660151171034660006770
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<BIDATx�b<ˀ���0�B@��b�p
'�V�B���B�����ء��,ir��N��<�6��'O�����2�$P)��d������*+�
�X�f�GV
��
V
V
���@1��������0���>}�@'AU�X#������@��@12�3d�d�w���?��������~��
D
��UR:[p �X~�H���_~AU�H��?
���t@�0�b�$�$0P���f��P���/H@12X3����g@"�m~�gIEND�B`�flags/id.png000064400000000656151171034660006755
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<@IDATx�b�/����/�����������P_;P����������_
���ߟ�������
���7�q{�"�ba`��9H�_�4������
տ����,%
� �X�2����V�T��7���Ͽ߿@�_
�?@9�b9��_>���jP����~�����P����@��r�����`r������2��?@�����?0�!n����{�b���###H=>�Y�/� ��R4m�hD�d@@.H�
�@~�����h0�bv�B��IEND�B`�flags/ie.png000064400000000741151171034660006751
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<sIDATx�bd����10�ax� ă�??D�T��c���8���C�k5T��⌌@
��(��ߟ�1���1�����
�XX@�O�>���/|��?|���������QX��b�h2P�
���?&����_@K��j
��������?�P���_��HP1@�=
4�����b���?�����l����z0,�r�I�`'H�o��A���(t=@'1����; ��7a����A��
�X�����InI�7��eE###0�0�)����$�bd(e`��cP|�`�^�]�K
�@�7d����J�r��IEND�B`�flags/il.png000064400000000657151171034660006766
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<AIDATx�b|��%�p�����.@1�����'����*�����d��������������ALL�
���##�k���Yuߒ����/�B�q'@�@\U��a��7��g�/��?o�5���
@�\5X����?�������g+���U������a�ޥ���?w���@�
��=)~ v�\��g��
Y� ��~@��$x� 4@<
@,�.�Z���l
��?��e� ����r����?��x��m��d
�J�)yo�~.IEND�B`�flags/in.png000064400000000767151171034660006772
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b����A0�������!0
�rpC1��*�������%����>^092v�8Y��%
H���@`
@�S�R��,����0��fd��@,��L9�X�������;���ܑ���mU��
������#��?�����_&F������ضl������k���9�O h�(
T���'�bb;����~��,͵k���_�����?�b��
B�`}���)�������Zd�
��::�~|��ߟ?���������@����#�/��q9@�0�a���!������_`00�b
�E�E
�@I0��?�����`
���!��h���?H"`��<MD��,IEND�B`�flags/io.png000064400000001222151171034660006756
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<$IDATx�b�^ۻ�\�g��1�����l�a���700�a`���As�0�@1�[G���I�����%$���
����
��&C��1�������� ��������������>�����{U��e�;UM.�w�~�S_(���[gIYi�����t;?�����1��BP������"����
1
��̷����R=�<��.�Ϻ.����I�Ýw��4L���U���g�#������,������\4���_��r�[fέ
F���>��?�\��?���L��[8)�~�Q�<I&g���1�go2MJ
��� ���
���
���+,�v�$�^�(:7|�e��#R��O�~��7�T��\�U"1�lڿ���<{ޕu˻1�]e�vo7����� ������
��~�/w����RH�H
����F@@�jS\���IEND�B`�flags/iq.png000064400000001003151171034660006755
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
տCH(�$����f�����9�� x[
֠j�68%��dT�6d�`8���$�v����"e�1��������������������������������Ӟ�������$�]�v�p���Ob\�bB'^gabfg���|����H������O�_YIZ-�e�13���A�O(e$����p�P�:���10��
d�
�mw�Z��{D�s�@���h�7�Z1(��e�@,/^<v�ؽ{�~��/0�0@$����o��TTT��
���FIJJ������!��/�
�4?�a$4�IEND�B`�flags/ir.png000064400000001000151171034660006753
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd���
�10������da �/ծ�
�@��������ϟ��?����o��
�X���|}��_��?��������߿�����H���c`b1��Z���
������
�� ������**�V����߿���@'������������������>}�@L�B�
�e������O�bBW
11��>����D���5s-;;���3g~����?A����<HP�� ����\��k@1�d``��w�ï_��!8�����s��KL?~2���D��e���oF����A��/�b�b�
�Y8b@�I@���H$78�IEND�B`�flags/is.png000064400000001024151171034660006762
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bdП�ϥ�cfV���Yaï?
�L����D`P�m��
���l#1�Q�BaKw�i^�����f�z��,�Ct��Ԯ�
�������? �ϣG@��_��T����_
��:��9���4��_�������@��H�`���@=��@�@�%
[��g���&<DhŪ��P٧O���6�HE��Ǐ�����o�߿��_����~�����/Vy�K{����
�6�zm܌�&&�����̄�f�ǯ�������/�|���`��@Oˋs��@,����D�����h��/D��S��/��?1A�?`))
)%�6t���!���p�@���|��抠���ע�E`���#ZAf�cʬIEND�B`�flags/it.png000064400000000644151171034660006772
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<6IDATx�bd����10�ax���*�RU���
�ba��P�Z
R��IJJ����bb������
�e�&�ba`�?���@�P�o�����QVh@���T����FW
@�`
�5�����B�1��b�bzh���%�(�@
�f�����F��� ��߿��T������@W�a`
��@JCv
��>��@�c�?�ܒ
o���BFFF8PR)#��������(�A��l�Y��8��@�
���8��.Vw�Q�r�IEND�B`�flags/jm.png000064400000001175151171034660006764
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b������'_1��?0���~10�``c���
��1�U;��{����������������� �M�A���%1�1���=��D2�6'�������������.
�k�
������1�03<���4
�=��������[�p�
����������
�������߿?~�Y���٫b�*��d����o
�_W���[���_@ۄ~�*
& ����o0�z�w����R�����_��
���0� l�����_�b�*~�K�����?�~��T��j�
�
�@N���}���z�b���i����;U�W����J�����|
1�FB1bK�MG�����������3�I:�.�������Q����$����^���K���0F���G��O��_w���_��w�@�_�2<��`t�����c��
�-���>sw!�IEND�B`�flags/jo.png000064400000000731151171034670006764
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<kIDATx�b��@
�o��w20\�����L@��߿a$�شi@�5�0��z�t�߿�����7P�o8��@d���H����u��W�o� ���FFƇ�?�������������/Z��
��@QQ���������?~i��Ǣ����;���&�?x����Y����J��$��9 d�=߿?����j��`'P�?@=�UO�`��w��-+����_�����?�Ͽ��JG[�H�{�?k�%�)�J�����@�����`@���������<��A����Ab��1��I���[�5Ay�IEND�B`�flags/jp.png000064400000000644151171034670006770
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<6IDATx�b���+����Df�����(���$��������SH�ŋ�S��ط��#���of�������h @���^���
������Ç�?}�?9��B�b��$��ի������/(Z����pK���@L����G���`�˗���YT@,@�g���V
�h�,))���*
&��@�����������H������
���:�sq�ߵ����L��@�@1�}����.
e@����?B��@ {�H�
�&�l�争=IEND�B`�flags/ke.png000064400000001071151171034670006751
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b`
�9La�w��]��2-����$w>@U��;��;qX�'O�<~��<-����IIw?�}���[�n �T
@�WO�T��������տ%K����%&�������Ȧ���������g������7P]�����,���}|��߿?���t��ܭ�;P,9@07B�ϔ8�b۪��d�l�j��uy���d9#/5�؇���9F�xA����Z�K���$3�
(N;5,bG�/�ʟ�#��
ƫ�+)�C���>�x�0yӟ�?��$�@b
/�gaf9pd%@1�ylJm������������ 3����"����������+)ʈ����П�8�~�D������6�!��?���~���?P�?�b�bd�gR~��$����a0[b=+ �`iIEND�B`�flags/kg.png000064400000000776151171034670006766
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�Ȁ�`$2���p)�
�0أ�����ꊐ�{3��#
�p�z�U}���ߓ�
�@�7�_F�����]��������(�$+�
�X����G�f��������ߌ��~.�����`
@T@L
@�Τ�Q�������Ũ�Y�H�/�%@
��ߟ�����(��?�/~�}���20'��od������/�����b���˯O~BU-:��
��~��bï_�f��d�����������`�]��P1@�5@<uկ�~1���ן���}�������N
�
%%A���1�@�7#��ِ0���$�b|��03v!��f����T��g_TIEND�B`�flags/kh.png000064400000001045151171034670006755
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd������a`�dC���`
�_
}j@�@����d����_�����a������G�����_�^�**��?D�/
�7H5P���WZ����
@����������Z��O6 ���wn3������~����l���A�2��
t����Du�d]-+/7��)P���/��b���_����32 �gp{x2pp2pp�����ga������
�X�6�a9�3'����
�H>OO&&6V��`� ` ������
1���Fv��rK�0}�^@�#�²��O�u�a`���/8X���@n���z^A�{��Utߧ��"�`9P��<(LA�a����/�>�ڰ�yЈDC�1
AL�43�U���IEND�B`�flags/ki.png000064400000001220151171034670006751
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<"IDATx�b����`�?P�L��?0q�b��1�������2�g�������_����ߟ?�����������O������?���>� H1=������������R�@�� ����P�@��o�6�
ֿ���h6��$���
Csn�'��3���9�7ؖE��H��sP<�T
���r��1����EM���
w��
��x�����n�
�p`
�����x��1�{�qjD���M9����jP���{����R~����eQ[���w�nUW��O��=�>�WRSW>���_z���;_�}S#�����]�Ƞ<�ށ���Ez��{�}�ɷ��K
�������*s�>H[E��]@?@1g�t�5�U�9}�P�H��߿�/~�����?�~��{+����}7��
1�wET(���5M��͵��cq,�������S_2�����GW4��
�8���IEND�B`�flags/km.png000064400000001101151171034670006753
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�_�0C������g@@.D��e�{�j7%-�@�����&p���M�����g>J~Ӓ�b�g`��FF
���@K���Ȣ��/?�4���+��Z�W�
1�Y�����\�]���O�Q�͞������������������������N��M�G��K//zz�H�Y�`������Xٿ�=@P
F�F�>���_N^��aA��_�������������EV���S�̠�������y��´˿�o����o�_���~1�LX���\@P*��˾��Xv[^��
�r���99I?
�_�q���asG����������_
���?0����_�_6O
F�Pq�'k��1|�����`tI0�?$*�Z�4�K.��IEND�B`�flags/kn.png000064400000001134151171034670006762
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd���
�10���@�D2�0��aH��*
F�V�j�j����������pp� ���o�'O�|���ߛ6m
��O�>*������������o-��!쿧W��k]��������\�b:h2P���@���~��5�w��_F����<>��f�ԙ�g
�������r����0�߳[~_�t¯/{�2���^������@����ѿ�f`������>��-��
����_�?�fP��b�h)�?1B���wܶe��~��-!�kZ�o�c��O���ׯ��3��
�@,L!
�Y���r���/�;��Vqp���������P�@�5@��u`8����K@�m|�Z�Z�K���
u
����ӿ@?#g�'����7���߬G~3�
4�l00���+��d_}�<GA�A@�S-
\0~IEND�B`�flags/kp.png000064400000001061151171034670006763
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b4���������
���ï?@��� bc
ƃ7������������(�������?v�@1~d`d����_��,L��|���?
��~����IJ����b|�����9(�Q^����_�W�ٽ���o�߿@��oF��f�����
�����/����[��?��k�栠�ll�~���?��B���@����/������U�������0����
�t��N
��ϟ?�r.Э/^��% ���߿�{���ϟ E?BU�m*
��v-Y��_R�EM�gm�7o�f���x& b`
�-�xx�=z�P���?+�?�:p(c��?AA`�˩�ߵ�Y@�
sH���,��c�q�5@12�����x����@6@�
�X�g
"�IEND�B`�flags/kr.png000064400000001120151171034670006761
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���+��������1@1��8���كGW�_d����-�����-�����|����w��� 5��ׯ_oݺ��"bbʊ��������g/^�]�F@PPXHHFVh@�l�����~��mhb�,%����A�����u�
b�n^^oy��P��b������իW\���{pL�����/�~��%��)"���7R�R����=
�/��EDD���o���0�f�l2������9}vvni)�FF����}���U]7W������؇?�������GIIIF���� ���o9m�4��=8U-T�01|�����$�o�����'OB�@,�������<tXSK�6L� ����u��ݻ�z�zaaa����
KZZ����˗bb�@�zJ\w��Kyxx5�����
���}��p����a��V
��17/��$IEND�B`�flags/kw.png000064400000000746151171034670007003
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<xIDATx�bd�N�`�����`���1��B�^F��䀡�j��E��
rb�c?��Ŋ��W�40|��d�ӿ�
������7HP)����_@�,�,� ���������7,?�O����?�U�����AD�Y��2����_�����c"d"%)�`dd4�1
��?�v�j����?n����
���6�,�t�|��?ȉ�h��_��m:z�Ѕ`�ɿ_�|��ϗ���?,�+����6�P'��
$��e�����/��ʇ�J���HJ�����_�?`E@���F����
F���b��_"���he)���;IEND�B`�flags/ky.png000064400000001203151171034670006772
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b�ZX�O�xޕr�[L��D
M��>�
����?0��1�'3s��W����
���������jE�}������p1����1�����������6(Ŝ���5
�1��
(�"$!!� ,*������������WY"�����1��2: ����������������r����z����1�$�
������������������"V�'�ԙ���ں�e��'n���u�
ßߌ����~�ɯ_<���c����@`�UѲ h@�00]��ן���ʯ��g���m�X�N�y�6P.�@��_�o@5�+��(�[
@P矿
�ح��+~��0���@��P��������?
����~��8���� �~~b��%�bd`Ѕ�(2 ��
�%�W��IEND�B`�flags/kz.png000064400000001150151171034670006774
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd����.�?�>�Q���?�`d0�I
��@�@
�U��1��a�������@�������������џ����?���ba``x�
��w0��q�Ar2�n������>_���4��/�����@11�����3��c���������m��Ϳ���֚�����@���
���$��[�/h0��L�~p�������|O������/�f�� �?����'������K�o������_�\������o�%��B
�X�a����Q�����[�]��K��O�?�����/���@
��@"��}��?����*{��k���K�����f�tҿ?�R�n��k�(0X�S��O���+��=�����F�P��I@���`���2(r�3�E���i��x��_d�_�q@ �bdX���_%�;x\���@�0001�iZsq��IEND�B`�flags/la.png000064400000001063151171034670006747
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�ˀ����
��8�a
"[���36���:����u$������{6�k��z����?X��������B����߿�������џ��%��61��"p#���������YF�������������������Ͽ�~�c����ǟ�L���2��\@T�(�������A�H/@1������
���a��b��|��̿�����`�@
�������cx��
�|�����??��������@��~��
���TN{��'�ɫ������u�C@@���)����տ~@����L�A�`��r�j�e�A�G�@�@��h1ÿ������0p���@���@��1"�"�)���Bz�f�?IEND�B`�flags/lb.png000064400000001005151171034670006744
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�π�`$���cI�bJHtT���1�����_����?@��o
��d����M����3�@i��?�a�@��~ٿ�&)�%���1��H�```|��ռS�~���h�,�'�,�-�<@11011���
F���;������w����?�0���?�b����t����Jw]���_�n���Ƌ��������Țrd2���1��������:�����@��5@�1�o�����V����$�ʙ�������
@����r�>z
P������O`������8�~����y��O0.���(
f&`����
��L�A�� eP������b�����"�e��@`SD�>|IEND�B`�flags/lc.png000064400000001136151171034670006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx��1
��Z�/�`�"�RJ��pCʘw���r��AS,���ӫ<���C�"X5�����g��AI�?�ƫ��9Y���������A(���b��������������A��;�������?(dgdd�@L��fU���4�oy���V��:���?AJ����?���?�b��?L5P���U�oۺ}��������ANb��@L�@J!��������ק�?�������������/ß����6���_B����+�S~��9�i���`��@
���Ͽ�`{������������R�m+0���_@J������@��}��_��������gj�/���>1��@�500ˇ_���g�g��YF;���������ہ=�0�.fFf��"�b����`�#���0�c�04�� �>���`�kہ�kIEND�B`�flags/li.png000064400000001031151171034670006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�]�����00������1�J��_0��b����rB������9�P��s�o�������?����H�3V�l
����6���`���Z��o���߿���T��7X�����8�6H���;��r�}cg�����A�AJ�������
�d�m����?�=7uw_SZ��/�o���������o�_~�e�~��
�X4?�P��'�#��������?@N���7� �
�b\��fˁ��y��1�|����������_�$�f&�(����Z��?����������$�����7�
�? �AJ!��M�5l P�߿LA�@,���$��~���oƿ
�L`0���Ͽ
�`
�x��`$*
@�}�a�0�IEND�B`�flags/lk.png000064400000001163151171034670006762
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�DƱ
�0%�3
R��pq�g� ҈3��O1�v������=��ڼ��������������-��������`�����g������˟��?��������?\"��b��d
������_�@K]�����7�-S�=��!(��ﯿ�_�{|���{��
� ���߿������7�_�sAn���;�7��'B��n���&(�������
&����
��H�j����/.��7�r3���K��%���8�h�bZT
���/�
`
�����S���/��?W��}�
�X�a��P X��_������H?������ٕ�_���h@�؆�~���7�I��?��~><����ǟ����1���6#��bF
��\,L���2300����ֿ�X�3�������{n���#RD�������P��e��}`��TsRS_��IEND�B`�flags/lr.png000064400000000722151171034670006771
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<dIDATx�bd`�f@����(�?`�BP6z���߿�ڼ�rk������D����߿������?~|�������������bc��c��������@�������߿Y$$/L�@
{�ܴ�Qڸ���?%Zz�����f)�����'�w^����g��
�A���4�Ͽ߿X%eN�Z@��߾f����?n�����
�b�$,*����3�y
w]r1�l0h/������Ʌ���뗬`����ōk�rIT\�����'`c
���r4��@�_v9�c�7���O�D���aH��_�@,�$���F�ԨEf@�n�g
��IEND�B`�flags/ls.png000064400000001164151171034670006773
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b|��-������?�@��}r�8@,@�/�N������գ3��^������B��ԣO<��p�@�4H�X�8<��o²���LH�@����Q�.={�EF����
�X�v�:���{�����ᕬ�'##\��'�z������bP�@,�>���������ϯ~���fV���~�m�v���_@�?���_�[�=�@1�&:]������'<^������O��������������䇗w� Ji000>����F�j��?|��������b~��o
`��1����'@(@����]��������������������������ۯ��>����?����z���,o~��
�@
��
�@^�6�����r���g�o��~���ϟ������~1KϮ�\`x� տ�1�Me�c`z��<�&��I>�mP�!j&@IEND�B`�flags/lt.png000064400000000774151171034670007002
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�}�������D��
$�l
bb
�j&�f�����2�����?����P��@ÿߟ.�
&F��g�
��B���������Uh.@�\��
����_@3�B����7�`�����0��be�u�@���a(s���˗?������
�/����_ 6����?��
�X~0�����i)I��i@h���
�X����ϟ���B`~��h����@T@,k[t������hֿ?e`��/P�N�?�.2���?_��J����?�0.��?Y8�z00�/���fKJ����
� �$������?��``
���#��r�āg%"wC��ݙIEND�B`�flags/lu.png000064400000000741151171034670006775
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<sIDATx�b�o�����������??��_������ÿ��
�X>�a�l���������2����/ӟ���!0�KS'@�0�����ׯ��e���?��U���"A�ߌ�@���/俒*��H������P'����O^
�߾}+((r��`�022�~� �X
ޅ�X##0T����@����@�������;���9�s
cC�pA�;��e����O>������_����p�0@�A����.�:��47�@i�=�~�c�0����0�b�������/`�_`�L���A�
$@���yk�
߿IEND�B`�flags/lv.png000064400000000721151171034670006774
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<cIDATx�b���
�10������db`
�/���@��������������߿��I
����37m ���>y
R
D@90 �����_�~�r�ee���=�����(
4�����߿?10�˓'y��B���g: �����2�A9,ll�
ƿ�222���pF&��>˛s�ed�60@��n�
������ɓ�X����}P8���(����
P�_I���9�bz��
�?�W@����`�
�X���.II�1����E0B���:0������,"!E�/�h�D?@�|(�IE�PZIEND�B`�flags/ly.png000064400000000643151171034670007002
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<5IDATx�bd�ɀ�00���ؿ$@��b`BW��Z\�}`f6��{jW&ɱ"�4��E}�
������x���_�j�
�"�$��2�9��6H��!�
�T���/�����*�b9��/�
�PE
Ư_06H���@�l�o��`JAF�
i��m
�����@�W
q�f����j
��?��������,P�9���ӑ����@6(���(!�!�(@V�*�
��`
����%"�$����r�(����IEND�B`�flags/ma.png000064400000000660151171034670006752
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<BIDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
տCH(�$����f���@,`��������<��_
=`
�53UU����H�����Y����6>����/�=P
@�� �?Hn����ԯ���p��!S
A�M
������Ȇ߿�n����?�4����d#�IvX�*���_�g@V�������00H3ċ�`�� ����P��@
L��0HJ�����l$�"pP1@1~E�H<q�qW��&�mIEND�B`�flags/mc.png000064400000000574151171034670006760
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
տCH(�$����f���@,`����J̓(��
��7P@�1#P5Pş?��$����++��������p1��!$��Կ�����BBB���q&&��ׯ˿�
|��q�,P1@�4@85��?j\0222� *@
/^����b�
b0� ��P
��_{���IEND�B`�flags/md.png000064400000001066151171034670006756
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�����re`a`�����?.yA��HJP���_H���f����?�o���f��*_���������9����?�����D��<f`��e�����}�����������/�b�4�������z�WA�ۯ��<����������?@W�]��3����<��Sp�/�}��f���_�������/�À~
����T�H���y��j��4�$����(�d��@�0���Dk�CU�T��@@
��?���j��+"���������/P(�����
�@6��������]T���~�g����0P����d@�4�I���^�R�D��~3���Gfv6��`��A �@�+�1Eo����pL��!WPCp�dUY�J�IEND�B`�flags/mg.png000064400000000705151171034670006760
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<WIDATx�b|��=���O@X�Ɓ�('
$���R��������a��������_6m
�yP�@�ӧϟ�T@�/
��_@6��,��bAQ
dMJ�H�R���
�5���@����p
@e�����쿿�����_��$P��?���c`
�j��y!��}�����@`��/�>%�ߧ~2���@��_?��QT����ߟ��^1�In���P�_
b��@P�z�9�����H��?���/�����@1>~�����H���3<G)�<�&��I�$�cݛ�xIEND�B`�flags/mh.png000064400000001164151171034670006761
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bd�f��~�c�����~!���61���M2'
����������������������&�T�v�AB���F��+w�\�������з�̜?���8�*"�)�
�����1�122��1CLZ��7#�`3�+��;�y?�Wq�o��/t@1�������
�����������[�H�'9�6^�(�����1�������������������C�^�+*�:��)������줆t�$���������L���
��5�oV�]��w�9p�ы�_����@`
@K~3����{!��/�Q�=&�]'_�:���7?�������������j����5�G &o��O�����S{���?P�&�ߠ
����?��i�Q|�f�|��C_�?���/1Na~�������@���s��g��``x�Q4���l������KIEND�B`�flags/mk.png000064400000001230151171034700006750
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<*IDATx�<� �0���T��K�"RD�xi�D���{y���br2}�1�x�{r������������f���������_��(��N������A�ӧQ����7H���Y~���?P��������8O��a�1�����#��@������������H��*��������1��5�������+��2��5��������������(�����Ў���������?�ρ
����������ݯ�J���f��
�Xl�'��������|�����@
��?����ͨ���$�b�w�����d���������
�a߯�>������7�W��a`
�?����O�͠��w�������Y�_��A�`8��a30���/S��ǒ���fx��A�7��ߌj���0(�n�ah��P�����?Y�b����_ÿ�@���L���?k�
T����@��D�V�;0IEND�B`�flags/ml.png000064400000000732151171034700006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<lIDATx�bd����10�ax\�
���3��A2p@,_�]��*����O��/�ad����I����?����D~ٴ
�XX���?���
��7���Cѯ�o����P5��,��baY�����
d����?`
�������7P@������
�0��b�bzh����k������(�@
�f����I�D���$�i������
տ����fÿ�pの��@`'���� �jd��5}
n�b���$�%A���ߌ
h�o�?J@J��$�bd(e`���B�{x`�D���B�c4r2��ZIEND�B`�flags/mm.png000064400000000743151171034700006762
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<uIDATx�bd`8���~10�c``a`������(���VQ\�MW��Ǐ�|������o�?���0����ϟ�0�˦M���ʤ��.+������g����{
u�~����ee�6`Yn�a��G��%jH�$H�@g���O����j`������~3|��w�ڏ�31��V5�h:@������;��~�ӧ?��e����o�
�m
����K�~������L�����n6�`'��o�}�,��$��0����dpE��5�e����i`���ARl�_�?
��`# $��A@��5"��.\
3�V[�YIEND�B`�flags/mn.png000064400000000754151171034700006765
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<~IDATx�b�π��^20��x@��+��?��$U]�`���?��j��|����?��af���'���@>���i@�50��/����_�w���$E�������_��FYY�
�R�A�/C�_���?`��A��Q�`�bb�T�������ϟP�!�����D��!��������a\L�������?�U��g����Z�R�j$�N
������P��O��
6�?�00H��?���f`j�����?@
��:
�@�f�a�"��觿R�L\ �#�I�?L��@J��
��"�" 3\f`�@��A��N��[YIEND�B`�flags/mo.png000064400000001114151171034700006755
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd���
�10����`B�0��j�j�������ed)���ϟ��������������������O�J�����,���/�8���/~����_@ղ<�@;� ��&�����?��$)���q���j�����?d~��D@=@W����:��?����i���_����5������~�i
&�o�fu�1�Z��)Z�����kV���P.����/P)@1�>6"6�����k,j;;��/0
�ռ�������� �
�_%�J8Y8�����wF�w?��h9P��?�
���$
����P�P)n)]A�m���}a�5����b�b�0�%�%��A�~o|��߿@#��$��@�
t��_��P�� ��`��)�!E?@��A>�w�A�IEND�B`�flags/mp.png000064400000001125151171034700006760
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�md��~��`Ə_?�0�����/
�� U�@���1���m,����/��O�{����������I�6���w_���/)�KG���>�dd�U~��u��Ϙ~��+!��
�����?P�����H���Gm�m�l
���}���������/P@11����?H5�I����㊭����0H��n�M%N�G������?��� ��6�Z����Um^!~6c1?'�S��YY�����P���@�m��Ѐϟ��e�\~�����W�>8��������A�Cm
`�m�����L��1~ox���"��R�v2%��9 �?
o��t�S�9^>qn����4}~���S�4�
�_��Ƌr��%G���~�����٢���7Y��
�tP�?�bd`ND�H0��DB�`0�@ྭIEND�B`�flags/mq.png000064400000001217151171034700006763
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<!IDATx�1�%����xB&
���ɼ�������v�YoJ2.uc������ӡ�э���L��IYB^��I��T����'�����
g��zp�)��ԅ#G������?��W_�<~��"��������>���������O�"\���g`�@,�����/�UUZ����������
߾����oE�7��o���~
�٫ϛ�J?}�����^nV�#���'}���W6�?�I���_w
�����������/������Ͽ����,?|
�yk.��K 2>y���_@�F�����$����x�{6V�E��1�uz�L��gV.�������P���Bb����ta4������{����?�_>�y�Sn.VN�������߿�������AF�P
��?����m$/����_
%!���������ɦ��_�bb+@%�>�43�10�b`��ݗ/W}")�G.��!��$@����:�hIEND�B`�flags/mr.png000064400000001071151171034700006762
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�������0�c@�?8P(�6�0CSd5�b�`2Zt��\=9cEo�ϧ^>{CABHJ*d�1�ba`*����S�ҿ@��@�T���{���@�?�~1�����2�0�)@�������ח_�J�#�~�����ߟ<�@�H�a�t�_�������_�~�f����_�X~���+J�H'P�H@1����_
h���8����ׯ��~?���寵�Ͻ����ן�������������?���5���?�~ei�~��זӿ ���
�@@>�_�{�����wץ_��U��
4h.P@�49@:����k�)�@�_�@q�c��"���k�0��
����o���
��@
_������8v�b���i!��zh]�3IEND�B`�flags/ms.png000064400000001146151171034700006766
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b<�]{�I�vէz�M|,��9�+���_�����/�`�1�/%���@������������������������1����Ȼ����9���6�&88��������������i��oy5Y�?����e��5?s_�T����_����z�
��7P��@'��&���drJ?cZ�iƢ��S������73��
��@~
���mT�;��ß?�oܼ*ǭ���_@��������@�1���5+<-��������������Q,�4������(�ٺ� v@c~��������a|���w���w�9?u,�����h��?��5@�����:��=���?��(!!�
$�@:���&��D~����/��/��#C$,F��H�2��wF-5�
�IEND�B`�flags/mt.png000064400000000644151171034700006771
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<6IDATx�b���#ÿLLH�ߛ7<���@,@���r��Mmm-F����XX�1���?���/�6˿?�ܿ��ٳ?���)g��������������QVh@�0��hhh~�����)�����7P@��{������o���q�Ug��j��?�J���|�$�N
���W7P�$
������/�߿@5Ă�q���22��@�A��_�
@
y��ւ�W���lA�c0M�[�y��vIEND�B`�flags/mu.png000064400000000760151171034700006771
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b<�����`�0D
�X��������������?����D��`�>�i@��b`pb��P�?���
����_@���@lY�y�R��\����?��i�V���o
�4ᯜ0��'8��@�iP��ڦ��a��F\��(�`���T� �#�X$H �2�y4����
��6���*���)1������_�����?������V��I�S�FF�0�P���mb
��}�����(h���B�A�
�o�����}�2C0�%�A��
� 3�j���c@12�3E�1���gb0��e�WIEND�B`�flags/mv.png000064400000001036151171034700006767
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b|��� ������p(�6�
�й�'��$P�dK|��K
m����@b�������'O�������@��@�߿��?���$+�
�X�v����ÿi-j?X��??��PdQ�a�Y�y��?1�e��������@��r1��������H3I�s�
2
���E��:�_���@
'���_�S����]�]���=��`�?��r$�t������?���cd�����<�K.�����d���+�
��o�u@��2��w��Ϳ��p����߿_����T�
� N���Wq�yP���߯�
j���`�Y���8P1@����QR����j�H$���@��x��b�110i�K0�{��IEND�B`�flags/mw.png000064400000001021151171034700006762
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd���&3`�c"�a�>j�N��
�!�L���gd�l����_s
`K~I0U�@,`m��<y���_u~����o���������߿n�i���*
&
�_��_����^��oԯ_�����ס�?�~�#!�)(��a�Rꚑ2L�;C}�c�))���C�+ہ6�_{R����+��N���j`�����o6�4A@�
�i��b<а?`�@H�a$���ba�f�����ï?����H��
�
�/���Ŀ��l��@,RϹ�<I�Я�~�Ձ�@.T��?��2�0��C�HrH������_���*���A��倊���������`����Lr1��]�.�քIEND�B`�flags/mx.png000064400000001076151171034700006775
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd��f`ba��?^��cb`����$����JQ$�@�25Fw200�������B��L�L�����߬9�����Ⱦ5o@�����ӫ���~�����?�������7��$��b���hȿ?��fr�Y
kf��߿������7�a������@�����h��o�xs��ꉭw��:�_�~������6ï_
���j`����%�-
��h��?`�2�6��d6�j�w��S!A�]��: l�?
�/@50�������L��}y���������N�T�@@'1���/�����ү_�AA����5H���y���������B�LL�r�����@O#�-8�����m٘���|yfk�V�@���T�Li)IEND�B`�flags/my.png000064400000001073151171034700006773
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd`8)�yaӒ����?���I{��� @���3�g��T]G���[
o��hag������a�˳g1�vn�P��5.�
���JA�p�V�bc�������������ܨ�����xɣ�������w�����
0{��ƃ Fff���b�f�����wL�J���ϴ6�/I�e+�d��������,#s}��bd`8:e"���v���U�@'�;a�*QN�_`��30m�x�@1�d`��/��������L����o�ߟ9����$����={��|���e��u,��@�!f�I�#˛�w�垤�h~��@&��2�&pȀ����/=
@����g�u
�0�,���M�b���ُ'O�0@��f3@�
�L�g[�fTIEND�B`�flags/mz.png000064400000001110151171034700006764
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b��g(c`�a`������DF�`$@��`q�"�UĈ��p��%����lW�I���[����W�000(�����|˿���*��(������߯_�ܲ@���|��v�
�/d�����J����caa�.u
�X�10������?�uݗ~������?@�~���H�
귬��]�� �I7ƺ�b��\���|}����/���}z���K
z��-�9���[�v�~{������Yg�a���~��
��d���
�
�200We��p���Ͽ�ڏ���c���@�_
�������4Û?��3x�f`���?
�
#������edWQyv
�X���$��!N��o�@r��$(�~30�!��_����a
Ư��z��1�����@�~��P�L`c0�fI�@��3IEND�B`�flags/na.png000064400000001207151171034700006743
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bd`������_����-2q����/)W�` �1��~}C���������������26OK ��������h*���U��;�<z(���oNN��M3u����������?��u�*������#�of��@�ZEM8?W���S�������������;�������֦\l_�?
W���[:�M���4;,�E�7�����
��������K^��n���9���{
t�n��]ŷ�y*���~yCQ@���߿6N�q!�<��2.^���/�3�\_gDn�v�_�__~]��70�����H_��;g{��W@3s~�-~b��r��ԃÿ~����r@��������R�c��(�$��Io~��4��?
��
�X���B��I�`���Bo��������f��ϟ��n��7�N
Ư��[+'oS�V?�
�/���}�@������IEND�B`�flags/nc.png000064400000001117151171034700006745
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�>��1�����@���B�����!C
���O.��3~�.����Ͽ�����F��g�
����e��������'���|�0����������l@����Ҧ`YEa�3��?�-�}��߶�Q���ܻwR�����
���&1����|�������((�����1�2�������������A�P�6�0��7,<�ԃ�lME�������"#�VJ��QB���]��@,��`8���Ot̯߿�v�NL��{��h�?`@$#���l�{��?�{�'��ٱ�P�ϟ�RR~7��[�h�?~�����eѿgO1Ђ������������B\p���!�����x����h�֛Z��|�����Lg_��*��!�
���z���H
�̀�AǏ��$IEND�B`�flags/ne.png000064400000001031151171034700006742
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b������c`��@�?`���/02�1��a@��0ۀW�x��9֖a�2,��-�E#D�udG6\!U��<������2���2��
R��������߿Ed�J���͓���@u@K�6�����
�32�>=
�Xdt89����@������y��Z.�a����@���j.���S[���������3��b�i����!�������/�� 0���
�X����̬���@��
��ɩ�������`�U�cga?��@12�3����x���@� D������߿������UT.6]
`��f�#�' T����?
�����ϟ�@������P���P���ƀ(�c0�eA� �IEND�B`�flags/nf.png000064400000001132151171034700006745
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b`pf���{g�~�����?~|�����|ڽ��A����������s����l�lx��������w)^)οN�N���������M�������������n��{kH��?��|��߿�
��``���AV��������B��k�����
����V}�����������
t#ñ�Ǟ�{��ݳ ;&0�g����@
������?����?��t!��m~�j
&�_@3�UE��-;���?`/���~��YP�Am �
(tȰ߿�{��˧�߿�yu���o@�=4��_�
���b�R������������Y.Y���7_�
2*@
����I~I�6VvMNMq���@���ʢ*��
�$�z@�C��8�6�w_���C�G�ˏ/�MZ���>�T
GH��IEND�B`�flags/ng.png000064400000000742151171034700006754
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<tIDATx�bd����10�a��v_�M�߿
���x�ަ�b``a �/ծ�������3q00��
�o����?������M37PP��ק����L��(x���_�~���[�Gh@�1�d��
���?���H���@t@�����?���j��
A6P@�=4���_����8 ��
�@�����p:�?��ir��@տ�����$O�
���&�*
��@JCV�5��
P1@�c
ƒܒ
o����� �L�J�J��!��_��P�� Ǡ���p���$�������+�gP43���0�|v
P���IEND�B`�flags/ni.png000064400000000774151171034700006763
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd(���
��c��C�@�*b`
������g��������2����/�����@��5M_�d��������J3��������
�?#÷�bj *�_�hPD����ߟ���z
6IQ.�����/�nFF������������ӿ�Y�8�sg����O�>ķP1����j������d
������Q��_Y��(�����@1�O�]h���������������� E���e�al[�
�X.�wZ���;`80�B&�P�2@lH��B�AE��a%@���o& ~�(���o`$��1���h����?�x�@��_��"(��=v!Q�����
�/1b��l�IEND�B`�flags/nl.png000064400000000705151171034700006760
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<WIDATx�b�π�P�X@���`��U�5��/w9��~����LO)�V�*��<����'ρJ��������@�~��$����(+
�
�XD
���3��T���������j
Ə?����?����<
���AT�40�V�ed���@���+�o>����Ƞ�_^k���������ן�����
$�����߿
�<{;góO�z��H��߯�@u�5@H��?���p�20�
�_
u�����#��@���������?`��@��hc`�F��D���B2k�g����IEND�B`�flags/no.png000064400000001000151171034700006750
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b|�r��sE]��D�3�?�`A� @,@Q��j
�����)FFF���0����~��
"��߿�n�@,`���{�H�|���σ@�������_�����,+�
���U��@�����_ �
�@=�@$���@W��߿@g@�������c@e�>#s�d����v�@m@��$����H ���9
@�������ɂg�q��q&&�����=ff�ܬ?��l��줷v�~�|���o�7~�aQV�z�@���d@�
g����'D�/� H'���?��f
��?�$A.���,�_P�3���������@�WaQ��މ�̮ ���1$�`$�Z��l��IEND�B`�flags/np.png000064400000000673151171034700006770
0ustar00�PNG
IHDR �Y�gAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<MIDATx�b4�<��-;/�p^��
c�c�?<gd�'�{���1@1�����P���nj7�qq�j�n@1����A����?20sp0�ۣ�)�:��"�b��÷}�������KI1l���,)���
���oX��� p�����#�o^���_�2��/~�tt0�u�A}�g�wO���
9���jk��|���������'��wt�K��@�3��ƬBBK_-f��
�Ą��ӓ������j
���@�܂�@�7P���`��Aq�
���� i�IEND�B`�flags/nr.png000064400000001017151171034700006763
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd��g����1���������$� ��P��#���������x��?�W��������b�R��?�4���Hʈ��
�@S���2���/0���?�j0 d���@,\���03����?�
׀��ā
ޟ��^�@,�gҰ���՟���`d����0�����7����!qS�/@�(��K>~�a�#{���O_���ϯ�
7]��ϟ�`W)H
��@L@��g���lӞ��������������������/p�0�~]z��ӗo?�}��Ǐ��a�4��`O����
�&�9���w a�?�0�S
f@��i
FK���(���-r�9�IEND�B`�flags/nu.png000064400000001074151171034700006771
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b,.���2����W݉�"�Y?~��t'�I��K�9���A���_�by�%u'�����g�b����7��?_>���z�?f�e��LL��*��c�����1��!�3%�
�����2���2ɚ
F���������������08�(�0S��t�����ګ�'$����H�Mc�i�Sm9,�3l��S�μ��7�X�0h|:e��p�k�HP�|�ן����?����@����5�^����'sq���{����ϼ����
1�������hNy��V
*:���y��LV�O~��1p�G��
U�� ����.c� ATCCh-$DA$�
@@@���30������'+�I@e`w�X��h��g?@F���h�c���� H�x�|!�IEND�B`�flags/nz.png000064400000001177151171034700007002
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b<\ظ�H��K��Wؘ��_J���rP\�����0�����X1�-k��]���������������C
��������1����*�������=����1���M �$������1��
0�$)#$��0/��������������]�����]#߲����Z�A�ES�ߏ_���p2,~-�@��[O�'@
1�(�� �������������M �*�����
����#�ػ�e�]�|f�?|'���7����_~������~�����f�V�9
�����Ư��@��������@���I���s(���?��bj�����_I�"��_`��g��E�_�<���
���XR�(
� x�N
��0��f��fr�߿��#C0������_��@'q��:����IEND�B`�flags/om.png000064400000000736151171034700006766
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<pIDATx�b�π�d`�
P�Ço��qYZ>oh���(��?�BϞ=
���?����{�ףGX�A##�?� (�,&�a�66%���R
@'#�*ee?�f����~������/
�_���`�]^�������?���������7ï_@���CH�����$���V
4��o���~3���J����z
��@���_��J~����_��
���l�[����mg
P(�r7P'PB��r뿿��e��@��JJ���W���/P���
{�*���T���@1�e�
�L&�20��������i���yx9�IEND�B`�flags/pa.png000064400000001007151171034700006743
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���#��L)aa
���@@,@y>>> ����2^�������
�}��������כ6��g���9����qfLR|�����{���ϟ�������~U3���
���$/��×���@Q&C4�"�b���^���?�8�� ��X)X�o�߿�6�VK��W������Ͽ��2I�?����~�b:$��oF11������>���o�
BY�*��&&�?������ߟ0u
��'�����&L�x��S���/0���?P��_��w���^�
�� �X�N'��t=0��d3�TfMMΞPt��C�
�\�]���ï? ���_@�P�p�?y]
z�-�IEND�B`�flags/pe.png000064400000000615151171034700006753
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b���s�
�(*�KA@��VW����1�������f�����������?@�˦M������rdp���_���ee�6��Pտ���j��߿������6�����L��h@����/ĕ4��4
��N���_�50��@`'����*�V
`う�a`
�fp��rV
�@�t@�40��� ) 6�/$ѩ� C *
ƯH������"��B��
�=a�;n�'IEND�B`�flags/pf.png000064400000000762151171034700006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�����"��$6@���a=�����)B�l9���֬J�
�)�r�E|������@�@�@��A�
��������f����@��_�����3\�tc5#;�����!��?FFƏ�>�?����W�?.�:��ϝ�?}��s���b�������}�2J^�f�����W���7��j
�����/��?��z13�A����Ă�������P�+����4�Y9�e���@,�%$�����w�������/W0Ƚa��_v��/(X����$)��7㟿@9�߿���a�d�"�/�q�_����������Cb�1/IEND�B`�flags/pg.png000064400000001121151171034700006746
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�L�A
����?�I�6I��L#�9�.&��Ө��1
��"X@0�eݚ6p��7g��*|�b")���Ky�*�͞bjx����S��C����������_��_����7���?�bj��h�߽��m��W���i����������~�w���?H�
�@�����ϟĘ%G��_�������~�����_�����4��b�i`aa��̜1}�������V���u���~������_�~���
�
8��@����J}�K����������B���5�E)헮i�������WSS���Ј���������M��f�f�
�?
%
���999w�ܙ1cP5�!�����Wٟߑ�2�F@�4���GRR�ׯ_����
S����������/+@1��@��g4�IEND�B`�flags/ph.png000064400000001032151171034700006750
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b\�vzp�7�/
����������a���P�ʊ�ʩ�!�\��c��3�dҀH/(�U#�@�߿����۶�ɚ5��}���/������������ee��o�@L|��cb����ZR�%+�����?�����4�$�b��H=f`����tm-�z���?��?!@�
�X>30<������\���
��W���}n�?����t՟_��?�NP���2����gc���������V���?��[)��
�X�.k�a`��)���?��kd��P-@5|e`��_�a��f���Y����/0�����K/�?y�A@�����`#
$��A@_�����`��mL7!U�_)��IEND�B`�flags/pk.png000064400000001071151171034700006756
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���#|��Ez�4����f��1X�����H�1��������߿��������������ߛfl
������㯏?��������e�����_�����Z�Gh@1ATC�?��U���+[;�F����,�,�����@A�������5%�$���v<���OnM!�������6�%�(����̜Ͼ<�����W��ϴ?����_��j
&���0��x��%0���~�������O?����
����?$
��x��@��G��}V�U�pgÞ'{�A�@,�N���7�@K�O�=���Aʁ��g�7���ǟ��N
�
����(�-����?�Mw7���h?�dfeVP���/��b|���?0���j�*��F�x.���@���n�IEND�B`�flags/pl.png000064400000000566151171034700006767
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b���#������?l �X@
������������3300�G_�=
���Ȍ��##�?��H�)����VF�j0ģ�
�X�����?{����?���������
Yi��I����_�!�~������_
6���9vXd<�"T��00H3�pE��5�e����i`���ARl�_�?
��`#
$��A@���pĀ�E���\�Ǵ]�IEND�B`�flags/pm.png000064400000001261151171034710006762
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<CIDATx�bTMf8#����?�K�^ol``������0�����
1��Pm�f{�5>w+G�!:;!EE���@��� B?>�~��I$&/���1����������������WG���������������������������Ƿ��^��������d�����ꬨЛ���o$E_h*���
1�����sl�!��^P����.'�����.TL�AR���K@���߿��c���n��߾c�{�������������?��_�N1����������0'�/$� �:�����*�E9̎�r�1�� ������n�P�x������������=��N�1��������������7�������������
����3qrɰJ� ����x�]�r��?������'3�����c
��30|G��tw����D�?�6p�s�c��RIEND�B`�flags/pn.png000064400000001221151171034710006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<#IDATx�bLN<=��\�
7�����Q��p���N�5���700|c`���L�1�Qo�}h1���%
����
���������������������1��0�C0���������������������/���
���1������������� ���#E���<-�&;��1��>�+(���H�ܿ>������������8���1�
�����(�������)̌�@�����5�����1����6F������2����3��
�������� p��������o濿�������?��~g������{W���;�$������_���Ͽ�T�ܐKt������@���(!.����?�����_��?����w�S���1�>4�@120�#G$�A���$@���/Z:�YIEND�B`�flags/pr.png000064400000001054151171034710006767
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd`����@���_���0b�1����
�X�U�a8��t��������������?��o
2N�[@��k�=����W��������@�?01������u
��@6�����p�Xn���,�X����?��13�ca
�����1FF0����������>���PǀI6�c+VP�� ���n����0���ڍ���7�~�a���P�_
�7����a�@n���W���ȯ4��G�uv�����e���;z
����]��x�>P����w�Y��L�B�\FF�g�?�0ݩ�����_�$��?�`�H-XP÷o���{��vS������u�j�c@����2������j�'6_[����7���-���-+1U��IEND�B`�flags/ps.png000064400000000730151171034710006770
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<jIDATx�b��@
�o��w20\�����L@��߿a$�شi@�5�0��z�t�߿�����7P�o8��@d���H����u��W�o� ���FFƇ�?��o�A�)����L����`j*�
�������?~��h�����t�@,�?�����_����������I`K� �$���~�d���!ϯ�^XU��t�?�������ݪ�'x�����ז�������~��������_e~��-G��=۟5��Y%����H�?�
`|����P0�������_�?���P� ����
1����$@��T1p�4qIEND�B`�flags/pt.png000064400000001052151171034710006767
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�d`���X�n�2�"�ba��P�Z
R���e�ˠ�����?���a�����?�a�M���� �����O��� ����'��ٖ������_�������/�jFYY�
�6���M��ö�����������X�o��߿�� 访���������[��e7��uZ�����_�����h:@11�b���Y~���'� ��L���~�f)Bh��h@�5��d�9��_���"�r�o�����$F������_�GX�'�'o���|��W�j`(��@
�������ov�_�����X5D��`X��
�X�1���G�_��@�C�A�7P/�j��
�/�@���~0��L�?c�c0��Fv�|��IEND�B`�flags/pw.png000064400000001046151171034710006775
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�����c�"��?�#Yp('E�0)�YH��k�p��s{�2ǿRʈ�)k�RqQ{�@,L
�O�������H���v?���������P�,#ÿ�2���@;�0�+�Wjedx��A�Ph�u��b���/H��@WP�_���~{�Mddx��01>�T^���������>
&�����02��a�
�>�[�Ǭ�����
�
�����7�ߊp
����'�����
�����X����_�����?�?��ވ��
�c��@s�
���e��Ü��w?�xʬ�s���w�>�+$>��
��~�c��fK0\}�v�+(�3�����/#0f�! t@12�e���?@�P�?�h���:��ZYIEND�B`�flags/py.png000064400000000731151171034710006777
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<kIDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
տCH(�$����f���@,_��gcc����?C����������b��������G�~nY��o6�
99���o~�ħpCA�˧����8����?2``���@1�[��5���W�X�������
Ʒ�s���i�s>�i���!3ӓ�/��A�bs��㗿����&��I8�����/'��f�i��A
������4��9�P���{��AzK8�
(UX���_120�F8�I�R�����S�]���IEND�B`�flags/qa.png000064400000000702151171034710006746
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<TIDATx�b����?(���/IB����~10����
��ظ������C�W������߿������&���]�|-@�@���^�T����"
����~I!i��bBV��߿��F�Z�
���`��_ �� �X�h[\U2��/�
P����A^c
&���
�-�?��U�LP�����_Rr�/��6���7H@1����?��l�/��j�o`�5�I����q:�?
��H%@1~|�����
���ep������ '���@yY���@�k}[�T^�YIEND�B`�flags/ro.png000064400000000757151171034710006777
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�>���010��?`������`��
�!@�0��SݤT���L����?����D~��?��߿���_6m
��O^�����L��=b`����o(���_���f���@,
��3U��B@����&����C40��
�@,��U������xE�t�ba�����0
�����Nb��h@�4���P�_$
`�I�`'H�������u�
`�n@�0���������I���?@
���
�����TR�䍿�LL�����������R0:
��20�K�\�|o0ÿ?�x���C�'�o�E��EIEND�B`�flags/ru.png000064400000000644151171034710007000
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<6IDATx�b���?���BAX�������)����̀�l���#�/��d�j�?6����
�==�gd��䌿���d����@$$�XX�
�X�o�����H�7��?���_��Iyy��?�|��4D�/
�T�����H�R�H\)�
@�@,��5�|���Hӟ�����D��
e������f�E���?������ph����U��=L��0HJ倢`g1��
��H ��W���*M
?�e�8aIEND�B`�flags/rw.png000064400000001025151171034740006777
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�$��
�p�viS�S�
��>����
T�J}y�"G�}�
������������@���c���O��$���=�i��
�X f��
TR���/�����d���?U����M��BE~�1���@E
SA���e�����
��z�������/��o�
�߿�����/�@������h��@qf�O����OV����9h:��d0�ؿ��ؿ
�L�/^�
.�/��g������_XI&&!>6�bz��$��U�j��?�������σO�����/�����$��1����*�=���!9H���X���ω�U
�+:�I�6���F-����j�K��
F�d�@�#�$�8�!\ ��
���h����GIEND�B`�flags/sa.png000064400000001047151171034760006760
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�f@�����H��@������#�(���,�lg��2EY�i�)��
��i�~��P����_~������������ˏ�2B�@��t�����a�h�,���ǧ����1�132�{�N��K��Z�@
`��?}����)#
���y��~~����7�̿�]�@L@����on��_�|���ڋkl�מ_�`���k;����$��
@��a,�WB�ڇ�ro�YZ�B��������c����
�
����3�:����%xX����Wd����j �
��g����-����÷�@�
�X�q�� > p�E���F��+�.�ONH�h'P@12(�D$�O�
�0z7�9N�IEND�B`�flags/sb.png000064400000001160151171034760006755
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bdf>��"UYy��Z����߿��1��0Br10<��h��1���VVnn..�����������������J;�>2� c���1�Þ�'44�������������������w_�,+������t���������������g���ϯ_@��b�;⺗�����'ɉ�
@,��"�I���SX��Êo~�fc���4f������n{��ϯ�`[�1���쾾����ﱱ� H8�UF��ߺ���������������_�v}zq�����|l��*����g��oW�|����mz�/��j2~�bK�ߩ�p�����/y[�
�
1�h�߿
�i���v�U叿f���
۾ρ.��b���~�j*���
�X"M$�����(9���?�YeE��J���r�?Pd����b<>��Ôs{10|g
�+�9�IEND�B`�flags/sc.png000064400000001140151171034760006754
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd`������<Yob�����?)�?�1
@�00|��v�`60�cjZ�_�?��0�������?�C�/�6P���;�s��b`�R����������_��"���@�d�?�������ʂU����{�JA�C40��
�@@wU�g`���u�������6�~�::���Ο
�
��a2���?P������!�:�a������[Z1�����
�
N���s�?�/�Y�o�
u+�{����������@���u�G���_6���o��r����~��郯|W�1��?B�������HH�KN� �������������������1��%�8��A�x2�0(������������������������ןvRWn3\b`�`@�c� ��I�R�=��^��IEND�B`�flags/scotland.png000064400000001211151171034760010155
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b|��C���[�\b��`�b����?�_`�ýww?��H����;@1��|��&����ߦ������G��/H�
x���ۤ0E.f����M;@̇.[����21��<�����o�{��Ǜ;lm$�=eX��7=\��
��<�
D8|�!�#��b
��l"������.)ճS�*=��g˹��;�
�X�v��g��w����b�R�̛���@��{�=�-��[����7�b��oV���\'����� 7�ٻ��/�_l�~�c��
��@60���ϯ����d��
k8]kd���_����9���~�N�0��*���s�����3�aa���G_(���_V`X2��
�g�T~��OfF��#=���Tx�F
@1�ο�,F(����ew�<��[��7�?�����ϣ�����k�1�g���
@��������Ƿk�0�r0H�0|��f�R��
��P�+��@@�)Kӣi�IEND�B`�flags/sd.png000064400000000754151171034760006767
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<~IDATx�L�A
�����A�6I��`);�]LA�Q)\��܀abBWξ�L�1�����?��a����߿����F~ٴ
�X�0��Pc��e�k����
=@�H������(+��� �@����D�uI
�C3�����G�p��������t�~�y�2�`�c������?�/��b�������c��5[+�����@
�����ϯ���7y61�g���������p�{�3�d��P�?XY33�O����ß��^r�^�:pf�/0:J�Y����篊��ŋ����+N�C\�B����
�����0������$`J-N:��cIEND�B`�flags/se.png000064400000001036151171034760006762
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bdpnd���u���������?�_�~�a�����
�X��s=�����1�����on�ߟ�����D�����@�M���l�'�������3��{����@E���������07�/�b���P�������ba����/��_`�P3й����AF�2�_@��0����o�&��#0�oFv�O{���
0
�A�!T�����I�A�E�BH�H�#����A�8�,���������ڒ�������`����篲���I�����������fد_@ՠ
����0���D�O�)@����a`�fԿ߲B<�����_�9����H
F�dxD���@����2�B��s�$@�ܹy�'�IEND�B`�flags/sg.png000064400000000724151171034760006767
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<fIDATx�b|������ׯ?��s�$�
K��)f�_��|�I[��ǏN����1������?�|�i@�51kk�>~�Ϟ=,?,`��c����Hݯ�������,+�
�@����,/���;vp
�VWT��7P�/���@�@
'�>x��ښ�������~�1��HU3�����
�X�V��r����xx��3qq��� �l0ß?���0JJ���xx��LLLo��
���|�gp�,������?f0����
�@�`������!� @,���x���B4���`��OV�Y}IEND�B`�flags/sh.png000064400000001205151171034760006763
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b|�k9-�k۱7��=��P�=�C��eA����o~10��@�1�KW��R��)>*Dz����5I%�Ѯ�&����������������������1������������
����gK�������������
���1��/����������W�����
��j�1��\���?c���3Z��
=��������������1�P�|�8����������
H)����������#�������%�wX��O�~���-�o.]{��6#�}���t{��o�8�i����
����?0(��g������߿������ߟ_�����{�3�K��q�:���/(��h0Ԁ���P9�����x��J:��?^)��#
��~���OB�(
>0��J�R�������������,"������&yG9I٫h_xIEND�B`�flags/si.png000064400000000776151171034760007000
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���+����Df�����(����?�sq0�5�(��|�@,���<~��=��LL��FFF�%��,xxB�����B��,~���������������?
CB�}��C���O~ԙ��g[�s=b��of��_@
�����~ɿ>�f`x@@'���a��W"��������_����_`b����B
��X��c��l���@�@#�0����/ï��P���L@������ӧ@g��r2�:�ן�@��@���%'3L
�����/��v��o���!.��7�A�?T��=L@JJ�@����b�a��@�/#0��!!T.�^�\1
Pp,IEND�B`�flags/sk.png000064400000001062151171034760006767
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���;�?8�����A8����@,@Y&..
����&���f�
2���
@�@��>1ç/������/P��0�?`dd���@1�Bd�m^G����{}����ה�����������������wl�1����EBE���jk�]]�vz�������������������������C����Ɣ�?�_�����_L������?����b�
@��t���-[�=����Gi������������?���
lĸ��A�����뻽K�F�r�?\{�~<x��5�����d��]
@,V���;{��ݽ ���;ϰm^/����_��I��o��y>20�aL@7JJ��s�"��YY��@
$��A@��p�E��\*=�M��IEND�B`�flags/sl.png000064400000000664151171034760006777
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<FIDATx�bd8̀�10�3���`0@��1�n⨷��8T۫Bde��X%�N���t@�����
��O?�Q������
TR��_�4�4��b��UaWd ��߿@�P��i�EYD�J�
Ư_sr2-��qFF�G��˿�
��e�����@y�b�b�սX\,�����a����_,��_\����@�\�|��1�{����߯_
a�@� z���p20\ `��JKJ�B��C;���"0
���a%"��?$1�Rq��}�IEND�B`�flags/sm.png000064400000000766151171034760007003
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���?�?�����0�!�?`I�b���)���?#�����3�G��|
��`�ƿ���U322-
L���~���?�nd
�
��w�����ۋ��~|r~N�\d=��0#C��>o�����D��פ�O�"��͇�x����?�K�1-h�@L��������tc
��<_����z��l�
������@����@��ɯ9{�����2���ߘ�������
�@��e�2���_5-�k��������߿�����/�ba��&n�%7�0(�Fͻ��ß��pc����Ȑ��h�!(.���� `�DO���a�IEND�B`�flags/sn.png000064400000001024151171034760006770
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bdhd@����@���&��@�TV�Y
R��1�e`�?��0�����̟����"�l�@,`��?������e������������~����_@Ռ��@�49�0s����T�7Z���:�p��Z_XR�+�@�2U���ϟ��~��{���?��P�%�����i��������+�~m����R��\��!������/X����m0�e.�ۯ_v@?
l`;
�@~�����/����g�
�C�&�����n<���h0�I����@_�=
b0�P���O���@,�~��#�- �8X~32I�q�
����N
F�d���/z=����O�`�,[����XIEND�B`�flags/so.png000064400000001017151171034770006774
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bT�������ߟ?��1���
�/���B97��h��h���&�ȰO@��Q]�z�7$a����*��8���
��W_��AJ��2���������`�8#P@1�*��6����vr����������?
�t@��a����������f��8���gd������;����_���������N�R<�%�����*�����
�?
`W�����+
��g�������?���������$�����Ͽ�A�f�d��2��@,@[��e�Ӱ��_@v�y
��/�� �3�a ����-���W�� �
`��t@12�~e��Hb@���G<�mx�ȮIEND�B`�flags/sr.png000064400000001001151171034770006770
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�g`���`��/0��
$YP(�F�0�p4��I\"�=�
fk���J7܁*1$���O1�������?0�
�0�,��$#��w��$����9�߿@C��"��������?Ц߿���
d0JI}\�
�X�f|��S�:��@*�~�������g�k�@�� ��?A����_�e~���!�;�i��߿@��n������O�O��߿��$^���`����7L����o���(�M����k^6���`���?�@4,����?3#�W����!�;�?pH�B���й
�`����B�y�bd(f`���_H���pH��0�ih�IEND�B`�flags/st.png000064400000001110151171034770006773
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���:����c`�#��/��@,V�>U�z00�������Ͽ?�������L�����u�7���s>-�����T�_0��ׯ��~��-�#��@,@�p}���wҵ��~��r�������
���of��[E� �`�+8���y��w�>�_|쿙�:��1���w�/~�_�l��d��~���������k���+W�^��.��hɯ_�~�E���
�@���B\��A��~�fg���rLT�oN�_!���:
�X����¿�������O�"F����?�y���W`��?��0�y�
�@����[����0���
t!�:e���z��
��?�=%����$�?�����#��_�/ĸ��!����8"!E�/�h�D?@�^mI�9џ\IEND�B`�flags/sv.png000064400000000765151171034770007014
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�
��c�����?�������(���BP��Z�����������������?����Qw
�X�J��cx���?���`� ��?
u@�����OR�h/@1�?�UY��ׯ��3����u�r@4��٘�|@���edd:�?HX�w��c�R�����>}�@,�B�
������
��_L����\5�|Cu�O�m���k�͉bةĸ��GU9��@����?�@���@���y��g��~��K�ы_�0���8�~C�/$�����I��3O�IQ���?�����7H0����5(��b
���2�e�G$��c�Cb�t�XlM��IEND�B`�flags/sy.png000064400000000646151171034770007015
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<8IDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
տCH(�$����f���@,�>~���e��!�F�w��@��~���������{ѧ?_�z���@L@7u������[u{�����ݏvM�:fß?���
��>����T
��y�Z4��v0@1�}������!����w�� F
+--�{���@ ���?UTT.^�@�`������$P
(
���?`�0�@�D20ϞJ*�ҶIEND�B`�flags/sz.png000064400000001203151171034770007004
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx��
�(>lк,�~$ˡdö��M���C_�,ίj��
�,�2<TA�3�����������4�?������&�/:@,����X'��������D@�?�~��d��@[�8�]Y�1��g�Ey�������������������Ҕ����������� h����:q 9po�����k��p�k*�ԫGI�.�{�ׯ߿``
&���yH~m�������(���ג��
{�q�f��T�i���@������_̂.�έX���߿?~�`aa���yr��ْ�붱�xU�>�0@��O���O�߿w����oֿ��]y����3��-�����f��N6�����������o`@����+������_�����mu�/����0�E3(.��'�1�b
�����P
F��o>��D$����?�����<PK�T��`$�aN�::yIEND�B`�flags/tc.png000064400000001160151171034770006760
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bܟ_��C�sǧ�O�X��p��`$���0������y�f)�7n0|��OJ�O�˃����ߟ?�~��"�����ߦ�N�1��� �ɾ�����?���4����������e��S��6��'_n�eeWVx��5N��/~��Sg�IX��k�K���j
�v~L\\�>��a{�g1����k���2��K������@�51���Ȩ!���
��Ƽ��/��������������e�"l~8���_7|���ﯿ����������w��~����b�������(����?����a�>儕�/_�>n����?�bj��(
5�h6�
"����3c�Ͽ����r@5���翤О?
o�R��_^�q��c����?���#C(j\��+RL��
�2%>���%�IEND�B`�flags/td.png000064400000001072151171034770006763
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bu���/�����`�='KL�՟?������3����
$��͇_}EZ
��߿E�k�پ��������x~q�<����?���y6>@���`$l��k[-�,��3��q�ZqA�����jCS�� @��
$9�0B���QN�:T?
��ʑ͐�-�xP8)�0�a���ZMW�C@���#o�&����+H��NI�?,R.�Ku�?i2��ɥ�C;�#�iJ������yp�����<
�@�0��t �6�
@
@ �f�z��~C���
�X~5����rPϿ� N(H0X��j
�/�QA6���?�Y��ف~gb����#�/9��P
��
����7�A��tpu��(��nfb���G&H��:"z�[�VIEND�B`�flags/tf.png000064400000001017151171034770006764
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�,g���:���b13
��!����/����@,@��~��@
��322�t2����O��߿?@���?���L�@
���x�j�������|����_����߿�JK������0�M����0�ᘷ�4le�s
{�S+�X~�����߿�@��b<Pï��m��t�I@�d�����@�z~�Ku���
��N���M-�4h��4���e����\6;�h��o�毺���@5����?HP5��N2��y��ho)�6��@-�
R�b0��
wIA~��h������37��@
�f� s�Y������_����~#�Sc�SG�<�
��1����8��l���\�FgIEND�B`�flags/tg.png000064400000001062151171034770006765
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�π�`�v�`��da
�|u5������'���>�����?
�����~�����0s@�5pp���`05eX������ ~d��������_@���o&v�V/�b�����=�������q��d�_��?��/.�[��
�X������\\W�����?[��_�����ן�@a��ݷ�
��N��|��E�����������_����
"���[���{�2���o������R��p�L�
6��{)��G���QF���?�3���З~������A�ٕ��?@,7�0H�����70����&����k������@,�Ry�!- �?�����L�<�pl���|/�a
F�b�O�������1�&yqnC1���IEND�B`�flags/th.png000064400000000704151171034770006770
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<VIDATx�b�π�P�X@��
�a�����@o�H�����RWZ�"{�<���"�b��d��3�c����>}
FG9�:����h����������A������Ͽ�B�e�[�e��3��"�}��$�Ͽ߿�ѯ_���_8)/���
��~�q'ȑ@�������z~@�D(,���߿����h/�l���f�I����7����/;8��vЌ`6���II�S�����ϟ������8���۷o��;;SI č�2���F�Jmٻ
���F$�8���b�ͪIEND�B`�flags/tj.png000064400000000760151171034770006774
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�π�����gC��V������"�����������`�����M��l�_O�����(��H�_@Ư��~�l��@����WNNN�����$�i`������ f�����������S�b�{��?���,������f����&�G��
���AT��̲y��.@�����g�b���{�������Ǐ<<<�!����{
�Ҍ�p㙘��߿@,p��F�R���H���
�T�j������������_�$H�ן������"�r��"@�0�`����$��o�(P�*������/
��/��b`g`�g``g
մ8���eIEND�B`�flags/tk.png000064400000001176151171034770006777
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bd�>��
��c����&y���?0�1��{�!�����4'�0$�������%��+��
����������dÓ����iϓ�����W�����#����X���>Y)v������������oEϝ��)#X�������#�������6��t@11������?�~{��U���|��@�wyp���+�e���������_��Nj�@@}���?�c�v���K�����~������S��ad�%'����@e@����������
�e�{ֺg�~�fx�����o��xG���@#�������\�+��z��7V_�=�J'�����(��U�����'P1@�l�
�ǯ���� �x����ع�?��������?�w
�����P����_�.���{���0��~����J��;ayI^�����@120�F�K�/π�1000��e��@��[%����tIEND�B`�flags/tl.png000064400000001002151171034770006764
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�L�A
�]=�3=\�$I�fM�Np����:�J!s#���5^���1|����?@��?������$�˦M��p�¿��O�c�������/��
�$����f����@
���?����/������aJA�C40��
�@L@
������G����������g�� 6���b�i���knn8s�y��I��_���`��?�6H��m[<xPZZ���+8��=}������'\�I�éS��-[nh����7��?�g���f6���`�1H�ϟ?-��fo���OduP��P�H����(q)����0ȀB�l$���!�$�bte`X����D`+IZ}+X9IEND�B`�flags/tm.png000064400000001121151171034770006767
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd�d���$?�|���!ѐ�������~10�`��?
1�|s�"��
u� ���Rs�������������������s�� ��?çO�~>|u�'ϥ�7��x۷�1s�����n=x�ٽ����?���������;�3��&ۇ��{��+�������ן߿~���h�o��bj����Ͽ�~�����_�]��L�������S��y��o���
�
�X�~���/+��o_��r������'�R�T�K(�{��Ƿ@�
K���8
�X�a���_�8~�}����/��هW~���؆?@o5�
���/ǯ�\���q�/`�j����50����ghn�������`��~��q0p��i
�
>߽�"����s)I�? ���
V���l
����bd�E�ğ2w���A&���IEND�B`�flags/tn.png000064400000000757151171034770007006
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
�rr����������_���ee�6��P�qq�?��1���ee�������oh����߿�� �n�j�����?t迆���������%@��rџ�
W���^^����8����?//H����������~��_F���
�GG�l����$�9 "��������CCA~53��$|@n���@�50C��ڀ.���_X�_LJ۶�߳�}��5�B��i`���ARl�_�y�:�F2@H%%HP1@1~E�H<q�*8��Zu�IEND�B`�flags/to.png000064400000000652151171034770007001
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<<IDATx�b���#��D�
i�
�X��|||w�_��!$�AU����\�?���a�����?�a�M��b���Z�ϛ����}�"
�$����f���@L �@3��XX�@�P�
u?A�/���������\��
�!$10??CQ���d����4\�x�?�6Ȇ�������7����fC�v@�1#Xh�"T�
�?@70H38��0��j�
F�i`���ARl�_�? ��`#
$��A@��5"pD�?XR0�N��e�IEND�B`�flags/tr.png000064400000000754151171034770007007
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<~IDATx�b�π�P�X@�����
$����-��(ҼN�33�Ȗ\�F8��U�@���'���?yT
R������;��R��߿���d3��m
���`�A���LMAꔕ�wt���k`���
��@��ڨ�������II�7l���������ZT@L
'�� uq����1����W��/$�͚�ffP
�M
��������10�kk�������%��=��oD�I�Č`K/������
������E����2�@�40��h��������YYA����N��5�B��i`���ARl�_��'�:������8��
���F$�8����;\F�oIEND�B`�flags/tt.png000064400000001151151171034770007001
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx��A�0���ڧ�r�����%tF���~Q�Wk�f1�xy��8����\y�����)))�DF2���N�?�������i@17�{�hoo��q�ҥ[�n�]�s�.,������ׯ��zD�<<?��1�����:YY������������Abb��������������
���������ʊ��I���mcc��.ݼ钞�s�\�χ������w��\�OL*}���Ç�]��s�H?��Ǐ������/����z�SS�_���\��ST����'N0���
��k�����}
�������=3����̕�~��P�u�����\��dh���`���4��{w��9u�RPu5�ݻ���AO����?71��蛟����o߾}�������99_��="��5�K��OYY<Ȁn��
`�c5P��z�IEND�B`�flags/tv.png000064400000001030151171034770006777
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�d@���C`��X����T�[R��ÿ����2���
b�����o%KA9��s?�����x%@1����B���FF�O�>D����'^~���Ͽ@��Ȁ�_��6N]�*�0�-@1�\�B�u|��t�������/ R
�3�N�7��І�/l?�Zd!������=��2�����HO��B�S�~���,������p�I��?�@�t�������)'ȱ�t+@1�������ןߗ�V����/�������Q�����t�[�
������� ����,0�}@����i����o0���_�[N뗂��gw�^��߿�����u
�ݑ"�~��2E'�sր#�?,5&�SP�ɽIEND�B`�flags/tw.png000064400000000721151171034770007006
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<cIDATx�bdP����Я?�<|.���PYK��4fgfb:�������P���+������#�l�@,�E��sgee|0���7�����ރ�?������_���f���@,@k������_�����������7DP��
�X�������5s����ǟ���
4�l��[���Pٿ��>�h���2�A��h�20�ߧ���?x4��7�H�@&�N
f
@Q��$t@�40����S�������
�@�~�a����H'#�H D�BP1@1~E�Hl���ISf�捧�IEND�B`�flags/tz.png000064400000001202151171034770007004
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bd���
�10���@�!ލ!���3T @�0|a�v�)���������߿����ȟ��",,����ߛ6m
��O�>*�����������;V�)���~g��z��P�����\�b:h2P���A��D~�*��{��_������7ӯ���N��2��@������O��og��/�ά����/
�Q��Q��--z�Ir]"@�=t��������{�_[�����_I1��#E~2�6�*|�ӊ���bЋ^j<�~�����@s+��.aV���ض�d�/F%�����C��oY�_Ӧ�ٺ��_�b��E
��+Yp$�+�_�@����?���ߧ��z���¿�kI|f9�R��_"����B@��"
�X�URS�ppHJJ����������B�\\������/����d:
�a��������q�a����rc!��@q��`u�)���=IEND�B`�flags/ua.png000064400000000676151171034770006772
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<PIDATx�bdh����1��
��?(�#���
�rr1Pz�(*�
j�d�!�7n�G�3K��,TCœ~K��G�00�T?�����?��߿����!�~�!�����@�l�T�d6H������+�ks��
�X�.�����l$�P�*��� rJ�S��ߟ
w����H�����ʖ�bc�:@�20����?�/�W���dbRz�@�C�,HTE(�����
@
� P��6�� �
�@��uJ�DA:�#B����?�b�z���@I8�`@pA�H�n��GIEND�B`�flags/ug.png000064400000001023151171034770006763
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b`
#wt�������������������?0֟V���U��?������A���0���fd�}�i;@���c`�J���1�����X�_
ƿ_�3��f;�@,L��e�����o
����|�;Q���1��2������߿��d
��??��
t���@�25�{�VQQQwg��߿���B��S�@,�@���ϟ_�=���o�c�bbb�V�<p�P�ϟ@�_�~I�߿_30�����Y?��ο����
"�����_���?�\J��
Ɵ?�����ǀ&0�
#��۷��;S����@c��ez��oF�G��"@�AR���[�@�_�~@B�\4)
0F���%IEND�B`�flags/um.png000064400000001073151171034770006776
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b�n������?�������[����������(���ۿ���<��nۉW�~��r��߿}���˗O`��Ç��
�bj������0j@����״0|�����߿���IX���-��(�`#����@
y�e��Ț�/?������q(�LL̷v� ����=�
h*P5��������gx��?@����3��
��@,@�9�9�d�W@r恗�6µ�^2/]
����$3��ٳ����@Q��@��8���U�_~�����������ǟ?RG���絴��������p�
1�g
���E$%�gN����}����߿%A������?~�����_6ii��'��СC&&&s�m�������O��?=���x���txD��1�00|���10|�@`FEH{���IEND�B`�flags/us.png000064400000001141151171034770007000
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bLN?���1�����?��%���o^��P
�rn@�+0Dc0P,J�e�
>�{�2}R��j�L��{D�`���bj���X~���@�����A���e�fx����G�/��}c��q�@m�4h�}ݯ�_�ZU�|���~����>}���ûw�y�o�/�N�<@,����wof���k˟�-�W~��z�+n
�`�/_������/Τ�?W�Cr���m�~~��Ѭ���ׯ��>~���+��W�^�|������ݲe@�d��?[���/������i�������'���7��
�G��JJ�-�t������!���0e��b�^0��#�i�/_2|�t1����_���@K���
�[�.�˫}fe���q�Q��?��b`x��?�I
���U��?(?A"�?>30|��`.D
��[��0�+IEND�B`�flags/uy.png000064400000001024151171034770007006
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���#����"AL8��(�����M����X�0
,=���Ͽ���߿�~�2�����ڏ�۷o��611``�X�gN����?�8�c011]�q
�X������w&�����e`�����k߀������
�An���\��@���q�0����?l����n����?����
t�����?YA��3��������
���
h�o?�^��p�?��X���_� @,E���;0}������������|�%8Y�f�
��+Ɋ�?y���K���A����0�ϕ������"@�!���&
5��#���l}`8��7$��?��
t�?��o-Z@��>���4!,�?`�?�(���YL̓���"K{IEND�B`�flags/uz.png000064400000001003151171034770007004
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd`H\��LCC����
���Yw��+5_�"
�����0���ӧi;w�=w�ſ���M�������3������ᅴ6U������������'a!�Ǐ�
s����~����P��,?��bIe��p����/D��=���߿��y���(��߿��������[��k�b���'//+О���3�!.���x���b�����r�,#����?�^�6����@130$e5����ߟ?�n��"@t�o�
$���r�m
�������{V�ן_�ϟ߿���
�����s�����H�J����1�
{��������_�'�����
!!�
0:<o^��IEND�B`�flags/va.png000064400000001051151171034770006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b|}^���;�������#��=&���Ͽ���r?P5�����H�?���E8���/^�`����?Hϟ���g�`���?�?���`����!
u0�@��f���ϗO����������P@1�6l�����������z����E���]������?�ÿ�`�`�������4��g��'O��7������
�X�}���b<��ٿ~����.%>iF��ǎIɲ1��E
�����+����Ż�7ؙߚ������勗�u��?P�@<���Y�?�n
F&F&FV������E��b2��0��������pN!!`��xw?ÿ��e�
���I
����?�h�h0S�F.7���IEND�B`�flags/vc.png000064400000001101151171034770006755
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd`8������ D�?
�����Puu�"����Iղ����/P��f�?L���'"���~���i�&�j���~����������o8�����~��-�#�
���V����ϟ�`���������@���������\�5������ϟ��x�k���F"�Y�x��_ᗉ��_@���5���@տ�g���ʻ�'^�2��+��؋_g�fd��t0tbH�o����Z���~����������|�~��
q�I��7�o�йf��LD~m���ï���~�R��A6(X���$����/o����TCD������`��a
��{$$>ab�d`�e`����#�o�,3�e���0��@�[�q�(��h!P��h��E���cO{Z��
IEND�B`�flags/ve.png000064400000001020151171034770006757
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���a�&!��@���#
������e
�E�^�
�y�����af�������/�6�?� ���
*���(
�� ��ߌ��@�e�����!��/��P����7P@1��vv#����������� ������JJ������������� �?
>PHU��������m�>mެT
A@e@�������_��/�R=mګ_��U������V�7!&�3�uvV��o�5����?�@SA$����+�$Rz�
�X�1e����=�!���Cp�?���`���@,@k�~�a���E��d��0@H
:�����+4f����&�Zt��8�IEND�B`�flags/vg.png000064400000001166151171034770006774
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�bܟ^��V��oŜ�8~վ����!���/�`1����:�����
������������������������1����ͻ����@����;��������������1��:b'
���!����
�����%P���������]�1��>^��!����<,,���������)!V?7���������שc+T=N�d|����ױ7��r��3�����/�*E ����?����1��������������������������ӫ���������� ��,��@�߿~����?����PC���*/ۭ[���d���,@�5������u�T�ݺ͡#���ߟk�9�j�@@
@��IJrI��?@ڀ��.���X�2�����_��������ȑ��
�)�C�n��IEND�B`�flags/vi.png000064400000001150151171034770006767
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���#��L�)@,@q�]��ƌL�����_��������I��E���߿��}��
1�������������Z�@������1����
Y������ ��>
L��:���ei����
s
1������8�������������0�������7 i���������oO^�j��=��mQ}����F������X���^q☙����߀�
&9�7o~
��g��;-��W����2������Wfv�G������?(����۷����������k\AF�Oo�t������߷9o�OJIqܽ{
�X
A�*�LKz/���̚_���7^A��Ԕ����B�Q
$99�5�����~�|v劐��_&&FFf�
$f����hq�h�Z�
�E�
��v�&[IEND�B`�flags/vn.png000064400000000732151171035000006764
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<lIDATx�b�π�P�X@�����_����upɒ�2�ҒKF6h�U
�wg���@�
տ�H������_�������/�8��,��b��E5P��������
��7P@�1#P5��?�.�������������'"4M
������������/�R
Df��{��� �$��@�� 䤿�~;�ͯ��@
@���~�T��Iv�o��
W�M�$�w��/���o��@C�00H38Ȁ�T����3�:��9~�����P��@
L��0HJ�����Qd$ȗ���@������+jD�c0RZ�2IEND�B`�flags/vu.png000064400000001134151171035000006770
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�L�� @��5��k
�C�$�^�u��"�����b2�4�b����җ�'wXV�u��?��������?��0����ϟ�0�˦M���p���o�F2Mn���o�?A*
������/
�QV�@15�����K7��.c���߿�JA�~��_P=@
�!��8��w�,Z�'��!��?������_~���H����20HÏ;V�.M�s��?~�o��7���I����c���/+��u��o�?��2������ׯ�@;~��
$
$�PT�r�@�4�;����_&:@�1�������߿����D����'��C���c��@��'}������?���I�������0��2|a
�-�?A�r���I�����
d$P�����=�/�/�bad`0�'��`�$��h)P���Lr0$�Q�OJ�QIEND�B`�flags/wales.png000064400000001214151171035000007450
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b|��9��������`�����ɟ�00��bJ�K������v~���?"D����٤.UMVA!i.Ii��{��H#�˽;��~���Y�wߘ������_����u��D��?�����?���)Y_���up~�}��7?�y�~�TX����#�/_b:
�@����.Zr�]�~��r�ʷ���b}�⟓
���ӂ,C�|6Qq��1�����������
�wu� �����wo$*�������1� ��Fz��P����������
�'����bo��) "���1����������E����%��P�$�>�Z���Rw������1����������.��
��[�H�����S�����1�����������$�%�x��-ٟ���������=�
K^�xP����_��!�������L20��hz�IEND�B`�flags/wf.png000064400000001052151171035000006751
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bd`���������A����0@��UWہ���+/���9���_������������/��c�&�i����=��7��ʏ���� T���?�1����!+T@
��1@������_2~�f��Q����������
�UtHĒ��011����|m흲�w�v�HN�)*�4��
�X.:��0{:��?��������~��tt���I����<���@,��������߿�6�d}���%�{z$RS_,X�m`�v@�1�ſ@a$!�߿��7���KJ]]���n�����H�?�CU�5]��ɓ��@�?���eQQ*
�_
��IJ����0���Yd��A?�q)�7������cp00�A=q�tݯIEND�B`�flags/ws.png000064400000000734151171035000006774
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<nIDATx�bd`�f@��`䏟w��9�
�X����K�DLL��nd${���W�^�����߿����F~ٴ
�X�����9�Я_��������������������QVh@1��a���?���кz�P���?@�`u?A�/���i����7!�~��u�������
4���/d
@��I�X��`���Ԯ�wo�`�����
@'A!T���
�X�2�g�{����o�b�
��ѿ�a$#�I�Č`!�(�PU�d����@
��
c�+����/�߿@?H��?��`c�2��d�!���_*
Ư�ɀ��R@`o�]�.oIEND�B`�flags/ye.png000064400000000635151171035000006760
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e</IDATx�b|π�`$2���I�bJp�V���1������?���D��7�d���o�ŒM�6��O���D~3��V���o0��߿�l&iY�
�"���ޞ�����m�$A:���A��@AF�o,���WNNN���3�!.�����#�b���D5Hn�@YFF�b�i� �5h���e>�ϟ?���ȇ�pT
������
F�3����߿�~���D������N�8@�`�HHH��H�C
���-@��V3a�zD�IEND�B`�flags/yt.png000064400000001121151171035000006766
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�$�A
0�T��o{�ֹBRR|�:�f�
�t�Y\(�c@
���w&�/\$vY
��\�/镽m-��̝���ɜH@D\�1�aapq��02�����?3����?P'###��b������/x��Ϝy��������:��&��jý��?�{4ZE]c�ܻ/_�``����3�[�/������OOO�ϟ?��淯_UUU�8����L�6:�0s?PVS[��˗��H��z��U##f&�ʟS~g�������_f��O22�@4�:���������_�X@��ק_?~���������I@���YXX~32r$������X�9���98���
�*
Ʒo����-y������������ׯ_M��ݻw��������p
Z
t�`&�C�
�WM$��B�IEND�B`�flags/za.png000064400000001202151171035000006744
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<IDATx�b`hfh��_~������
�7�O��_>30|d`x��
�3�b����t�����#,G�1������?��1��M�����Y���3_>|y���r�D�o_X�����Hݯ�������(+���
1��~!'��
����s1h$���������������
�����LGㅃ-���O�������f������A
7��o�4
�X�����q������w��x���ǟo�?������������
���'��i������������d����������������x�Dx��ߝQC���&���,�~}�lS����.��/������x�Yd���e~3��K�I�7_�0��.6Iؽ�u��/^?�@+�HE����]��ϋ��"7���h����y�g�}��c�����0��H]�
�2��f��������/�`��F`�
��B._��CIEND�B`�flags/zm.png000064400000000764151171035000006774
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�bdndf�����2�c`�F@�/0�
�X��&yN�������������>�|��߯_�p���ٷ
�X f���
��߿?��������
���,�q����ϯ j���h����F
���D������߬�����'WR("�r@���2�2�����P���k\8��������Gd�)��
��h6���B�~�@��d�A�V��/���o�����E�K~������/
�
@u@�R���Bmi�����
�X�J�p��,��:0<X�>3 ����WE�Ȑ���x�=�
�� ���|ͯwKݵ�IEND�B`�flags/zw.png000064400000001076151171035010007004
0ustar00�PNG
IHDR���ngAMA��7��tEXtSoftwareAdobe
ImageReadyq�e<�IDATx�b���f�&���`��f�Bb�1���_�9�gno����������
�����`�ߟ?��@�_�~�be�����tW��30����7�F�e?}�@,��;���q���:���&�_��������?@Ư~��
"Y�_��@,�&U1�+�0띧���wU����7H��_���
d���{@1�=����y������/�������ϟ���P
D+**=z
�XX�L�^:R}����{U��d�`~������~s����@,�������EQ��_X�~�������1���2�����
@�<�����m;��'���������o����2�����9{{��6,ȁ�"�����_x��o՚���Cy)y�8�/�H��ld6$�y�]X����dIEND�B`�js/admin-field-default.js000064400000005535151171035010011313
0ustar00(function (document, $) {
Joomla.submitbutton = function (pressbutton)
{
var form = document.adminForm;
if (pressbutton === 'cancel')
{
Joomla.submitform(pressbutton);
}
else
{
if (form.name.value === "") {
alert('Please enter name of custom field');
form.name.focus();
return;
}
if (form.title.value === "") {
alert('Please enter title of custom field');
form.title.focus();
return;
}
Joomla.submitform(pressbutton);
}
};
$(document).ready(function () {
function validateRules(change)
{
var validateEngine =
Joomla.getOptions('validationRules');
var validateType =
parseInt($('#datatype_validation').val());
var validationString = validateEngine[validateType];
var required =
$("input[name='required']:checked").val();
if (required == 1)
{
if (validationString == '')
{
validationString = 'validate[required]';
}
else
{
if (validationString.indexOf('required') ==
-1)
{
validationString = [validationString.slice(0, 9),
'required,', validationString.slice(9)].join('');
}
}
}
else
{
if (validationString == 'validate[required]')
{
validationString = '';
}
else
{
validationString =
validationString.replace('validate[required',
'validate[');
}
}
if(change == 1)
{
$("input[name='validation_rules']").val(validationString);
}
}
$("input[name='required']").bind(
"click", function() {
validateRules(1);
});
$( "#datatype_validation" ).bind( "change",
function() {
var change = 1;
validateRules(1);
});
$("#name").on("change", function () {
var name = $(this).val();
var oldValue = name;
name = name.replace('hdp_', '');
while (name.indexOf(' ') >= 0)
{
name = name.replace(' ', ' ');
}
while (name.indexOf(' ') >= 0)
{
name = name.replace(' ', '_');
}
name = name.replace(/[^a-zA-Z0-9_]*/ig, '');
$(this).val('hdp_' + name);
});
validateRules(0);
});
})(document,
jQuery);js/admin-language-default.js000064400000003270151171035010012005
0ustar00(function (document, $) {
Joomla.submitbutton = function (pressbutton) {
var form = document.adminForm;
if (pressbutton === 'new_item') {
newLanguageItem();
} else {
Joomla.submitform(pressbutton);
}
};
function newLanguageItem() {
table = document.getElementById('lang_table');
row = table.insertRow(1);
cell0 = row.insertCell(0);
cell0.innerHTML = '<input type="text"
name="new_keys[]" size="50" />';
cell1 = row.insertCell(1);
cell2 = row.insertCell(2);
cell2.innerHTML = '<input type="text"
name="new_values[]" size="100" />';
}
function searchTable() {
var tableBody = $('#pf-translation-table');
var searchTerm =
$("#filter_search").val().toLowerCase();
$.each(tableBody.find("tr"), function () {
var text = $(this)
.text();
var inputValue =
$(this).find('input[type="text"]').val();
if (inputValue.length) {
text = text + '' + inputValue;
}
text = text.replace(/(\r\n|\n|\r)/gm,
"").toLowerCase();
if (text.indexOf(searchTerm) === -1) {
$(this).hide();
} else {
$(this).show();
}
});
}
$(document).ready(function () {
if ($("#filter_search").val()) {
searchTable();
}
$("#filter_search").on("change", searchTable);
$('#pf-clear-button').on('click', function ()
{
$("#filter_search").val('');
searchTable();
})
});
})(document,
jQuery);js/admin-ticket-default.js000064400000001173151171035010011505
0ustar00function addComment(form) {
if (form.message.value === '') {
alert(Joomla.JText._('HDP_ENTER_COMMENT_FOR_TICKET'));
form.message.focus();
return;
}
form.task.value = 'ticket.add_comment';
form.submit();
}
function addCommentAndClose(form) {
if (form.message.value === '') {
alert(Joomla.JText._('HDP_ENTER_COMMENT_FOR_TICKET'));
form.message.focus();
return;
}
form.task.value = 'ticket.comment_and_close';
form.submit();
}
function convertToArticle(form) {
form.task.value = 'ticket.convert_to_kb';
form.submit();
}js/admin-ticket-form.js000064400000001461151171035010011024
0ustar00(function (document, $) {
Joomla.submitbutton = function (pressbutton) {
var form = document.adminForm;
if (pressbutton === 'ticket.cancel') {
HDP.ticketList();
} else {
Joomla.submitform(pressbutton);
}
};
$(document).ready(function () {
$("#adminForm").validationEngine('attach', {
onValidationComplete: function (form, status) {
if (status == true) {
form.on('submit', function (e) {
e.preventDefault();
});
form.find('#btn-submit').prop('disabled', true);
return true;
}
return false;
}
});
});
})(document,
HDP.jQuery);js/plug_helpdeskpro_assignticket.js000064400000001745151171035010013636
0ustar00(function ($, Joomla) {
$(document).ready(function () {
$("#ajaxButton").click(function () {
$(".ajax-loading").show();
$("#system-message-container").remove();
var ticketId = Joomla.getOptions('ticket_id');
var userId = $("#user_id").val();
$.ajax({
type: "POST",
url: Joomla.getOptions('hpdBaseUri') +
'/index.php?option=com_helpdeskpro&task=ticket.assign_ticket&id='
+ ticketId + '&user_id=' + userId,
success: function () {
$('<div
id="system-message-container"><button
data-dismiss="alert" class="close"
type="button">*</button><div class="alert
alert-success"><div class="alert-message">' +
Joomla.JText._('HDP_ASSIGN_TICKET_SUCCESS') +
'</div></div></div>').insertBefore('#adminForm');
$(".ajax-loading").hide();
}
});
return false;
});
});
})(jQuery,
Joomla);js/plug_helpdeskpro_prereply.js000064400000003332151171035010013002
0ustar00(function ($) {
$.fn.insertAtCaret = function (text) {
return this.each(function () {
if (document.selection && this.tagName ==
'TEXTAREA') {
//IE textarea support
this.focus();
sel = document.selection.createRange();
sel.text = text;
this.focus();
} else if (this.selectionStart || this.selectionStart ==
'0') {
//MOZILLA/NETSCAPE support
startPos = this.selectionStart;
endPos = this.selectionEnd;
scrollTop = this.scrollTop;
this.value = this.value.substring(0, startPos) + text +
this.value.substring(endPos, this.value.length);
this.focus();
this.selectionStart = startPos + text.length;
this.selectionEnd = startPos + text.length;
this.scrollTop = scrollTop;
} else {
// IE input[type=text] and other browsers
this.value += text;
this.focus();
this.value = this.value; // forces cursor to end
}
});
};
$(document).ready(function () {
$("#ajaxAssign").click(function () {
var replies_id = $("#replies_id").val();
var siteUrl = Joomla.getOptions('siteUrl');
$.ajax({
type: 'POST',
url: siteUrl +
'/index.php?option=com_helpdeskpro&task=get_reply&reply_id='
+ replies_id,
success: function (msg) {
$(".hdp_fullwidth").insertAtCaret(msg);
}
});
return false;
});
});
})(jQuery);js/site-ticket-default.js000064400000001173151171035010011361
0ustar00function addComment(form) {
if (form.message.value === '') {
alert(Joomla.JText._('HDP_ENTER_COMMENT_FOR_TICKET'));
form.message.focus();
return;
}
form.task.value = 'ticket.add_comment';
form.submit();
}
function addCommentAndClose(form) {
if (form.message.value === '') {
alert(Joomla.JText._('HDP_ENTER_COMMENT_FOR_TICKET'));
form.message.focus();
return;
}
form.task.value = 'ticket.comment_and_close';
form.submit();
}
function convertToArticle(form) {
form.task.value = 'ticket.convert_to_kb';
form.submit();
}js/site-ticket-form.js000064400000001061151171035010010674
0ustar00(function (document, $) {
$(document).ready(function () {
$("#hdp_form").validationEngine('attach', {
onValidationComplete: function (form, status) {
if (status == true) {
form.on('submit', function (e) {
e.preventDefault();
});
form.find('#btn-submit').prop('disabled', true);
return true;
}
return false;
}
});
});
})(document,
HDP.jQuery);js/ticket-upload-attachments.js000064400000001057151171035010012571
0ustar00(function (document, $) {
$(document).ready(function () {
Dropzone.autoDiscover = false;
var params = {
url: Joomla.getOptions('uploadProcessUrl'),
maxFiles: Joomla.getOptions('maxFiles'),
acceptedFiles: Joomla.getOptions('acceptedFiles'),
maxFilesize: Joomla.getOptions('maxFilesize'),
dictDefaultMessage:
Joomla.JText._('HDP_DROP_FILES_TO_UPLOAD'),
};
var myDropzone = new Dropzone("#hdp_ticket_attachments",
params);
});
})(document, HDP.jQuery);