Edit C:\galaxie\deploy\Tomcat6\work\Catalina\localhost\galaxie\old\org\apache\jsp\js\read_005fjs_jsp.class
Êþº¾ 1e !org/apache/jsp/js/read_005fjs_jsp %org/apache/jasper/runtime/HttpJspBase ,org/apache/jasper/runtime/JspSourceDependent _jspxFactory Ljavax/servlet/jsp/JspFactory; _jspx_dependants Ljava/util/List; _el_expressionfactory Ljavax/el/ExpressionFactory; _jsp_annotationprocessor Lorg/apache/AnnotationProcessor; <clinit> ()V Code javax/servlet/jsp/JspFactory getDefaultFactory ()Ljavax/servlet/jsp/JspFactory; java/util/ArrayList <init> (I)V ! # /js/utils.js % ' & java/util/List ( ) add (Ljava/lang/Object;)Z LineNumberTable LocalVariableTable - this #Lorg/apache/jsp/js/read_005fjs_jsp; getDependants ()Ljava/lang/Object; _jspInit 4 5 6 getServletConfig ()Ljavax/servlet/ServletConfig; 8 : 9 javax/servlet/ServletConfig ; < getServletContext ()Ljavax/servlet/ServletContext; > ? @ getJspApplicationContext I(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext; B D C 'javax/servlet/jsp/JspApplicationContext E F getExpressionFactory ()Ljavax/el/ExpressionFactory; H J org/apache/AnnotationProcessor L N M java/lang/Class O P getName ()Ljava/lang/String; R T S javax/servlet/ServletContext U V getAttribute &(Ljava/lang/String;)Ljava/lang/Object; X _jspDestroy _jspService R(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V Exceptions ^ java/io/IOException ` javax/servlet/ServletException b text/html;charset=UTF-8 d f e &javax/servlet/http/HttpServletResponse g h setContentType (Ljava/lang/String;)V j k l getPageContext ?(Ljavax/servlet/Servlet;Ljavax/servlet/ServletRequest;Ljavax/servlet/ServletResponse;Ljava/lang/String;ZIZ)Ljavax/servlet/jsp/PageContext; n : o javax/servlet/jsp/PageContext n 4 n r s t getSession "()Ljavax/servlet/http/HttpSession; n v w x getOut ()Ljavax/servlet/jsp/JspWriter; z | { javax/servlet/jsp/JspWriter } write P/****************************************************************************** z ? } h ? " * Copyright (c) 2000-2011 e-Deal ? * ? * e-Deal S.A. ? * 55 rue Brillat Savarin ? * 75013 Paris ? * France ? * T: +33 (0)1 53 80 80 30 ? * F: +33 (0)1 73 01 69 77 ? * http://www.e-deal.com ? * ? F * La diffusion de ce code source sous quelque forme que ce soit sans ? + * l'autorisation de E-DEAL est interdite. ? \ * Vous �tes autoris�s � modifier ce code source uniquement pour votre usage ? Q * propre et sous r�serve que les mentions de copyright demeurent intactes. ? S * Ce code est fourni en l'�tat. Aucune garantie d'aucune sorte, explicite ou ¡ R * implicite n'est donn�e. En aucun cas E-DEAL ne pourra �tre tenu pour £ N * responsable des dommages pouvant r�sulter de l'utilisation de ce code ¥ * source. § Q ******************************************************************************/ © /** « < * Remove all selected items from a select multiple object. d * fldName specified an hidden input containing list the values separated by '$$multivalSeparator'. ¯ d * The name of the select multiple element is 'lbl' + fldName. If not exist, it is just fldName and ± B * the string representation of the values list doesn't be store. ³ 0 * @param fldName name of the field (required). µ D * @param frmName name of the form (optional, default is forms[0]). · */ ¹ .function unselectMultiple(fldName, frmName) { » var f = null; ½ var i; ¿ if(frmName) { Á f = document.forms[frmName]; à } else { Å f = document.forms[0]; Ç } É if(!f) return; Ë Í + var lblFld = f.elements['lbl' + fldName]; Ï $ var realFld = f.elements[fldName]; Ñ n var multivalSeparator = (f.elements['$$multivalSeparator'] ? f.elements['$$multivalSeparator'].value : '|'); Ó * var usedFld = lblFld ? lblFld : realFld; Õ . if(usedFld && usedFld.selectedIndex != -1) { × if(lblFld) { Ù ; var vectValue = realFld.value.split(multivalSeparator); Û 5 for(i = lblFld.options.length - 1; i >= 0; i--) { Ý ( fldValue = lblFld.options[i].value; ß if(fldValue != '_blank') { á & if(lblFld.options[i].selected) { ã lblFld.options[i] = null; å vectValue[i] = null; ç } é } ë } í realFld.value = ''; ï 2 for(i = 0, j = 0; i < vectValue.length; i++) { ñ g realFld.value += (vectValue[i] == null ? '' : (j++ == 0 ? '' : multivalSeparator) + vectValue[i]); ó } else { õ 6 for(i = realFld.options.length - 1; i >= 0; i--) { ÷ ) fldValue = realFld.options[i].value; ù ' if(realFld.options[i].selected) { û ! realFld.options[i] = null; ý } ÿ } 1 * Convert money (in String) in another currency G * Conversion can be only from a euro-zone currency to euro or reverse * Symbols : * frf : Franc francais * dem : Deutsch mark * itl : Lire italienne * iep : Livre irlandaise * esp : Peseta espagnole * pte : Escudo portugais * nlg : Florin hollandais * fim : Mark finlandais * bef : Franc belge * luf : Franc luxembourgeois * ats : Shilling autrichien * eur : Euro ! (function convert(money, curr1, curr2) { # if (money == '') { % return ''; ' var value = parseFloat(money); ) if (isNaN(value)) { + var convVal; - E if (curr1.toLowerCase() == 'frf' && curr2.toLowerCase() == 'eur') { / ' // conversion franc francais -> euro 1 0 convVal = (100 *parseFloat(value)) / 6.55957; 3 L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'frf') { 5 ' // conversion euro -> franc francais 7 0 convVal = (100 *parseFloat(value)) * 6.55957; 9 L } else if (curr1.toLowerCase() == 'dem' && curr2.toLowerCase() == 'eur') { ; ) // conversion mark (Allemagne) -> euro = 0 convVal = (100 *parseFloat(value)) / 1.95583; ? L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'dem') { A ) // conversion euro -> mark (Allemagne) C 0 convVal = (100 *parseFloat(value)) * 1.95583; E L } else if (curr1.toLowerCase() == 'itl' && curr2.toLowerCase() == 'eur') { G & // conversion lire (Italie) -> euro I 0 convVal = (100 *parseFloat(value)) / 1936.27; K L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'itl') { M & // conversion euro -> lire (Italie) O 0 convVal = (100 *parseFloat(value)) * 1936.27; Q L } else if (curr1.toLowerCase() == 'iep' && curr2.toLowerCase() == 'eur') { S ) // conversion livre irlandaise -> euro U 1 convVal = (100 *parseFloat(value)) / 0.787564; W L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'iep') { Y ) // conversion euro -> livre irlandaise [ 1 convVal = (100 *parseFloat(value)) * 0.787564; ] L } else if (curr1.toLowerCase() == 'esp' && curr2.toLowerCase() == 'eur') { _ ) // conversion peseta (Espagne) -> euro a 0 convVal = (100 *parseFloat(value)) / 166.386; c L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'esp') { e ) // conversion euro -> peseta (Espagne) g 0 convVal = (100 *parseFloat(value)) * 166.386; i L } else if (curr1.toLowerCase() == 'pte' && curr2.toLowerCase() == 'eur') { k * // conversion escudo (Portugal) -> euro m 0 convVal = (100 *parseFloat(value)) / 200.482; o L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'pte') { q * // conversion euro -> escudo (Portugal) s 0 convVal = (100 *parseFloat(value)) * 200.482; u L } else if (curr1.toLowerCase() == 'nlg' && curr2.toLowerCase() == 'eur') { w * // conversion florin (Pays-Bas) -> euro y 0 convVal = (100 *parseFloat(value)) / 2.20371; { L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'nlg') { } * // conversion euro -> florin (Pays-Bas) 0 convVal = (100 *parseFloat(value)) * 2.20371; ? L } else if (curr1.toLowerCase() == 'fim' && curr2.toLowerCase() == 'eur') { ? 3 // conversion Mark finlandais (Finlande) -> euro ? 0 convVal = (100 *parseFloat(value)) / 5.94573; ? L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'fim') { ? 3 // conversion euro -> Mark finlandais (Finlande) ? 0 convVal = (100 *parseFloat(value)) * 5.94573; ? L } else if (curr1.toLowerCase() == 'bef' && curr2.toLowerCase() == 'eur') { ? $ // conversion franc belge -> euro ? 0 convVal = (100 *parseFloat(value)) / 40.3399; ? L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'bef') { ? $ // conversion euro -> franc belge ? 0 convVal = (100 *parseFloat(value)) * 40.3399; ? L } else if (curr1.toLowerCase() == 'luf' && curr2.toLowerCase() == 'eur') { ? - // conversion franc luxembourgeois -> euro ? L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'luf') { ? - // conversion euro -> franc luxembourgeois ¡ L } else if (curr1.toLowerCase() == 'ats' && curr2.toLowerCase() == 'eur') { £ - // conversion schilling (Autriche) -> euro ¥ 0 convVal = (100 *parseFloat(value)) / 13.7603; § L } else if (curr1.toLowerCase() == 'eur' && curr2.toLowerCase() == 'ats') { © - // conversion euro -> schilling (Autriche) « 0 convVal = (100 *parseFloat(value)) * 13.7603; . return (Math.round(convVal)/100).toString(); ¯ T/* removing leading and tail spaces and replaces mlti^le spaces by one single space ± function trimStr(str) { ³ if (str == "") { µ return str; · var res = str; ¹ " while (res.indexOf(" ") > -1) { » # res = res.split(" ").join(" "); ½ if (res.indexOf(" ") == 0) { ¿ res = res.substring(1); Á 1 if (res.lastIndexOf(" ") == (res.length - 1)) { à * res = res.substring(0, res.length - 1); Å return res; Ç function flEscape(str) { É }else { Ë / //return escape(str).split("+").join("%2b"); Í 9 return encodeURIComponent(str).split("+").join("%2b"); Ï : * replaces some special caracters by corresponding codes Ñ "function formatToWeb(str, edit) { Ó var result; Õ )// if (!str || trimStr(str).length == 0) × if (false) Ù ! result = edit ? "" : " "; Û else { Ý var buffer = ""; ß var c; á var i; ã % for (i = 0; i < str.length; i++) { å c = str.substring(i, i+1); ç switch (c) { é case '\n' : ë % buffer += edit ? "\n" : "<br>"; í break; ï case '<' : ñ buffer += "<"; ó case '>' : õ buffer += ">"; ÷ case '&' : ù buffer += "&"; û case '"' : ý buffer += """; ÿ case 'Ã? ' : buffer += "à"; case 'Ã?¢' : buffer += "â"; case 'Ã?¤' : buffer += "ä"; case 'Ã?©' : buffer += "é"; case 'Ã?¨' : buffer += "è"; case 'Ã?ª' : buffer += "ê"; case 'Ã?«' : buffer += "ë"; case 'Ã?®' : buffer += "î"; case 'Ã?¯' : ! buffer += "ï"; # case 'Ã?´' : % buffer += "ô"; ' case 'Ã?¶' : ) buffer += "ö"; + case 'Ã?¹' : - buffer += "ù"; / case 'Ã?»' : 1 buffer += "û"; 3 case 'Ã?¼' : 5 buffer += "ü"; 7 case 'Ã?¤' : 9 buffer += "¤"; ; case 'Ã?£' : = buffer += "£"; ? case 'Ã?µ' : A buffer += "µ"; C case 'Ã?²' : E buffer += "²"; G case 'Ã?§' : I buffer += "§"; K case 'Ã?§' : M buffer += "ç"; O default : Q buffer += c; S result = buffer; U return result; W $function formatToJavascript(pStr) { Y var i = 0; [ var strResult = ''; ] if(pStr) { _ % for(i = 0; i < pStr.length; i++) { a c = pStr.charAt(i); c strResult += '\\n'; e strResult += '\\\"'; g case '\'' : i strResult += '\\\''; k case '\\' : m strResult += '\\\\'; o strResult += c; q return strResult; s G * returns the given number rounded up to the given number of decimals u *function roundDecimal(nbr , nbDecimals) { w var multi = 1; y var nbDec = 2; { if (nbDecimals) } nbDec = nbDecimals; ? for (i=0 ; i < nbDec ; i++) ? multi *= 10; ? ) return (Math.round(multi * nbr)/multi); ? , * replace key by value in specified string ? *function strReplace(pStr, pKey, pValue) { ? ' return pStr.split(pKey).join(pValue); ? * lite Vector class ? function FlVector(pArray) { ? 0 this.elements = pArray ? pArray : new Array(); ? this.size = FlVectorSize; ? ! this.isEmpty = FlVectorIsEmpty; ? ' this.addElement = FlVectorAddElement; ? 1 this.removeElementAt = FlVectorRemoveElementAt; ? - this.removeElement = FlVectorRemoveElement; ? % this.elementAt = FlVectorElementAt; ? # this.contains = FlVectorContains; ¡ # this.toString = FlVectorToString; £ function FlVectorSize() { ¥ return this.elements.length; § function FlVectorIsEmpty() { © # return this.elements.length == 0; « $function FlVectorAddElement(pObj) { - this.elements[this.elements.length] = pObj; ¯ +function FlVectorRemoveElementAt(pIndex) { ± 4 if(pIndex >= 0 && pIndex < this.elements.length) { ³ this.elements[pIndex] = null; µ 7 for(i = pIndex + 1; i < this.elements.length; i++) { · , this.elements[i - 1] = this.elements[i]; ¹ 3 this.elements.length = this.elements.length - 1; » 'function FlVectorRemoveElement(pObj) { ½ - for(i = 0; i < this.elements.length; i++) { ¿ ! if(this.elements[i] == pObj) { Á this.removeElementAt(i); à %function FlVectorElementAt(pIndex) { Å return this.elements[pIndex]; Ç return null; É "function FlVectorContains(pObj) { Ë return true; Í return false; Ï (function FlVectorToString(pSeparator) { Ñ ; return this.elements.join(pSeparator ? pSeparator : ';'); Ó function trimString(str) { Õ $ str = this != window? this : str; × 8 return str.replace(/^\s+/g, '').replace(/\s+$/g, ''); Ù $String.prototype.trim = trimString; Û &function arrayIndexOf(value, array) { Ý ( array = this != window ? this : array; ß if (array) { á + for (var i = 0; i < array.length; i++) { ã if (array[i] == value) { å return i; ç return -1; é *function arrayLastIndexOf(value, array) { ë 0 for (var i = array.length - 1; i <= 0; i--) { í 1function replaceParam(url, paramName, newValue){ ï if (!url) { ñ return; ó ( var queryStringIdx = url.indexOf("?"); õ if (queryStringIdx == -1) { ÷ E return url + "?" + paramName + "=" + encodeURIComponent(newValue); ù } û B var queryString = url.substring(queryStringIdx + 1, url.length); ý var paramNames = new Array(); ÿ var paramValues = new Array(); & var params = queryString.split('&'); var paramIdx = -1; + for (var i = 0; i < params.length; i++) { $ var idx = params[i].indexOf("="); / paramNames[i] = params[i].substring(0, idx); 6 if (paramNames[i] == paramName && paramIdx == -1) { paramIdx = i; C paramValues[i] = params[i].substring(idx + 1, params[i].length); if (paramIdx == -1) { paramNames.push(paramName); paramValues.push(newValue); $ paramValues[paramIdx] = newValue; " var newQueryArray = new Array(); . for (var i =0; i < paramNames.length; i++) { if (paramValues[i]) { = newQueryArray.push(paramNames[i] + "=" + paramValues[i]); ! J return url.substring(0, queryStringIdx) + "?" + newQueryArray.join("&"); # /* % ' * Allowing to impose a max length for ' * * provided object (textarea for example) ) * * And display specified message in order + ) * to inform current user if its text is - * truncate / (function imposeMaxLength(Event, Object) 1 { 3 var MaxLenght = 3000; 5 ; if(Event.type="blur" && Object.value.length > MaxLenght){ 7 p alert(getMessage("M903F","Champ tronqué à la limite de taille suivante:", true)+" "+MaxLenght); 9 7 Object.value = Object.value.substring(0, MaxLenght); ; } return (Object.value.length < MaxLenght)||(Event.keyCode == 8 ||Event.keyCode==46||(Event.keyCode>=35&&Event.keyCode<=40)); = #javax/servlet/jsp/SkipPageException z?@A getBufferSize ()I zCD clearBuffer nFGH handlePageException (Ljava/lang/Throwable;)V JLK java/lang/ThrowableM P getMessage OPQ log *(Ljava/lang/String;Ljava/lang/Throwable;)V STU releasePageContext "(Ljavax/servlet/jsp/PageContext;)V request 'Ljavax/servlet/http/HttpServletRequest; response (Ljavax/servlet/http/HttpServletResponse; pageContext Ljavax/servlet/jsp/PageContext; out Ljavax/servlet/jsp/JspWriter; _jspx_out _jspx_page_context t Ljava/lang/Throwable; SourceFile read_005fjs_jsp.java SourceDebugExtension 1 I ¸ ³ » Y· ³ ² "¹ $ W± * + / *· ,± * + . / 0 1 . ² ° * + . / 2 e 3*² *¶ 3¹ 7 ¶ =¹ A µ G**¶ 3¹ 7 I¶ K¹ Q À Iµ W± * 2 + 3 . / Y + ± * ! + . / Z [ \ ] _ ? hN:::,a¹ c ² *+, ¶ iN-:-¶ mW-¶ pW-¶ qW-¶ u:: ¶ y ¶ y~¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ? ¶ ?¢¶ ?¤¶ ?¦¶ ?¨¶ ?ª¶ ?¬¶ ?®¶ ?°¶ ??¶ ?²¶ ?´¶ ?¶¶ ?¸¶ ?º¶ ?¼¶ ?¾¶ ?À¶ ?¶ ?Ķ ?ƶ ?ȶ ?ʶ ?̶ ?ζ ?ж ?ʶ ?Ò¶ ?ʶ ?Ô¶ ?Ö¶ ?ض ?Ú¶ ?ܶ ?Þ¶ ?ච?ⶠ?ä¶ ?æ¶ ?è¶ ?ê¶ ?ì¶ ?î¶ ?ð¶ ?ê¶ ?ò¶ ?ô¶ ?ö¶ ?Þ¶ ?ø¶ ?ú¶ ?æ¶ ?è¶ ?ê¶ ?ü¶ ?ƶ ?þ¶ ?ʶ ?¨¶ ? ¶ ?¶ ?¶ ?¶ ?¶ ? ¶ ?¶ ?¶ ?¶ ?¶ ?¶ ?¶ ?¶ ?¶ ?¶ ?¶¶ ?¶ ? ¶ ?"¶ ?$¶ ?ƶ ?&¶ ?(¶ ?$¶ ?ƶ ?*¶ ?,¶ ?.¶ ?0¶ ?2¶ ?4¶ ?6¶ ?ʶ ?8¶ ?:¶ ?<¶ ?>¶ ?@¶ ?B¶ ?ʶ ?D¶ ?F¶ ?H¶ ?J¶ ?L¶ ?N¶ ?ʶ ?P¶ ?R¶ ?T¶ ?V¶ ?X¶ ?Z¶ ?ʶ ?\¶ ?^¶ ?`¶ ?b¶ ?d¶ ?f¶ ?ʶ ?h¶ ?j¶ ?l¶ ?n¶ ?p¶ ?r¶ ?ʶ ?t¶ ?v¶ ?x¶ ?z¶ ?|¶ ?~¶ ?ʶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ?ʶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ?ʶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ?ʶ ? ¶ ?¢¶ ?¤¶ ?¦¶ ?¨¶ ?ª¶ ?ʶ ?ƶ ?¬¶ ?þ¶ ?ʶ ?®¶ ?¶¶ ?°¶ ?²¶ ?´¶ ?ƶ ?¶¶ ?¸¶ ?º¶ ?ƶ ?¼¶ ?¾¶ ?ƶ ?À¶ ?¶ ?ƶ ?Ķ ?þ¶ ?ʶ ?ƶ ?²¶ ?´¶ ?ȶ ?ʶ ?̶ ?ƶ ?þ¶ ?ʶ ?ʶ ?¨¶ ?ζ ?¶¶ ?ж ?Ò¶ ?Ô¶ ?Ö¶ ?ض ?Ú¶ ?ܶ ?Þ¶ ?ච?ⶠ?ä¶ ?æ¶ ?è¶ ?ê¶ ?ì¶ ?î¶ ?ð¶ ?ì¶ ?ò¶ ?ô¶ ?ì¶ ?ö¶ ?ø¶ ?ì¶ ?ú¶ ?ü¶ ?ì¶ ?þ¶ ? ¶ ?ì¶ ?¶ ?¶ ?ì¶ ?¶ ?¶ ?ì¶ ? ¶ ?¶ ?ì¶ ?¶ ?¶ ?ì¶ ?¶ ?¶ ?ì¶ ?¶ ?¶ ?ì¶ ?¶ ?¶ ?ì¶ ?¶ ? ¶ ?ì¶ ?"¶ ?$¶ ?ì¶ ?&¶ ?(¶ ?ì¶ ?*¶ ?,¶ ?ì¶ ?.¶ ?0¶ ?ì¶ ?2¶ ?4¶ ?ì¶ ?6¶ ?8¶ ?ì¶ ?:¶ ?<¶ ?ì¶ ?>¶ ?@¶ ?ì¶ ?B¶ ?D¶ ?ì¶ ?F¶ ?H¶ ?ì¶ ?J¶ ?L¶ ?ì¶ ?N¶ ?P¶ ?ê¶ ?ü¶ ?R¶ ?ƶ ?T¶ ?þ¶ ?ʶ ?ʶ ?¨¶ ?ζ ?¶¶ ?V¶ ?X¶ ?Z¶ ?Ô¶ ?\¶ ?^¶ ?`¶ ?æ¶ ?è¶ ?b¶ ?ì¶ ?ú¶ ?d¶ ?ì¶ ?f¶ ?h¶ ?ì¶ ?j¶ ?l¶ ?ì¶ ?N¶ ?n¶ ?ê¶ ?ü¶ ?ƶ ?p¶ ?þ¶ ?ʶ ?ʶ ?¨¶ ?r¶ ?¶¶ ?t¶ ?v¶ ?¼¶ ?x¶ ?z¶ ?|¶ ?~¶ ??¶ ??¶ ??¶ ?þ¶ ?ʶ ?¨¶ ??¶ ?¶¶ ??¶ ??¶ ?þ¶ ?ʶ ?ʶ ?¨¶ ??¶ ?¶¶ ??¶ ??¶ ?ʶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ??¶ ? ¶ ?þ¶ ?ʶ ?¢¶ ?¤¶ ?þ¶ ?ʶ ?¦¶ ?¨¶ ?þ¶ ?ʶ ?ª¶ ?¬¶ ?þ¶ ?ʶ ?®¶ ?X¶ ?°¶ ?²¶ ?´¶ ?¶¶ ?ü¶ ?¸¶ ?ƶ ?þ¶ ?ʶ ?º¶ ?X¶ ?¼¶ ?¾¶ ?À¶ ?ü¶ ?ƶ ?þ¶ ?ʶ ?¶ ?°¶ ?Ķ ?¶ ?ƶ ?ƶ ?þ¶ ?ʶ ?ȶ ?X¶ ?¼¶ ?¾¶ ?ʶ ?ü¶ ?ƶ ?̶ ?þ¶ ?ʶ ?ζ ?ж ?þ¶ ?ʶ ?Ò¶ ?Ô¶ ?Ö¶ ?þ¶ ?ʶ ?ض ?ʶ ?Ú¶ ?ܶ ?Þ¶ ?ච?ⶠ?ä¶ ?ê¶ ?ü¶ ?ƶ ?æ¶ ?þ¶ ?è¶ ?ܶ ?Þ¶ ?ê¶ ?ⶠ?ä¶ ?ê¶ ?ü¶ ?ƶ ?æ¶ ?þ¶ ?ʶ ?ì¶ ?ʶ ?î¶ ?ð¶ ?ƶ ?ò¶ ?ô¶ ?ö¶ ?ø¶ ?ú¶ ?ü¶ ?þ¶ ? ¶ ?¶ ?¶ ?¶ ?¶ ? ¶ ?¶ ?ü¶ ?¶ ?ƶ ?¶ ?¶ ?¶ ?¶ ?¶ ?ƶ ?¶ ?¶ ?¶ ?¶ ?ü¶ ?ƶ ? ¶ ?þ¶ ?ʶ ?"¶ ?$¶ ?&¶ ?(¶ ?*¶ ?,¶ ?¶¶ ?.¶ ?0¶ ?2¶ ?4¶ ?6¶ ?8¶ ?ƶ ?:¶ ?þ¶ ?ʶ ?ʶ ? ¶ y ¶ y ¶ y§ Y:Á<? 7:Æ ¶>? ¶B§ WÆ ¶E§ *¶I¶N² ¶R§ :² ¶R¿² ¶R± J$), ] GR * ², &