yacas-1.3.6/0002755000175000017500000000000012435165641012512 5ustar muammarmuammaryacas-1.3.6/docs/0002755000175000017500000000000012435165640013441 5ustar muammarmuammaryacas-1.3.6/docs/examples-static.txt0000644000175000017500000002252012261607322017277 0ustar muammarmuammarAbs:Abs(-1/2)Abs(3+4*I)Abs(2): Add:Add(1,4,9)Add({1,2,3})Add(1 .. 10): Average:Average({1,2,3,4,5})Average({2,6,7}): Div:Div(5,3)Div(x^2-1,x+1): Mod:Mod(5,3)Mod((x+1)^3,x^2): Gcd:Gcd(55,10)Gcd({60,24,120})Gcd( 7300 + 12*I, 2700 + 100*I)Gcd((x+1)^3*(x-1)^2,(x+1)^2*(x-1)*3): Lcm:Lcm(60,24)Lcm({3,5,7,9}): FromBase:FromBase(2,"111111"): ToBase:ToBase(16,255): N:N(1/2)N(Sin(1),20)N(Pi,20): Rationalize:Rationalize({1.2,3.123,4.5}): NthRoot:NthRoot(12,2)NthRoot(81,3)NthRoot(3255552,2)NthRoot(3255552,3): ContFrac:ContFrac(N(Pi))ContFrac(x^2+x+1, 3): Decimal:Decimal(1/3): TruncRadian:TruncRadian(6.29): Floor:Floor(1.1)Floor(-1.1): Ceil:Ceil(1.1)Ceil(-1.1): Round:Round(1.49)Round(1.51)Round(-1.49)Round(-1.51): Pslq:Pslq({ 2*Pi+3*Exp(1), Pi, Exp(1) },20): Select:Select("IsPrime", 1 .. 100)Select("IsInteger",{a,b,2,c,3,d,4,e,f}): IsPrime:IsPrime(1)IsPrime(2)IsPrime(10)IsPrime(23)Select("IsPrime", 1 .. 100): NextPrime:NextPrime(5): Factors:Factors(24)Factors(2*x^3 + 3*x^2 - 1): Factor:Factor(24)Factor(2*x^3 + 3*x^2 - 1): PAdicExpand:PAdicExpand(1234, 10)PAdicExpand(x^3, x-1): Sin:N(Sin(1),20)Sin(Pi/4): Cos:N(Cos(1),20)Cos(Pi/4): Tan:N(Tan(1),20)Tan(Pi/4): ArcCos:ArcCos(1): ArcSin:ArcSin(1): ArcTan:ArcTan(1): Exp:Exp(0)Exp(I*Pi)N(Exp(1)): Ln:Ln(1)Ln(Exp(x))D(x) Ln(x): Sqrt:Sqrt(16)Sqrt(15)N(Sqrt(15))Sqrt(4/9)Sqrt(-1): Sign:Sign(2)Sign(-3)Sign(0)Sign(-3)*Abs(-3): Complex:I3+4*IComplex(-2,0): Re:Re(5)Re(I)Re(Complex(3,4)): Im:Im(5)Im(I)Im(Complex(3,4)): I:I3*I+2: Conjugate:Conjugate(2)Conjugate(Complex(a,b)): Arg:Arg(2)Arg(-1)Arg(1+I): Bin:Bin(10, 4): Sum:Sum(i, 1, 3, i^2)Sum(i,0,n,r^i)Sum(i,0,Infinity,(1/3)^i): Factorize:Factorize({1,2,3,4})Factorize(i, 1, 4, i): Plot2D:Plot2D(Sin(x))Plot2D(Sin(x)/x,-10\:10)Plot2D({Sin(x),Cos(x)}): Max:Max(2,3)Max({5,8,4}): Min:Min(2,3)Min({5,8,4}): IsZero:IsZero(3.25)IsZero(0)IsZero(x): IsRational:IsRational(5)IsRational(2/7)IsRational(0.5)IsRational(a/b)IsRational(x + 1/x): Numer:Numer(2/7)Numer(a / x^2)Numer(5): Denom:Denom(2/7)Denom(a / x^2)Denom(5): Taylor:Taylor(x,0,9) Sin(x)Taylor(x,0,15)Cos(a*x)Taylor(x,0,7)Exp(a*x): Newton:Newton(Sin(x),x,3,0.0001)Newton(x^2-1,x,2,0.0001,-5,5)Newton(x^2+1,x,2,0.0001,-5,5): D:D(x)Sin(x)/x^2D(x)Sin(a*x)D(x,2)Sin(a*x): Curl:Curl({x*y,x*y,x*y},{x,y,z}): Diverge:Diverge({x*y,x*y,x*y},{x,y,z}): Integrate:Integrate(x,a,b) Cos(x)Integrate(x) Cos(x)Integrate(x)x^3*Cos(a*x): Simplify:Simplify(a*b*a^2/b-a^3)FactorialSimplify( (n-k+1)! / (n-k)! )FactorialSimplify(n! / Bin(n,k))FactorialSimplify(2^(n+1)/2^n)TrigSimpCombine(Cos(a)^2+Sin(a)^2)TrigSimpCombine(Cos(a)^2-Sin(a)^2)TrigSimpCombine(Cos(a)^2*Sin(b))RadSimp(Sqrt(9+4*Sqrt(2))): RadSimp:RadSimp(Sqrt(9+4*Sqrt(2)))RadSimp(Sqrt(5+2*Sqrt(6))+Sqrt(5-2*Sqrt(6)))RadSimp(Sqrt(14+3*Sqrt(3+2*Sqrt(5-12*Sqrt(3-2*Sqrt(2)))))): FactorialSimplify:FactorialSimplify( (n-k+1)! / (n-k)! )FactorialSimplify(n! / Bin(n,k))FactorialSimplify(2^(n+1)/2^n): Solve:Solve(Cos(x) == 1/2, x)Solve(x / Sin(x) == 0, x)Solve(Sqrt(x) == 2, x): SuchThat:SuchThat(a+b*x, x)SuchThat(Cos(a)+Cos(b)^2, Cos(b))SuchThat(Expand(a*x+b*x+c,x), x): Subst:Subst(Cos(b), c) (Sin(a)+Cos(b)^2/c): Eliminate:Eliminate(Cos(b), c, Sin(a)+Cos(b)^2/c): PSolve:PSolve(b*x+a,x)PSolve(c*x^2+b*x+a,x): Random:Random(): Limit:Limit(x,0) Sin(x)/xLimit(x,0,Left) 1/xLimit(x,0,Right) 1/xLimit(x,0) (x+1)^(Ln(a)/x)Limit(x,-Infinity)Exp(2*x)Limit(x,Infinity)(1+2/x)^x: TrigSimpCombine:TrigSimpCombine(Cos(a)^2+Sin(a)^2)TrigSimpCombine(Cos(a)^2-Sin(a)^2)TrigSimpCombine(Cos(a)^2*Sin(b)): LagrangeInterpolant:LagrangeInterpolant({0,1,2},{0,1,1}, x)LagrangeInterpolant({x1,x2,x3}, {y1,y2,y3}, x): LeviCivita:LeviCivita({1,2,3})LeviCivita({2,1,3})LeviCivita({2,2,3}): Permutations:Permutations({a,b,c}): Dot:{1,2} . {3,4}{{1,2},{3,4}} . {5,6}{5,6} . {{1,2},{3,4}}{{1,2},{3,4}} . {{5,6},{7,8}}Dot({1,2},{3,4})Dot({{1,2},{3,4}},{5,6})Dot({5,6},{{1,2},{3,4}})Dot({{1,2} {3,4}},{{5,6},{7,8}}): CrossProduct:{a,b,c} X {d,e,f}: ZeroVector:ZeroVector(4): BaseVector:BaseVector(2,4): Identity:Identity(4): ZeroMatrix:ZeroMatrix(3)ZeroMatrix(3,4): DiagonalMatrix:DiagonalMatrix(1 .. 4)DiagonalMatrix({a,b,c,d}): Normalize:Normalize({3,4}): Transpose:Transpose({{a,b}}): Determinant:Determinant(DiagonalMatrix(1 .. 4)): Trace:Trace(DiagonalMatrix(1 .. 4)): Inverse:Simplify(Inverse(DiagonalMatrix({a,b,c}))): CharacteristicEquation:CharacteristicEquation(DiagonalMatrix({a,b,c}),x): EigenValues:EigenValues({{1,2},{2,1}}): EigenVectors:[Local(M); M\:={{1,2},{2,1}}; EigenVectors(M,EigenValues(M));]: Expand:Expand((1+x)^5)Expand((1+x-y)^2, x)Expand((1+x-y)^2, {x,y}): Degree:Degree(x^5+x-1)Degree(a+b*x^3, a)Degree(a+b*x^3, x): Coef:Coef((a+x)^4,a,2)Coef((a+x)^4,a,0 .. 4): Content:Content(2*x^2 + 4*x): PrimitivePart:PrimitivePart(2*x^2 + 4*x): RandomPoly:RandomPoly(x,3,-10,10): FindRealRoots:FindRealRoots(Expand((x+3.1)^5*(x-6.23))): Head:Head({a,b,c}): Tail:Tail({a,b,c}): Length:Length({a,b,c})Length("abcdef"): Map:Map("+",{{a,b},{c,d}}): RandomIntegerVector:RandomIntegerVector(4,-3,3): MakeVector:MakeVector(a,3): Reverse:Reverse({a,b,c,13,19}): UnList:UnList({Cos, x}): Listify:Listify(Cos(x)): Concat:Concat({a,b}, {c,d})Concat({a,b}, {c,d}, {e}): Delete:Delete({a,b,c,d,e,f}, 4): Insert:Insert({a,b,c,d}, 4, x): Replace:Replace({a,b,c,d,e,f}, 4, x): Contains:Contains({a,b,c,d}, b)Contains({a,b,c,d},x)Contains({a,{1,2,3},z}, 1): Find:Find({a,b,c,d,e,f}, d)Find({1,2,3,2,1}, 2)Find({1,2,3,2,1},4): Append:Append({a,b,c,d}, 1): Intersection:Intersection({a,b,c}, {b,c,d})Intersection({a,e,i,o,u},{f,o,u,r,t,e,e,n})Intersection({1,2,2,3,3,3}, {1,1,2,2,3,3}): Union:Union({a,b,c}, {b,c,d})Union({a,e,i,o,u},{f,o,u,r,t,e,e,n})Union({1,2,2,3,3,3}, {2,2,3,3,4,4}): Difference:Difference({a,b,c}, {b,c,d})Difference({a,e,i,o,u},{f,o,u,r,t,e,e,n})Difference({1,2,2,3,3,3}, {2,2,3,4,4}): FillList:FillList(x, 5): Flatten:Flatten(a+b*c+d,"+"): UnFlatten:UnFlatten({a,b,c},"+",0)UnFlatten({a,b,c},"*",1): Type:Type({a,b,c})Type(a*(b+c))Type(123): VarList:VarList(Sin(x))VarList(x+a*y): Table:Table(i!, i, 1, 9, 1)Table(i, i, 3, 16, 4)Table(i^2, i,10, 1, -1): Where:x^2+y^2 Where x==2x^2+y^2 Where x==2 And y==3x^2+y^2 Where {x==2 And y==3}x^2+y^2 Where {x==2 And y==3,x==4 And y==5}: Hold:Echo({ Hold(1+1), "=", 1+1 }): Eval:Eval(Hold(1+1)): While:[Local(x); x \:= 0; While (x! < 10^6) [ Echo({x, x!}); x++; ]; ]: Until:[ Local(x); x \:= 0; Until (x! > 10^6) [ Echo({x, x!}); x++; ]; ]: WithValue:WithValue(x, 3, x^2+y^2+1)WithValue({x,y}, {3,2}, x^2+y^2+1): Time:Time(N(MathLog(1000),40)): And:True And FalseAnd(True,True)False And aTrue And aAnd(True,a,True,b): Or:True Or FalseFalse Or aOr(False,a,b,True): Not:Not TrueNot False: IsFreeOf:IsFreeOf(x, Sin(x))IsFreeOf(y, Sin(x))IsFreeOf(x, D(x) a*x+b)IsFreeOf({x,y}, Sin(x)): IsEven:IsEven(4)IsEven(-1): IsOdd:IsOdd(4)IsOdd(-1): If:If(3>2, Echo("larger"),Echo("not larger"))If(3>2, Echo("larger")): For:For (i\:=1, i<=10, i++) Echo({i, i!}): ForEach:ForEach(i,{2,3,5,7,11}) Echo(i,"! = ", i!): IsEvenFunction:IsEvenFunction(Cos(b*x),x)IsEvenFunction(Sin(b*x),x)IsEvenFunction(1/x^2,x)IsEvenFunction(1/x,x): IsOddFunction:IsOddFunction(Cos(b*x),x)IsOddFunction(Sin(b*x),x)IsOddFunction(1/x,x)IsOddFunction(1/x^2,x): IsFunction:IsFunction(x+5)IsFunction(Sin(x))IsFunction(x): IsAtom:IsAtom(x+5)IsAtom(5): IsString:IsString("duh")IsString(duh): IsNumber:IsNumber(6)IsNumber(3.25)IsNumber(I)IsNumber("duh"): IsList:IsList({2,3,5})IsList(2+3+5): IsBound:[ Local(x); Echo(IsBound(x)); x \:= 5; Echo(IsBound(x)); ]: IsBoolean:IsBoolean(a)IsBoolean(True)IsBoolean(a And b): IsNotZero:IsNotZero(3.25)IsNotZero(0): IsConstant:IsConstant(Cos(x))IsConstant(Cos(2))IsConstant(Cos(2+x)): CanProve:CanProve(a Or Not a)CanProve(True Or a)CanProve(False Or a)CanProve(a And Not a)CanProve(a Or b Or (a And b))CanProve(( (a=>b) And (b=>c) ) => (a=>c)): Pi:Sin(3*Pi/2)N(Pi): Clear:[ a\:=2; Clear(a); a; ]: Local:[ Local(a); a\:=2; [ Local(a); a\:=1; ]; a; ]: UniqueConstant:UniqueConstant()UniqueConstant(): FullForm:FullForm(a+b+c)FullForm(2*I*b^2): Echo:Echo(5+3)Echo({"The square of two is ", 2*2})Echo("D(x)Sin(x) = ",D(x)Sin(x)): FromString:FromString("2+5; this is never read") [res \:= Read(); ]FromString("2+5; this is never read") [res \:= Eval(Read()); ]: ToString:ToString() Echo("The square of 8 is ",8^2): Read:FromString("2+5;") Read()FromString("") Read(): String:String(a): Atom:Atom("a"): ConcatStrings:ConcatStrings("a","b","c"): LocalSymbols:LocalSymbols(a,b)a+b: Version:Version(): OSVersion:OSVersion(): Apply:Apply("+", {5,9})Apply(Lambda({x,y}, x-y^2), {Cos(a), Sin(a)})Lambda({x,y}, x-y^2) @ {Cos(a), Sin(a)}: yacas-1.3.6/docs/tabber.js0000644000175000017500000004265212307144451015240 0ustar muammarmuammar/*================================================== $Id: tabber.js,v 1.9 2007-09-10 15:55:05 ayalpinkus Exp $ tabber.js by Patrick Fitzgerald pat@barelyfitz.com Documentation can be found at the following URL: http://www.barelyfitz.com/projects/tabber/ License (http://www.opensource.org/licenses/mit-license.php) Copyright (c) 2006 Patrick Fitzgerald 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 tabberObj(argsObj) { var arg; /* name of an argument to override */ /* Element for the main tabber div. If you supply this in argsObj, then the init() method will be called. */ this.div = null; /* Class of the main tabber div */ this.classMain = "tabber"; /* Rename classMain to classMainLive after tabifying (so a different style can be applied) */ this.classMainLive = "tabberlive"; /* Class of each DIV that contains a tab */ this.classTab = "tabbertab"; /* Class to indicate which tab should be active on startup */ this.classTabDefault = "tabbertabdefault"; /* Class for the navigation UL */ this.classNav = "tabbernav"; /* When a tab is to be hidden, instead of setting display='none', we set the class of the div to classTabHide. In your screen stylesheet you should set classTabHide to display:none. In your print stylesheet you should set display:block to ensure that all the information is printed. */ this.classTabHide = "tabbertabhide"; /* Class to set the navigation LI when the tab is active, so you can use a different style on the active tab. */ this.classNavActive = "tabberactive"; /* Elements that might contain the title for the tab, only used if a title is not specified in the TITLE attribute of DIV classTab. */ this.titleElements = ['h2','h3','h4','h5','h6']; /* Should we strip out the HTML from the innerHTML of the title elements? This should usually be true. */ this.titleElementsStripHTML = true; /* If the user specified the tab names using a TITLE attribute on the DIV, then the browser will display a tooltip whenever the mouse is over the DIV. To prevent this tooltip, we can remove the TITLE attribute after getting the tab name. */ this.removeTitle = true; /* If you want to add an id to each link set this to true */ this.addLinkId = false; /* If addIds==true, then you can set a format for the ids. will be replaced with the id of the main tabber div. will be replaced with the tab number (tab numbers starting at zero) will be replaced with the tab number (tab numbers starting at one) will be replaced by the tab title (with all non-alphanumeric characters removed) */ this.linkIdFormat = 'nav'; /* You can override the defaults listed above by passing in an object: var mytab = new tabber({property:value,property:value}); */ for (arg in argsObj) { this[arg] = argsObj[arg]; } /* Create regular expressions for the class names; Note: if you change the class names after a new object is created you must also change these regular expressions. */ this.REclassMain = new RegExp('\\b' + this.classMain + '\\b', 'gi'); this.REclassMainLive = new RegExp('\\b' + this.classMainLive + '\\b', 'gi'); this.REclassTab = new RegExp('\\b' + this.classTab + '\\b', 'gi'); this.REclassTabDefault = new RegExp('\\b' + this.classTabDefault + '\\b', 'gi'); this.REclassTabHide = new RegExp('\\b' + this.classTabHide + '\\b', 'gi'); /* Array of objects holding info about each tab */ this.tabs = new Array(); /* If the main tabber div was specified, call init() now */ if (this.div) { this.init(this.div); /* We don't need the main div anymore, and to prevent a memory leak in IE, we must remove the circular reference between the div and the tabber object. */ this.div = null; } } /*-------------------------------------------------- Methods for tabberObj --------------------------------------------------*/ tabberObj.prototype.init = function(e) { /* Set up the tabber interface. e = element (the main containing div) Example: init(document.getElementById('mytabberdiv')) */ var childNodes, /* child nodes of the tabber div */ i, i2, /* loop indices */ t, /* object to store info about a single tab */ defaultTab=0, /* which tab to select by default */ DOM_ul, /* tabbernav list */ DOM_li, /* tabbernav list item */ DOM_a, /* tabbernav link */ aId, /* A unique id for DOM_a */ headingElement; /* searching for text to use in the tab */ /* Verify that the browser supports DOM scripting */ if (!document.getElementsByTagName) { return false; } /* If the main DIV has an ID then save it. */ if (e.id) { this.id = e.id; } /* Clear the tabs array (but it should normally be empty) */ this.tabs.length = 0; /* Loop through an array of all the child nodes within our tabber element. */ childNodes = e.childNodes; for(i=0; i < childNodes.length; i++) { /* Find the nodes where class="tabbertab" */ if(childNodes[i].className && childNodes[i].className.match(this.REclassTab)) { /* Create a new object to save info about this tab */ t = new Object(); /* Save a pointer to the div for this tab */ t.div = childNodes[i]; /* Add the new object to the array of tabs */ this.tabs[this.tabs.length] = t; /* If the class name contains classTabDefault, then select this tab by default. */ if (childNodes[i].className.match(this.REclassTabDefault)) { defaultTab = this.tabs.length-1; } } } /* Create a new UL list to hold the tab headings */ DOM_ul = document.createElement("ul"); DOM_ul.className = this.classNav; /* Loop through each tab we found */ for (i=0; i < this.tabs.length; i++) { t = this.tabs[i]; /* Get the label to use for this tab: From the title attribute on the DIV, Or from one of the this.titleElements[] elements, Or use an automatically generated number. */ t.headingText = t.div.title; /* Remove the title attribute to prevent a tooltip from appearing */ if (this.removeTitle) { t.div.title = ''; } if (!t.headingText) { /* Title was not defined in the title of the DIV, So try to get the title from an element within the DIV. Go through the list of elements in this.titleElements (typically heading elements ['h2','h3','h4']) */ for (i2=0; i2/gi," "); t.headingText = t.headingText.replace(/<[^>]+>/g,""); } break; } } } if (!t.headingText) { /* Title was not found (or is blank) so automatically generate a number for the tab. */ t.headingText = i + 1; } /* Create a list element for the tab */ DOM_li = document.createElement("li"); /* Save a reference to this list item so we can later change it to the "active" class */ t.li = DOM_li; /* Create a link to activate the tab */ DOM_a = document.createElement("a"); DOM_a.appendChild(document.createTextNode(t.headingText)); DOM_a.href = "javascript:void(null);"; DOM_a.title = t.headingText; DOM_a.onclick = this.navClick; /* Add some properties to the link so we can identify which tab was clicked. Later the navClick method will need this. */ DOM_a.tabber = this; DOM_a.tabberIndex = i; /* Do we need to add an id to DOM_a? */ if (this.addLinkId && this.linkIdFormat) { /* Determine the id name */ aId = this.linkIdFormat; aId = aId.replace(//gi, this.id); aId = aId.replace(//gi, i); aId = aId.replace(//gi, i+1); aId = aId.replace(//gi, t.headingText.replace(/[^a-zA-Z0-9\-]/gi, '')); DOM_a.id = aId; } /* Add the link to the list element */ DOM_li.appendChild(DOM_a); /* Add the list element to the list */ DOM_ul.appendChild(DOM_li); } /* Add the UL list to the beginning of the tabber div */ e.insertBefore(DOM_ul, e.firstChild); /* Make the tabber div "live" so different CSS can be applied */ e.className = e.className.replace(this.REclassMain, this.classMainLive); /* Activate the default tab, and do not call the onclick handler */ this.tabShow(defaultTab); /* If the user specified an onLoad function, call it now. */ if (typeof this.onLoad == 'function') { this.onLoad({tabber:this}); } return this; }; tabberObj.prototype.navClick = function(event) { /* This method should only be called by the onClick event of an element, in which case we will determine which tab was clicked by examining a property that we previously attached to the element. Since this was triggered from an onClick event, the variable "this" refers to the element that triggered the onClick event (and not to the tabberObj). When tabberObj was initialized, we added some extra properties to the element, for the purpose of retrieving them now. Get the tabberObj object, plus the tab number that was clicked. */ var rVal, /* Return value from the user onclick function */ a, /* element that triggered the onclick event */ self, /* the tabber object */ tabberIndex, /* index of the tab that triggered the event */ onClickArgs; /* args to send the onclick function */ a = this; if (!a.tabber) { return false; } self = a.tabber; tabberIndex = a.tabberIndex; /* Remove focus from the link because it looks ugly. I don't know if this is a good idea... */ a.blur(); /* If the user specified an onClick function, call it now. If the function returns false then do not continue. */ if (typeof self.onClick == 'function') { onClickArgs = {'tabber':self, 'index':tabberIndex, 'event':event}; /* IE uses a different way to access the event object */ if (!event) { onClickArgs.event = window.event; } rVal = self.onClick(onClickArgs); if (rVal === false) { return false; } } self.tabShow(tabberIndex); return false; }; tabberObj.prototype.tabHideAll = function() { var i; /* counter */ /* Hide all tabs and make all navigation links inactive */ for (i = 0; i < this.tabs.length; i++) { this.tabHide(i); } }; tabberObj.prototype.tabHide = function(tabberIndex) { var div; if (!this.tabs[tabberIndex]) { return false; } /* Hide a single tab and make its navigation link inactive */ div = this.tabs[tabberIndex].div; /* Hide the tab contents by adding classTabHide to the div */ if (!div.className.match(this.REclassTabHide)) { div.className += ' ' + this.classTabHide; } this.navClearActive(tabberIndex); return this; }; tabberObj.prototype.tabShow = function(tabberIndex) { /* Show the tabberIndex tab and hide all the other tabs */ var div; if (!this.tabs[tabberIndex]) { return false; } /* Hide all the tabs first */ this.tabHideAll(); /* Get the div that holds this tab */ div = this.tabs[tabberIndex].div; /* Remove classTabHide from the div */ div.className = div.className.replace(this.REclassTabHide, ''); /* Mark this tab navigation link as "active" */ this.navSetActive(tabberIndex); /* If the user specified an onTabDisplay function, call it now. */ if (typeof this.onTabDisplay == 'function') { this.onTabDisplay({'tabber':this, 'index':tabberIndex}); } return this; }; tabberObj.prototype.navSetActive = function(tabberIndex) { /* Note: this method does *not* enforce the rule that only one nav item can be active at a time. */ /* Set classNavActive for the navigation list item */ this.tabs[tabberIndex].li.className = this.classNavActive; /*Added by Ayal: If you give the tabbertab divs an id of the form "frame:body" and put a line
on the tab page, then it will be filled out in to an iframe with name and id equal to frame, and showing the content of the file body+".html" Example:

Articles


will put an iframe that will load recent.html when this tab is shown */ if (this.tabs[tabberIndex].div.id) { var fields = this.tabs[tabberIndex].div.id.split(":"); var elem = document.getElementById(fields[1]); if (elem) { /* In case loading takes some time (for example because the page contains an applet), * display a message that the page is being loaded. Yield for a tenth of a second to allow the * system to display the screen. */ elem.innerHTML = "
"+ "

Loading page, one moment please.

"+ "

"+ "If this page includes a Yacas calculation center, and you are visiting this page for the first time, "+ "it could take a minute to download the program."+ "

"; setTimeout("initTabPageIFrame('"+this.tabs[tabberIndex].div.id+"')",100); } } return this; }; /*Added by Ayal: refresh content on tab that has a tabPageContent item. */ function initTabPageIFrame(id) { var fields = id.split(":"); var elem = document.getElementById(fields[1]); if (elem) { var width = "100%"; if (elem.id == "recent") width = "840px"; var target = fields[1]+'.html'; if (fields[0] == "LibraryFrame" && document.location.search) { target = document.location.search; if (target.indexOf("?") == 0) { target = target.substring(1); } var subfields = target.split("&"); target = subfields[0]; if (subfields.length > 1) { target = target + "?" + subfields[1]; if (subfields.length > 2) { target = target + "&" + subfields[2]; } } } elem.innerHTML = ''; } } tabberObj.prototype.navClearActive = function(tabberIndex) { /* Note: this method does *not* enforce the rule that one nav should always be active. */ /* Remove classNavActive from the navigation list item */ this.tabs[tabberIndex].li.className = ''; return this; }; /*==================================================*/ function tabberAutomatic(tabberArgs) { /* This function finds all DIV elements in the document where class=tabber.classMain, then converts them to use the tabber interface. tabberArgs = an object to send to "new tabber()" */ var tempObj, /* Temporary tabber object */ divs, /* Array of all divs on the page */ i; /* Loop index */ if (!tabberArgs) { tabberArgs = {}; } /* Create a tabber object so we can get the value of classMain */ tempObj = new tabberObj(tabberArgs); /* Find all DIV elements in the document that have class=tabber */ /* First get an array of all DIV elements and loop through them */ divs = document.getElementsByTagName("div"); for (i=0; i < divs.length; i++) { /* Is this DIV the correct class? */ if (divs[i].className && divs[i].className.match(tempObj.REclassMain)) { /* Now tabify the DIV */ tabberArgs.div = divs[i]; divs[i].tabber = new tabberObj(tabberArgs); } } return this; } /*==================================================*/ function tabberAutomaticOnLoad(tabberArgs) { /* This function adds tabberAutomatic to the window.onload event, so it will run after the document has finished loading. */ var oldOnLoad; if (!tabberArgs) { tabberArgs = {}; } /* Taken from: http://simon.incutio.com/archive/2004/05/26/addLoadEvent */ oldOnLoad = window.onload; if (typeof window.onload != 'function') { window.onload = function() { tabberAutomatic(tabberArgs); }; } else { window.onload = function() { oldOnLoad(); tabberAutomatic(tabberArgs); }; } } /*==================================================*/ /* Run tabberAutomaticOnload() unless the "manualStartup" option was specified */ if (typeof tabberOptions == 'undefined') { tabberAutomaticOnLoad(); } else { if (!tabberOptions['manualStartup']) { tabberAutomaticOnLoad(tabberOptions); } } yacas-1.3.6/docs/consoledescr.html0000644000175000017500000000526012300203150016767 0ustar muammarmuammar
yacas-1.3.6/docs/range_control.css0000755000175000017500000000122012261607322016776 0ustar muammarmuammar .sliderContainer { width: 320px; height: 12px; background-color: #FFFFFF; border: 1px solid #000000; } .sliderWidgetLeft { position: absolute; width: 4px; height: 12px; background-color: #555599; border: 1px solid #000000; } .sliderWidgetLeft:hover { background-color: #AAAAEE; } .sliderWidgetRight { position: absolute; width: 4px; height: 12px; background-color: #555599; border: 1px solid #000000; } .sliderWidgetRight:hover { background-color: #AAAAEE; } .sliderInbetween { position: absolute; width: 4px; height: 12px; background-color: #FF0000; border: 1px solid #000000; } yacas-1.3.6/docs/plain.html0000644000175000017500000000276112261607322015431 0ustar muammarmuammar The Yacas computer algebra system <br /> <a href="about.html">About</a> <br /> <a href="books.html">Read the manual</a> <br /> <a href="gpl.html">License (GPL)</a> <br /> <a href="downloads.html">Download</a> <br /> <a href="faq.html">F.A.Q.</a> <br /> <a href="credits.html">Credits</a> <br /> <a href="links.html">Related links</a> <br /> <a href="mailto:yacas-develATlistsDOTsourceforgeDOTnet">Email us</a> <br /> yacas-1.3.6/docs/journal.js0000644000175000017500000000022112261607322015435 0ustar muammarmuammar /* When deep link found, redirect to the tabbified main page */ if (top.location == self.location) { self.location.replace("yacas.html"); } yacas-1.3.6/docs/yacas.html0000644000175000017500000000467612301404714015430 0ustar muammarmuammar The Yacas computer algebra system

yacas-1.3.6/docs/back.texhtml0000644000175000017500000000411712261607322015744 0ustar muammarmuammar
\frac{d}{{dx}}f\left( x \right) = \mathop {\lim }\limits_{\Delta \to 0} \frac{{f\left( {x + \Delta } \right) - f\left( x \right)}}{\Delta }
\cos x = \sum\limits_{n = 0}^\infty {\frac{{\left( { - 1} \right)^n x^{2n} }}{{\left( {2n} \right)!}}}
\sum\limits_i|\alpha_i|^2=1
\frac{d^2x^\alpha}{ds^2}+\Gamma_{\beta\gamma}^{\alpha}\frac{dx^\beta}{ds}\frac{dx^\gamma}{ds}=0
T_{\mu\nu}=(\varrho c^2+p)u_\mu u_\nu+pg_{\mu\nu}+\frac{1}{c^2} \left(F_{\mu\alpha}F^\alpha_\nu+\rho g_{\mu\nu}F^{\alpha\beta}F_{\alpha\beta}\right)
\Psi(\vec{r},t)=\int\frac{f(\vec{r},t-|\vec{r}-\vec{r}\,'|/c)}{4\pi|\vec{r}-\vec{r}\,'|}d^3r'
m\frac{d^2x^\alpha}{dt^2}=F^\alpha
\langle\alpha jm'|\vec{A}|\alpha jm\rangle= \frac{\langle\alpha jm|\vec{A}\cdot\vec{J}|\alpha jm\rangle}{j(j+1)\hbar^2}~ \langle\alpha jm'|\vec{J}~|\alpha jm\rangle
\displaystyle\left.\frac{d\sigma}{d\Omega}\right|_{\rm C}= \frac{Z_1Z_2e^2}{8\pi\varepsilon_0\mu v_0^2}\frac{1}{\sin^4(\frac{1}{2}\theta)}
\int^1_\kappa \left[\bigl(1-w^2\bigr)\bigl(\kappa^2-w^2\bigr)\right]^{-1/2} dw = \frac{4}{\left(1+\sqrt{\kappa}\,\right)^2} K \left(\left(\frac{1-\sqrt{\kappa}}{1+\sqrt{\kappa}}\right)^{\!\!2}\right)
\mathop{\rm grd} \phi(z) = \left(a+\frac{2d}{\pi}\right) v_\infty\, \overline{f'(z)} = v_\infty \left[ \pi a + \frac{2d}{\pi a + 2dw^{-1/2}(w-1)^{1/2}} \right]^-
-\sum^n_{m=1} \left(\,\sum^\infty_{k=1} \frac{ h^{k-1} }{\left(w_m-z_0\right)^2} \right) = \sum^\infty_{k=1} s_k\, h_u^{k-1}
yacas-1.3.6/docs/downloads.html0000644000175000017500000000316312301403336016307 0ustar muammarmuammar

Downloading Yacas

Complete source code for the current yacas version can be downloaded from Sourceforge files section, where you can also find binary packages for selected architectures and the source code for older versions.

The online documentation in HTML format can be downloaded as one tar.gz file. Documentation in PDF format is also available.

yacas-1.3.6/docs/range_control.html0000755000175000017500000000243212261607322017160 0ustar muammarmuammar Range editor

Range sliders


histo! yacas-1.3.6/docs/paper2.tex0000644000175000017500000010471412261607322015354 0ustar muammarmuammar\documentclass{llncs} \begin{document} \title{YACAS: A Do-it-yourself Symbolic Algebra Environment} \author{Ayal Zwi Pinkus\inst{1} \and Serge Winitzki\inst{2}} \institute{3e Oosterparkstraat 109-III, Amsterdam, The Netherlands (\email{apinkus@xs4all.nl}) \and Tufts Institute of Cosmology, Department of Physics and Astronomy, Tufts University, Medford, MA 02155, USA (\email{serge@cosmos.phy.tufts.edu}) } \maketitle \begin{abstract} We describe the design and implementation of \textsc{Yacas}, a free computer algebra system currently under development. The system consists of a core interpreter and a library of scripts that implement symbolic algebra functionality. The interpreter provides a high-level weakly typed functional language designed for quick prototyping of computer algebra algorithms, but the language is suitable for all kinds of symbolic manipulation. It supports conditional term rewriting of symbolic expression trees, closures (pure functions) and delayed evaluation, dynamic creation of transformation rules, arbitrary-precision numerical calculations, and flexible user-defined syntax using infix notation. The library of scripts currently provides basic numerical and symbolic algebra functionality, such as polynomials and elementary functions, limits, derivatives and (limited) integration, solution of (simple) equations. The main advantages of \textsc{Yacas} are: free (GPL) software; a flexible and easy-to-use programming language with a comfortable and adjustable syntax; cross-platform portability and small resource requirements; and extensibility. \end{abstract} %%% Start of main text \section{% Introduction} \textsc{Yacas} is a computer algebra system (CAS) which has been in development since the beginning of 1999. The goal was to make a small system that allows to easily prototype and research symbolic mathematics algorithms. A secondary future goal is to evolve \textsc{Yacas} into a full-blown general purpose CAS. %end of paragraph \textsc{Yacas} is primarily intended to be a research tool for easy exploration and prototyping of algorithms of symbolic computation. The main advantage of \textsc{Yacas} is its rich and flexible scripting language. The language is closely related to LISP \small{\texttt{WH89}} but has a recursive descent infix grammar parser \small{\texttt{ASU86}} which supports defining infix operators at run time similarly to Prolog \small{\texttt{B86}}, and includes expression transformation (term rewriting) as a basic feature of the language. %end of paragraph The \textsc{Yacas} language interpreter comes with a library of scripts that implement a set of computer algebra features. The \textsc{Yacas} script library is in active development and at the present stage does not offer the rich functionality of industrial-strength systems such as \small{\texttt{Mathematica}} or \small{\texttt{Maple}}. Extensive implementation of algorithms of symbolic computation is one of the future development goals. %end of paragraph \textsc{Yacas} handles input and output in plain ASCII, either interactively or in batch mode. (A graphical interface is under development.) There is also an optional plugin mechanism whereby external libraries can be linked into the system to provide extra functionality. Basic facilities are in place to compile Yacas scripts to C++ so they can be compiled into plugins. %end of paragraph \section{% Basic design} \textsc{Yacas} consists of a ``core engine" (kernel), which is an interpreter for the \textsc{Yacas} scripting language, and a library of script code. %end of paragraph The \textsc{Yacas} engine has been implemented in a subset of C++ which is supported by almost all C++ compilers. The design goals for \textsc{Yacas} core engine are: portability, self-containment (no dependence on extra libraries or packages), ease of implementing algorithms, code transparency, and flexibility. The \textsc{Yacas} system as a whole falls into the ``prototype/hacker" rather than into the ``axiom/algebraic" category, according to the terminology of Fateman \small{\texttt{F90}}. There are relatively few specific design decisions related to mathematics, but instead the emphasis is made on extensibility. %end of paragraph The kernel offers sufficiently rich but basic functionality through a limited number of core functions. This core functionality includes substitutions and rewriting of symbolic expression trees, an infix syntax parser, and arbitrary precision numerics. The kernel does not contain any definitions of symbolic mathematical operations and tries to be as general and free as possible of predefined notions or policies in the domain of symbolic computation. %end of paragraph The plugin inter-operability mechanism allows extension of the \textsc{Yacas} kernel and the use of external libraries, e.g. GUI toolkits or implementations of special-purpose algorithms. A simple C++ API is provided for writing ``stubs'' that make external functions appear in \textsc{Yacas} as new core functions. Plugins are on the same footing as the \textsc{Yacas} kernel and can in principle manipulate all \textsc{Yacas} internal structures. Plugins can be compiled either statically or dynamically as shared libraries to be loaded at runtime from \textsc{Yacas} scripts. In addition, \textsc{Yacas} scripts can be compiled to C++ code for further compilation into a plugin. Systems that don't support plugins can then link these modules in statically. The system can also be run without the plugins, for debugging and development purposes. The scripts will be interpreted in that case. %end of paragraph The script library contains declarations of transformation rules and of function syntax (prefix, infix etc.). The intention is that all symbolic manipulation algorithms, definitions of mathematical functions etc. should be held in the script library and not in the kernel. The only exception so far is for a very small number of mathematical or utility functions that are frequently used; they are compiled into the core for speed. %end of paragraph \subsection*{% Portability} \textsc{Yacas} is designed to be as platform-independent as possible. All platform-specific parts have been clearly separated to facilitate porting. Even the standard C++ library is considered to be platform-specific, as there exist platforms without support for the standard C++ library (e.g. the EPOC32 platform). %end of paragraph The primary development platform is GNU/Linux. Currently \textsc{Yacas} runs under various Unix variants, Windows environments, Psion organizers (EPOC32), Ipaq PDAs, BeOS, and Apple iMacs. Creating an executable for another platform (including embedded platforms) should not be difficult. %end of paragraph \subsection*{% A self-contained system} \textsc{Yacas} should work as a standalone package, requiring minimum support from other operating system components. \textsc{Yacas} takes input and output in plain ASCII, either interactively or in batch mode. (An optional graphical interface is under development.) The system comes with its own (unoptimized) arbitrary precision arithmetic module but could be compiled to use another arbitrary precision arithmetic library; currently linking to \small{\texttt{gmp}} is experimentally supported. There is also an optional plugin mechanism whereby external libraries can be linked into the system to provide extra functionality. %end of paragraph Self-containment is a requirement if the program is to be easy to port. A dependency on libraries that might not be available on other platforms would reduce portability. On the other hand, \textsc{Yacas} can be compiled with a complement of external libraries on ``production" platforms. %end of paragraph \subsection*{% Ease of use} \textsc{Yacas} is used mainly by executing programs written in the \textsc{Yacas} script language. A design goal is to create a high-level language that allows the user to conveniently express symbolic algorithms. A few lines of user code should go a long way. %end of paragraph One major advantage of \textsc{Yacas} is the flexibility of its syntax. Although \textsc{Yacas} works internally as a LISP-style interpreter, all user interaction is through the \textsc{Yacas} script language which has a flexible infix grammar. Infix operators are defined by the user and may contain non-alphabetic characters such as ``\small{\texttt{=}}" or ``\small{\texttt{\#}}". This means that the user interacts with \textsc{Yacas} using a comfortable and adjustable infix syntax, rather than a LISP-style syntax. The user can introduce such syntactic conventions as are most convenient for a given problem. %end of paragraph For example, the \textsc{Yacas} script library defines infix operators ``\small{\texttt{+}}", "\small{\texttt{*}}" and so on with conventional precedence, so that an algebraic expression can be entered in the familiar infix form such as %end of paragraph \begin{quote}\small\begin{verbatim} (x+1)^2 - (y-2*z)/(y+3) + Sin(x*Pi/2) \end{verbatim}\end{quote} %end of paragraph Once such infix operators are defined, it is possible to describe new transformation rules directly using the new syntax. This makes it easy to develop simplification or evaluation procedures adapted to a particular problem. %end of paragraph Suppose the user needs to reorder expressions containing non-commutative creation and annihilation operators of quantum field theory. It takes about 20 lines of \textsc{Yacas} script code to define an infix operation ``\small{\texttt{**}}" to express non-commutative multiplication with the appropriate commutation relations and to automatically normal-order all expressions involving these symbols and other (commutative) factors. Once the operator \small{\texttt{**}} is defined (with precedence 40), \begin{quote}\small\begin{verbatim} Infix("**", 40); \end{verbatim}\end{quote} the rules that express distributivity of the operation \small{\texttt{**}} with respect to addition may look like this: \begin{quote}\small\begin{verbatim} 15 # (_x + _y) ** _z <-- x ** z + y ** z; 15 # _z ** (_x + _y) <-- z ** x + z ** y; \end{verbatim}\end{quote} Here, \small{\texttt{15 \#}} is a specification of the rule precedence, \small{\texttt{\_x}} denotes a pattern-matching variable \small{\texttt{x}} and the expression to the right of \small{\texttt{<--}} is to be substituted instead of a matched expression on the left hand side. Since all transformation rules are applied recursively, these two lines of code are enough for the \textsc{Yacas} engine to expand all brackets in any expression containing the infix operators \small{\texttt{**}} and \small{\texttt{+}}. %end of paragraph Rule-based programming is not the only method that can be used in \textsc{Yacas} scripts; there are alternatives that may be more useful in some situations. For example, the familiar \small{\texttt{if}} / \small{\texttt{else}} constructs, \small{\texttt{For}}, \small{\texttt{ForEach}} loops are defined in the script library for the convenience of users. %end of paragraph Standard patterns of procedural programming, such as subroutines that return values, with code blocks and temporary local variables, are also available. (A ``subroutine" is implemented as a new ``ground term" with a single rule defined for it.) Users may freely combine rules with C-like procedures or LISP-like list processing primitives such as \small{\texttt{Head()}}, \small{\texttt{Tail()}}. %end of paragraph \subsection*{% Code clarity vs. speed} Speed is obviously an important factor. For \textsc{Yacas}, where a choice had to be made between speed and clarity of code, clarity was chosen. \textsc{Yacas} is mainly a prototyping system and its future maintainability is more important. %end of paragraph This means that special-purpose systems designed for specific types of calculations, as well as heavily optimized industrial-strength computer algebra systems, will outperform \textsc{Yacas}. However, special-purpose or optimized external libraries can be dynamically linked into \textsc{Yacas} using the plugin mechanism. %end of paragraph \subsection*{% Flexible, ``policy-free" engine} The core engine of the \textsc{Yacas} system interprets the Yacas script language. The reason to implement yet another LISP-based custom language interpreter instead of taking an already existing one was to have full control over the design of the system and to make it self-contained. While most of the features of the \textsc{Yacas} script language are ``syntactic sugar" on top of a LISP interpreter, some features not commonly found in LISP systems were added. %end of paragraph The script library contains declarations of transformation rules and of function syntax (prefix, infix etc.). The intention is that all symbolic manipulation algorithms, definitions of mathematical functions and so on should be held in the script library and not in the kernel. The only exception so far is for a very small number of mathematical or utility functions that are frequently used; they are compiled into the core for speed. %end of paragraph For example, the mathematical operator ``\small{\texttt{+}}" is an infix operator defined in the library scripts. To the kernel, this operator is on the same footing as any other function defined by the user and can be redefined. The \textsc{Yacas} kernel itself does not store any properties for this operator. Instead it relies entirely on the script library to provide transformation rules for manipulating expressions involving the operator ``\small{\texttt{+}}". In this way, the kernel does not need to anticipate all possible meanings of the operator ``\small{\texttt{+}}" that users might need in their calculations. %end of paragraph This policy-free scheme means that \textsc{Yacas} is highly configurable through its scripting language. It is possible to create an entirely different symbolic manipulation engine based on the same C++ kernel, with different syntax and different naming conventions, by simply using another script library instead of the current library scripts. An example of the flexibility of the \textsc{Yacas} system is a sample script \small{\texttt{wordproblems.ys}} that comes with the distribution. It contains a set of rule definitions that make \textsc{Yacas} recognize simple English sentences, such as ``Tom has 3 apples" or ``Jane gave an apple to Tom", as valid \textsc{Yacas} expressions. \textsc{Yacas} can then ``evaluate" these sentences to \small{\texttt{True}} or \small{\texttt{False}} according to the semantics of the current situation described in them. %end of paragraph The ``policy-free" concept extends to typing: strong typing is not required by the kernel, but can be easily enforced by the scripts if needed for a particular problem. The language offers features, but does not enforce their use. Here is an example of a policy implemented in the script library: %end of paragraph \begin{quote}\small\begin{verbatim} 61 # x_IsPositiveNumber ^ y_IsPositiveNumber <-- MathPower(x,y); \end{verbatim}\end{quote} By this rule, expressions of the form $x^y$ (representing powers $x ^{y}$) are evaluated and replaced by a number if and only if \small{\texttt{x}} and \small{\texttt{y}} are positive numerical constants. (The function \small{\texttt{MathPower}} is defined in the kernel.) If this simplification by default is not desirable, the user could erase this rule from the library and have a CAS without this feature. %end of paragraph \section{% The \textsc{Yacas} kernel functionality} \textsc{Yacas} script is a functional language based on various ideas that seemed useful for an implementation of CAS: list-based data structures, object properties, and functional programming (a la LISP); term rewriting [BN98] with pattern matching somewhat along the lines of Mathematica; user-defined infix operators a la PROLOG; delayed evaluation of expressions; and arbitrary-precision arithmetic. Garbage collection is implemented through reference counting. %end of paragraph The kernel provides three basic data types: numbers, strings, and atoms, and two container types: list and static array (for speed). Atoms are implemented as strings that can be assigned values and evaluated. Boolean values are simply atoms \small{\texttt{True}} and \small{\texttt{False}}. Numbers are represented by objects on which arithmetic can be performed immediately. Expression trees, association (hash) tables, stacks, and closures (pure functions) are all implemented using nested lists. In addition, more data types can be provided by plugins. Kernel primitives are available for arbitrary-precision arithmetic, string manipulation, array and list access and manipulation, for basic control flow, for assigning variables (atoms) and for defining rules for functions (atoms with a function syntax). %end of paragraph The interpreter engine recursively evaluates expression trees according to user-defined transformation rules from the script library. Evaluation proceeds bottom-up, that is, for each function term, the arguments are evaluated first and then the function is applied to these values. %end of paragraph A \small{\texttt{HoldArg()}} primitive is provided to not evaluate certain arguments of certain functions before passing them on as parameters to these functions. The \small{\texttt{Hold()}} and \small{\texttt{Eval()}} primitives, similarly to LISP's \small{\texttt{QUOTE}} and \small{\texttt{EVAL}}, can be used to stop the recursive application of rules at a certain point and obtain an unevaluated expression, or to initiate evaluation of an expression which was previously held unevaluated. %end of paragraph When an expression can not be transformed any further, that is, when no more rules apply to it, the expression is returned unevaluated. For instance, a variable that is not assigned a value will return unevaluated. This is a desired behavior in a symbolic manipulation system. Evaluation is treated as a form of ``simplification", in that evaluating an expression returns a simplified form of the input expression. %end of paragraph Rules are matched by a pattern expression which can contain \emph{pattern variables}, i.e. atoms marked by the ``\small{\texttt{\_}}" operator. During matching, each pattern variable atom becomes a local variable and is tentatively assigned the subexpression being matched. For example, the pattern \small{\texttt{\_x + \_y}} can match an expression \small{\texttt{a*x+b}} and then the pattern variable \small{\texttt{x}} will be assigned the value \small{\texttt{a*x}} (unevaluated) and the variable \small{\texttt{y}} will have the value \small{\texttt{b}}. %end of paragraph This type of semantic matching has been frequently implemented before in various term rewriting systems (see, e.g., [C86]). However, the \textsc{Yacas} language offers its users an ability to create a much more flexible and powerful term rewriting system than one based on a fixed set of rules. Here are some of the features: %end of paragraph First, transformation rules in \textsc{Yacas} have predicates that control whether a rule should be applied to an expression. Predicates can be any \textsc{Yacas} expressions that evaluate to the atoms \small{\texttt{True}} or \small{\texttt{False}} and are typically functions of pattern variables. A predicate could check the types or values of certain subexpressions of the matching context (see the \small{\texttt{\_x \^ \_y}} example in the previous subsection). %end of paragraph Second, rules are assigned a precedence value (a positive integer) that controls the order of rules to be attempted. Thus \textsc{Yacas} provides somewhat better control over the automatic recursion than the pattern-matching system of \small{\texttt{Mathematica}} which does not allow for rule precedence. The interpreter will first apply the rule that matches the argument pattern, for which the predicate returns \small{\texttt{True}}, and which has the least precedence. %end of paragraph Third, new rules can be defined dynamically as a side-effect of evaluation. This means that there is no predefined ``ranking alphabet" of ``ground terms" (in the terminology of [TATA99]), in other words, no fixed set of functions with predefined arities. It is also possible to define a ``rule closure" that defines rules depending on its arguments, or to erase rules. Thus, a \textsc{Yacas} script library (although it is read-only) does not represent a fixed tree rewriting automaton. An implementation of machine learning is possible in \textsc{Yacas} (among other things). For example, when the module \small{\texttt{wordproblems.ys}} (mentioned in the previous subsection) "learns" from the user input that \small{\texttt{apple}} is a countable object, it defines a new postfix operator \small{\texttt{apples}} and a rule for its evaluation, so the expression \small{\texttt{3 apples}} is later parsed as a function \small{\texttt{apples(3)}} and evaluated according to the rule. %end of paragraph Fourth, \textsc{Yacas} expressions can be ``tagged" (assigned a ``property object" a la LISP) and tags can be checked by predicates in rules or used in the evaluation. %end of paragraph Fifth, the scope of variables can be controlled. In addition to having its own local variables, a function can be allowed to access local variables of its calling environment (the \small{\texttt{UnFence()}} primitive). It is also possible to encapsulate a group of variables and functions into a ``module", making some of them inaccessible from the outside (the \small{\texttt{LocalSymbols()}} primitive). The scoping of variables is a ``policy decision", to be enforced by the script which defines the function. This flexibility is by design and allows to easily modify the behavior of the interpreter, effectively changing the language as needed. %end of paragraph \section{% The \textsc{Yacas} scripting language} The \textsc{Yacas} interpreter is sufficiently powerful so that the functions \small{\texttt{For}}, \small{\texttt{ForEach}}, \small{\texttt{if}}, \small{\texttt{else}} etc., as well as the convenient shorthand ``...\small{\texttt{<--}}..." for defining new rules, can be defined in the script library itself rather than in the kernel. This power is fully given to the user, since the library scripts are on the same footing as any user-defined code. Some library functions are intended mainly as tools available to a \textsc{Yacas} user to make algorithm implementation more comfortable. Below are some examples of the features provided by the \textsc{Yacas} script language. %end of paragraph \textsc{Yacas} supports ``function overloading": it allows a user to declare functions \small{\texttt{f(x)}} and \small{\texttt{f(x,y)}}, each having their own set of transformation rules. Of course, different rules can be defined for the same function name with the same number of arguments (arity) but with different argument patterns or different predicates. %end of paragraph Simple transformations on expressions can be performed using rules. For instance, if we need to expand the natural logarithm in an expression, we could use the following rules: %end of paragraph \begin{quote}\small\begin{verbatim} log(_x * _y) <-- log(x) + log(y); log(_x ^ _n) <-- n * log(x); \end{verbatim}\end{quote} These two rules define a new symbolic function \small{\texttt{log}} which will not be evaluated but only transformed if one of these two rules are applicable. The symbol \small{\texttt{\_}}, as before, indicates that the following atom is a pattern variable that matches subexpressions. %end of paragraph After entering these two rules, the following interactive session is possible: %end of paragraph \begin{quote}\small\begin{verbatim} In> log(a*x^2) log( a ) + 2 * log( x ) \end{verbatim}\end{quote} %end of paragraph Integration of the new function \small{\texttt{log}} can be defined by adding a rule for the \small{\texttt{AntiDeriv}} function atom, %end of paragraph \begin{quote}\small\begin{verbatim} AntiDeriv(_x,log(_x)) <-- x*log(x)-x; \end{verbatim}\end{quote} Now \textsc{Yacas} can do integrations involving the newly defined \small{\texttt{log}} function, for example: %end of paragraph \begin{quote}\small\begin{verbatim} In> Integrate(x)log(a*x^n) log( a ) * x + n * ( x * log( x ) - x ) + C18 In> Integrate(x,B,C)log(a*x^n) log( a ) * C + n * ( C * log( C ) - C ) - ( log( a ) * B + n * ( B * log( B ) - B ) ) \end{verbatim}\end{quote} %end of paragraph Rules are applied when their associated patterns match and when their predicates return \small{\texttt{True}}. Rules also have precedence, an integer value to indicate which rules need to be applied first. Using these features, a recursive implementation of the integer factorial function may look like this in \textsc{Yacas} script, %end of paragraph \begin{quote}\small\begin{verbatim} 10 # Factorial(_n) _ (n=0) <-- 1; 20 # Factorial(n_IsInteger) _ (n>0) <-- n*Factorial(n-1); \end{verbatim}\end{quote} Here the rules have precedence 10 and 20, so that the first rule will be tried first and the recursion will stop when $n = 0$ is reached. %end of paragraph Rule-based programming can be freely combined with procedural programming when the latter is a more appropriate method. For example, here is a function that computes ($x ^{n}\bmod m$) efficiently: %end of paragraph \begin{quote}\small\begin{verbatim} powermod(x_IsPositiveInteger, n_IsPositiveInteger, m_IsPositiveInteger) <-- [ Local(result); result:=1; x:=Mod(x,m); While(n != 0) [ if ((n&1) = 1) [ result := Mod(result*x,m); ]; x := Mod(x*x,m); n := n>>1; ]; result; ]; \end{verbatim}\end{quote} %end of paragraph Interaction with the function \small{\texttt{powermod(x,n,m)}} would then look like this: %end of paragraph \begin{quote}\small\begin{verbatim} In> powermod(2,10,100) Out> 24; In> Mod(2^10,100) Out> 24; In> powermod(23234234,2342424234,232423424) Out> 210599936; \end{verbatim}\end{quote} %end of paragraph \section{% Currently supported CAS features} \textsc{Yacas} consists of approximately 22000 lines of C++ code and 13000 lines of scripting code, with 170 functions defined in the C++ kernel and 600 functions defined in the scripting language. These numbers are deceptively small. The program is written in clean and simple style to keep it maintainable. Excessive optimization tends to bloat software and make it less readable. %end of paragraph A base of mathematical capabilities has already been implemented in the script library (the primary sources of inspiration were the books [K98], [GG99] and [B86]). The script library is currently under active development. The following section demonstrates a few facilities already offered in the current system. %end of paragraph Basic operations of elementary calculus have been implemented: %end of paragraph \begin{quote}\small\begin{verbatim} In> Limit(n,Infinity)(1+(1/n))^n Exp( 1 ) In> Limit(h,0) (Sin(x+h)-Sin(x))/h Cos( x ) In> Taylor(x,0,5)ArcSin(x) 3 5 x 3 * x x + -- + ------ 6 40 In> InverseTaylor(x,0,5)Sin(x) 5 3 3 * x x ------ + -- + x 40 6 In> Integrate(x,a,b)Ln(x)+x 2 / 2 \ b | a | b * Ln( b ) - b + -- - | a * Ln( a ) - a + -- | 2 \ 2 / In> Integrate(x)1/(x^2-1) Ln( 2 * ( x - 1 ) ) Ln( 2 * ( x + 1 ) ) ------------------- - ------------------- + C38 2 2 In> Integrate(x)Sin(a*x)^2*Cos(b*x) Sin( b * x ) Sin( -2 * x * a + b * x ) ------------ - ------------------------- - 2 * b 4 * ( -2 * a + b ) Sin( -2 * x * a - b * x ) ------------------------- + C39 4 * ( -2 * a - b ) In> OdeSolve(y''==4*y) C193 * Exp( -2 * x ) + C195 * Exp( 2 * x ) \end{verbatim}\end{quote} %end of paragraph Solving systems of equations has been implemented using a generalized Gaussian elimination scheme: %end of paragraph \begin{quote}\small\begin{verbatim} In> Solve( {x+y+z==6, 2*x+y+2*z==10, \ In> x+3*y+z==10}, \ In> {x,y,z} ) [1] Out> {4-z,2,z}; \end{verbatim}\end{quote} (The solution of this underdetermined system is returned as a vector, so $x = 4 - z$, $y = 2$, and $z$ remains arbitrary.) %end of paragraph A small theorem prover [B86] using a resolution principle is offered: %end of paragraph \begin{quote}\small\begin{verbatim} In> CanProve(P Or (Not P And Not Q)) Not( Q ) Or P \end{verbatim}\end{quote} %end of paragraph \begin{quote}\small\begin{verbatim} In> CanProve(a > 3 And a < 2) False \end{verbatim}\end{quote} %end of paragraph Various exact and arbitrary-precision numerical algorithms have been implemented: %end of paragraph \begin{quote}\small\begin{verbatim} In> N(1/7,40); // evaluate to 40 digits Out> 0.1428571428571428571428571428571428571428; In> Decimal(1/7); // obtain decimal period Out> {0,{1,4,2,8,5,7}}; In> N(LnGamma(1.234+2.345*I)); // gamma-function Out> Complex(-2.13255691127918,0.70978922847121); \end{verbatim}\end{quote} %end of paragraph Various domain-specific expression simplifiers are available: %end of paragraph \begin{quote}\small\begin{verbatim} In> RadSimp(Sqrt(9+4*Sqrt(2))) Sqrt( 8 ) + 1 In> TrigSimpCombine(Sin(x)^2+Cos(x)^2) 1 In> TrigSimpCombine(Cos(x/2)^2-Sin(x/2)^2) Cos( x ) In> GcdReduce((x^2+2*x+1)/(x^2-1),x) x + 1 ----- x - 1 \end{verbatim}\end{quote} %end of paragraph Univariate polynomials are supported in a dense representation, and multivariate polynomials in a sparse representation: %end of paragraph \begin{quote}\small\begin{verbatim} In> Factor(x^6+9*x^5+21*x^4-5*x^3-54*x^2-12*x+40) 3 2 ( x + 2 ) * ( x - 1 ) * ( x + 5 ) In> Apart(1/(x^2-x-2)) 1 1 ------------- - ------------- 3 * ( x - 2 ) 3 * ( x + 1 ) In> Together(%) 9 ------------------- 2 9 * x - 9 * x - 18 In> Simplify(%) 1 ---------- 2 x - x - 2 \end{verbatim}\end{quote} %end of paragraph Various ``syntactic sugar" functions are defined to more easily enter expressions: %end of paragraph \begin{quote}\small\begin{verbatim} In> Ln(x*y) /: { Ln(_a*_b) <- Ln(a) + Ln(b) } Ln( x ) + Ln( y ) In> Add(x^(1 .. 5)) 2 3 4 5 x + x + x + x + x In> Select("IsPrime", 1 .. 15) Out> {2,3,5,7,11,13}; \end{verbatim}\end{quote} Groebner bases [GG99] have been implemented: %end of paragraph \begin{quote}\small\begin{verbatim} In> Groebner({x*(y-1),y*(x-1)}) / \ | x * y - x | | | | x * y - y | | | | y - x | | | | 2 | | y - y | \ / \end{verbatim}\end{quote} (From this it follows that $x = y$, and $x ^{2} = x$ so $x$ is $0$ or $1$.) %end of paragraph Symbolic inverses of matrices: %end of paragraph \begin{quote}\small\begin{verbatim} In> Inverse({{a,b},{c,d}}) / \ | / d \ / -( b ) \ | | | ------------- | | ------------- | | | \ a * d - b * c / \ a * d - b * c / | | | | / -( c ) \ / a \ | | | ------------- | | ------------- | | | \ a * d - b * c / \ a * d - b * c / | \ / \end{verbatim}\end{quote} %end of paragraph This list of features is not exhaustive. %end of paragraph \section{% Interface} Currently, \textsc{Yacas} is primarily a text-oriented application with interactive interface through the text console. Commands are entered and evaluated line by line; files containing longer code may be loaded and evaluated. A ``notebook" interface under the GNU Emacs editor is available. There is also an experimental graphical interface (\small{\texttt{proteus}}) for Unix and Windows environments. %end of paragraph Debugging facilities are implemented, allowing to trace execution of a function, trace application of a given rule pattern, examine the stack when recursion did not terminate, or an online debugger from the command line. An experimental debug version of the \textsc{Yacas} executable that provides more detailed information can be compiled. %end of paragraph \section{% Documentation} The documentation for the \textsc{Yacas} is extensive and is actively updated, following the development of the system. Documentation currently consists of two tutorial guides (user's introduction and programmer's introduction), a collection of essays that describe some advanced features in more detail, and a full reference manual. %end of paragraph \textsc{Yacas} currently comes with its own document formatting module that allows maintenance of documentation in a special plain text format with a minimal markup. This text format is automatically converted to HTML, $\textrm{\LaTeX\/}$, PostScript and PDF formats. The HTML version of the documentation is hyperlinked and is used as online help available from the \textsc{Yacas} prompt. %end of paragraph \section{% Future plans} The long-term goal for \textsc{Yacas} is to become an industrial-strength CAS and to remain a flexible research tool for easy prototyping of various methods of symbolic calculations. \textsc{Yacas} is meant to be a repository and a testbed for such algorithm prototypes. %end of paragraph The plugin facility will be extended in the future, so that a rich set of extra additional libraries (especially free software libraries), system-specific as well as mathematics-oriented, should be loadable from the \textsc{Yacas} system. The issue of speed is also continuously being addressed. %end of paragraph %%% End of main text \begin{thebibliography}{TATW99} \bibitem[ASU86]{ASU86} A. Aho, R. Sethi and J. Ullman, \emph{Compilers (Principles, Techniques and Tools)}, Addison-Wesley, 1986. \bibitem[B86]{B86} I. Bratko, \emph{Prolog (Programming for Artificial Intelligence)}, Addison-Wesley, 1986. \bibitem[BN98]{BN98} F. Baader and T. Nipkow, \emph{Term rewriting and all that}, Cambridge University Press, 1998. \bibitem[C86]{C86} G. Cooperman, \emph{A semantic matcher for computer algebra}, in Proceedings of the symposium on symbolic and algebraic computation (1986), Waterloo, Ontario, Canada (ACM Press, NY). \bibitem[F90]{F90} R. Fateman, \emph{On the design and construction of algebraic manipulation systems}, also published as: ACM Proceedings of the ISSAC-90, Tokyo, Japan. \bibitem[GG99]{GG99} J. von zur Gathen and J. Gerhard, \emph{Modern Computer Algebra}, Cambridge University Press, 1999. \bibitem[K98]{K98} D. E. Knuth, \emph{The Art of Computer Programming (Volume 2, Seminumerical Algorithms)}, Addison-Wesley, 1998. \bibitem[TATA99]{TATA99} H. Comon, M. Dauchet, R. Gilleron, F. Jacquemard, D. Lugiez, S. Tison, and M. Tommasi, \emph{Tree Automata Techniques and Applications}, 1999, online book: {\small \verb|http://www.grappa.univ-lille3.fr/tata|} \bibitem[W96]{W96} S. Wolfram, \emph{The Mathematica book}, Wolfram Media, Champain, 1996. \bibitem[WH89]{WH89} P. Winston and B. Horn, \emph{LISP}, Addison-Wesley, 1989. \end{thebibliography} \end{document} yacas-1.3.6/docs/recent.html0000644000175000017500000000354612300203211015567 0ustar muammarmuammar yacas-1.3.6/docs/credits.html0000644000175000017500000001711712261607322015764 0ustar muammarmuammar

Credits

Ayal Pinkus
This project was started by Ayal Pinkus who remains the main author and the primary maintainer.
John Lapeyre
made some modifications to the make file, and improved some math code.
Juan Pablo
reported many bugs, made many suggestions for improvements, and supplied improved code (yacas scripts and makefile code).
Doreen Pinkus
Designed the second version of the Web site for Yacas.
Igor Khavkine
added 'Diverge' and 'Curl', and implemented threading for the derivative operator (the gradient). Fixed GMP code.
James Gilbertson
Win32 port, improved error reporting. Added initial version of Karatsuba multiplication, and added some matrix functions to the math library.
Daniel Richard G.
added autoconf/automake scripts, made Sun/Sgi compilation possible, created a rpm spec file, many many many changes to clean up the source distribution.
Ladislav Zejda
supplied patches to make Yacas work on Dec Alpha's.
Fred Bacon
fixed some compiler errors on the newer gcc compiles. Reported some important bugs.
Schneelocke
reported an important bug in numeric calculations.
Serge Winitzki
added factorials over rationals, TeXForm, did a major overhaul of the introduction manual (actually, he wrote large part of the manual as it is), and initiated numerous improvements and test code for Yacas, and implemented yacas_client. Actually, Serge has been one of the larger contributors, and the main force behind the improved documentation.
Jay Belanger
reported some bugs, and improved some of the GnuPlot code. He also wrote the yacas.el file, which allows you to run yacas from within emacs. His most recent version can be found here
Gopal Narayanan
maintains the Debian package for Yacas.
Vladimir Livshits
set up the initial sourceforge CVS repository, and updated the Windows version source code. He also greatly improved the logic theorem prover code.
Eugenia Loli
Helped build the BeOS version of Yacas. It can be found here
Saverio Prinz
built a fantastic Mac version of Yacas. It can be found here
John Fremlin
Added some code for fast calculation of roots of a cubic polynomial.
Mark Arrasmith
Helped greatly in setting up the fltk-based graphicaluser interface, and fixed some bugs relating to limits regarding infinity.
Robert V Schipper
Ironed out a few bugs in Yacas.
Gopal Narayanan
Debian package maintainer. Made a man page for Yacas.
Christian Obrecht
Made a much better Limit, and made Yacas behave better at infinity.
Jitse Niesen
Reported some bugs, helped improve various parts of Yacas, and greatly improved the manual for Yacas.
Pablo Di Napoli
Fixed the configure script so Yacas compiles under cygwin.
Joris van der Hoeven
Helped with texmacs support.
Alberto González Palomo
Implemented a console-mode version of Yacas for AgendaVR. Changed the directory structure for the script files, and implemented initial support for OpenMath.
Jonathan Leto
Helped improve the integration algorithm, and helped extend the tests used for Yacas (finding numerous bugs).
Andrei Zorine
Started the body of statistics code.
Daniel Rigby
Brought a client-server structure to the EPOC32 version of Yacas.
Dirk Reusch
Added some linear algebra functions, and fixed some predicate functions.
Mark Hatsell
made the server code work on Windows.
Yannick Versley
sent some patches regarding bugs relating integration and differentiation.
Franz Hack
Supplied a Delphi interface to the Yacas DLL.
Mike Pinna
Applied some bug fixes.
Sebastian Ferraro
Reported bugs and supplied improved code (determinants).
Roberto Colistete Junior
Is maintaining a version of Yacas for SymbianOS.
Jim Apple
Reported bugs and supplied improved code for gcc 3.3.4
Wolfgang Hšnig
created a port of Yacas that runs on PocketPC, to be found here .
Rene Grothmann
Married Euler to Yacas. Link here .
Peter Gilbert
Made many improvements to the C++ code to make it conform more to standard C++ coding conventions (class interfaces looking more like stl), improved the regression test suite.
Ingrid Halters
Helped improve the ease of use of the Yacas web site.
Gabor Grothendieck
Gabor is the maintainer of Ryacas, and gave valuable feedback on the new web site.
yacas-1.3.6/docs/Makefile.am0000644000175000017500000000302312434151461015464 0ustar muammarmuammar## Makefile.am -- Process this file with automake to produce Makefile.in ## EXTRA_DIST contains the files automake does not know about, ## that need to go in the distribution. noinst_PROGRAMS = riptestfromyart autocompleter riptestfromyart_SOURCES = riptestfromyart.cpp autocompleter_SOURCES = autocompleter.cpp # These files make up the home page. EXTRA_DIST = \ about.html basicindex.html \ consoleedit.html consoleview.html consoledescr.html credits.html faq.html \ gpl.html homepage.html links.html \ placeholder.html plain.html recent.html recentindex.html articles.html \ tabber.css tabber.js tutorials.html yacas.css yacas.html \ yacas.js datahub.js yacaslogo.png stop.gif journal.js \ cookie.js autocompleter.css \ tutorialtext1.html back-dark.gif back.gif back.texhtml \ $(YART_FILES) newtonconvergence.html newdesign.html \ range_control.html range_control.css range_control.js \ journaldescr.html \ downloads.html \ README autocompleteraccess.js examples-static.txt \ paper1.tex paper2.tex YART_FILES = newtonconvergence.yart ## The file "yacaslogo.png" is used in the HTML documentation html_DATA = yacaslogo.png autocompleterarray.js: autocompleter examples-static.txt ../JavaYacas/hints.txt cd ../JavaYacas ; make hints.txt ; cd ../docs/ ./autocompleter ../JavaYacas/hints.txt autocompleterarray.js #check: riptestfromyart $(YART_FILES) # for file in $(YART_FILES) ; do echo "Running test code from $$file..." ; ./riptestfromyart $$file temp.yts ; ../src/yacas -pc --rootdir ../scripts temp.yts ; done yacas-1.3.6/docs/paper1.tex0000644000175000017500000004036612261607322015355 0ustar muammarmuammar\documentclass{llncs} \begin{document} \title{YACAS: A Do-it-yourself Symbolic Algebra Environment} \author{Ayal Zwi Pinkus\inst{1} \and Serge Winitzki\inst{2}} \institute{3e Oosterparkstraat 109-III, Amsterdam, The Netherlands (\email{apinkus@xs4all.nl}) \and Tufts Institute of Cosmology, Department of Physics and Astronomy, Tufts University, Medford, MA 02155, USA (\email{serge@cosmos.phy.tufts.edu}) } \maketitle \begin{abstract} We describe the design and implementation of \textsc{Yacas}, a free computer algebra system currently under development. The system consists of a core interpreter and a library of scripts that implement symbolic algebra functionality. The interpreter provides a high-level weakly typed functional language designed for quick prototyping of computer algebra algorithms, but the language is suitable for all kinds of symbolic manipulation. It supports conditional term rewriting of symbolic expression trees, closures (pure functions) and delayed evaluation, dynamic creation of transformation rules, arbitrary-precision numerical calculations, and flexible user-defined syntax using infix notation. The library of scripts currently provides basic numerical and symbolic functionality. The main advantages of \textsc{Yacas} are: free (GPL) software; a flexible and easy-to-use programming language with a comfortable and adjustable syntax; cross-platform portability and small resource requirements; and extensibility. \end{abstract} %%% Start of main text \section{Introduction} \textsc{Yacas} is a computer algebra system (CAS) which has been in development since the beginning of 1999. The goal was to make a small system that allows to easily prototype and research symbolic mathematics algorithms. A secondary future goal is to evolve \textsc{Yacas} into a full-blown general purpose CAS. \textsc{Yacas} is primarily intended to be a research tool for easy exploration and prototyping of algorithms of symbolic computation. The main advantage of \textsc{Yacas}, besides being free software, is its rich and flexible scripting language. The language is closely related to LISP \cite{WH89} but has a recursive descent infix grammar parser \cite{ASU86}, includes expression transformation (term rewriting), and supports defining infix operators at run time similarly to Prolog \cite{B86}. The \textsc{Yacas} language interpreter comes with a library of scripts that implement a set of computer algebra features. The \textsc{Yacas} script library is in active development and at the present stage does not offer the rich functionality of industrial-strength systems such as \textsc{Mathematica} or \textsc{Maple}. Extensive implementation of algorithms of symbolic computation is one of the future development goals. \textsc{Yacas} handles input and output in plain ASCII, either interactively or in batch mode. (A graphical interface is under development.) There is also an optional plugin mechanism whereby external libraries can be linked into the system to provide extra functionality. \textsc{Yacas} currently (at version 1.0.49) consists of approximately 22000 lines of C++ code and 13000 lines of script code, with 170 functions defined in the C++ kernel and 600 functions defined in the script library. \section{Basic design} \textsc{Yacas} consists of a ``core engine" (kernel), which is an interpreter for the \textsc{Yacas} scripting language, and a library of script code. The \textsc{Yacas} engine has been implemented in a subset of C++ which is supported by almost all C++ compilers. The design goals for \textsc{Yacas} core engine are: portability, self-containment (no dependence on extra libraries or packages), ease of implementing algorithms, code transparency, and flexibility. The \textsc{Yacas} system as a whole falls into the ``prototype/hacker" rather than into the ``axiom/algebraic" category, according to the terminology of Fateman \cite{F90}. There are relatively few specific design decisions related to mathematics, but instead the emphasis is made on extensibility. The kernel offers sufficiently rich but basic functionality through a limited number of core functions. This core functionality includes substitutions and rewriting of symbolic expression trees, an infix syntax parser, and arbitrary precision numerics. The kernel does not contain any definitions of symbolic mathematical operations and tries to be as general and free as possible of predefined notions or policies in the domain of symbolic computation. The plugin inter-operability mechanism allows to extend the \textsc{Yacas} kernel or to use external libraries, e.g.~GUI toolkits or implementations of special-purpose algorithms. A simple C++ API is provided for writing ``stubs'' that make external functions appear in \textsc{Yacas} as new core functions. Plugins are on the same footing as the \textsc{Yacas} kernel and can in principle manipulate all \textsc{Yacas} internal structures. Plugins can be compiled either statically or dynamically as shared libraries to be loaded at runtime from \textsc{Yacas} scripts. % The script library contains declarations of transformation rules and of function syntax (prefix, infix etc.). The intention is that almost all symbolic manipulation algorithms and definitions of mathematical functions should be held in the script library and not in the kernel. %The only exception so far is for a very small number of mathematical or utility functions that are frequently used; they are compiled into the core for speed. For example, the mathematical operator ``\texttt{+}" is an infix operator defined in the library scripts. To the kernel, this operator is on the same footing as any other function defined by the user and can be redefined. The \textsc{Yacas} kernel itself does not store any properties for this operator. Instead it relies entirely on the script library to provide transformation rules for manipulating expressions involving the operator ``\texttt{+}". In this way, the kernel does not need to anticipate all possible meanings of the operator ``\texttt{+}" that users might need in their calculations. \section{Advantages of \textsc{Yacas}} The ``policy-free" kernel design means that \textsc{Yacas} is highly configurable through its scripting language. It is possible to create an entirely different symbolic manipulation engine based on the same kernel, with different syntax and different naming conventions, by loading another script library. An example of the flexibility of the \textsc{Yacas} system is a sample script \texttt{wordproblems.ys}. It contains a set of rule definitions that make \textsc{Yacas} recognize simple English sentences, e.g.~``Tom has 3 chairs" or ``Jane gave an apple to Jill", as valid \textsc{Yacas} expressions. \textsc{Yacas} can then ``evaluate" these sentences to \texttt{True} or \texttt{False} according to the semantics of the described situation. This example illustrates a major advantage of \textsc{Yacas}---the flexibility of its syntax. Although \textsc{Yacas} works internally as a LISP-style interpreter, the script language has a C-like grammar. Infix operators defined in the script library or by the user may contain non-alphabetic characters such as ``\texttt{=}" or ``\verb|#|". This means that the user works with a comfortable and adjustable infix syntax, rather than a LISP-style syntax. The user can introduce such syntactic conventions as are most convenient for a given problem. For example, algebraic expressions can be entered in the familiar infix form such as % \begin{quote}\small\begin{verbatim} (x+1)^2 - (y-2*z)/(y+3) + Sin(x*Pi/2) \end{verbatim}\end{quote} % The same syntactic flexibility is available for defining transformation rules. Suppose the user needs to reorder expressions containing non-commutative operators of quantum theory. It takes about 20 rules to define an infix operation ``\texttt{**}" to express non-commutative multiplication with the appropriate commutation relations and to automatically reorder all expressions involving both non-commutative and commutative factors. Thanks to the \textsc{Yacas} parser, the rules for the new operator can be written in a simple and readable form. Once the operator ``\texttt{**}" is defined, the rules that express distributivity of this operation with respect to addition may look like this: \begin{quote}\small\begin{verbatim} 15 # (_x + _y) ** _z <-- x ** z + y ** z; 15 # _z ** (_x + _y) <-- z ** x + z ** y; \end{verbatim}\end{quote} Here, ``\verb|15 #|" is a specification of the rule precedence, ``\verb|_x|" denotes a pattern-matching variable \texttt{x} and the expression to the right of ``\texttt{<--}" is to be substituted instead of a matched expression on the left hand side. Rule-based and functional programming can be freely combined with procedural programming style when the latter is more appropriate for reasons of efficiency or simplicity. Standard patterns of procedural programming, such as subroutines that return values, with code blocks and temporary local variables, the familiar \texttt{if} / \texttt{else} construct and \texttt{For()}, \texttt{ForEach()} loop functions are defined in the script library for the convenience of users. The \textsc{Yacas} interpreter is sufficiently powerful to define these functions in the script library itself rather than in the kernel. This power is fully given to the user, since the library scrips are on the same footing as any user-defined code. Many library functions are intended mainly as tools available to a \textsc{Yacas} user to make algorithm implementation more comfortable. % more advantages? % \section{The \textsc{Yacas} kernel functionality} \textsc{Yacas} script is a functional language based on various ideas that seemed useful for an implementation of a CAS: list-based data structures, object properties, functional programming (\`{a} la LISP); term rewriting \cite{BN98} with pattern matching somewhat along the lines of \textsc{Mathematica}; user-defined infix operators \'{a} la PROLOG; delayed evaluation of expressions; and arbitrary precision arithmetic. Garbage collection is implemented through reference counting. The kernel provides three basic data types: numbers, strings, and atoms and two container types: list and static array (for speed). Additional container or data types (``generic objects'') can be made available through C++ plugins. Atoms are implemented as strings that can be assigned values and evaluated. Boolean values are simply atoms \texttt{True} and \texttt{False}. Hash tables, stacks, and closures (pure functions) are implemented using nested lists. Kernel primitives are available for arbitrary precision arithmetic, string and list manipulation, control flow, defining transformation rules, and declaring function syntax. Expression trees are internally represented by nested lists. Expressions can be ``tagged" (assigned a ``property object" \`{a} la LISP). The interpreter engine recursively evaluates expression trees according to the transformation rules from the script library. Evaluation proceeds from the leaves of the tree upwards. The engine tries to apply all existing rules to each subexpression, rewriting leaves or branches of the expression tree, until no more rules apply. % This type of semantic matching has been implemented in the past (see, e.g., \cite{C86}). However, the \textsc{Yacas} language includes some advanced features to create a more flexible and powerful term rewriting system. Rules have predicates that determine whether a rule should be applied to an expression. Predicates can be any \textsc{Yacas} expressions that evaluate to the atoms \texttt{True} or \texttt{False} and are typically functions of pattern variables. All rules are assigned a precedence value (a positive integer) and rule matching is attempted in the order of precedence. (Thus \textsc{Yacas} provides somewhat better control over the automatic recursion than e.g.~the pattern-matching system of \textsc{Mathematica} which does not allow for rule precedence.) % example Using rule precedence and predicates, a recursive implementation of the integer factorial function may look like this: % \begin{quote}\small\begin{verbatim} 10 # Factorial(0) <-- 1; 20 # Factorial(n_IsInteger) _ (n>0) <-- n*Factorial(n-1); \end{verbatim}\end{quote} % The rules have precedence $10$ and $20$, therefore the first rule will be tried first and the recursion will stop when $n = 0$ is reached. New rules can be defined dynamically as a side-effect of evaluation. This means that there is no predefined ``ranking alphabet" of ``ground terms" (in the terminology of \cite{TATA99}). It is possible to define a ``rule closure" that defines rules depending on its arguments, or to erase rules. Thus, a (read-only) \textsc{Yacas} script library does not actually represent a fixed tree rewriting automaton; an implementation of machine learning is possible. %A \texttt{HoldArg()} primitive is provided to not evaluate certain arguments of certain functions before passing them on as parameters to these functions. The \texttt{Hold()} and \texttt{Eval()} primitives, similarly to LISP's \texttt{QUOTE} and \texttt{EVAL}, can be used to stop the recursive application of rules at a certain point and obtain an unevaluated expression, or to initiate evaluation of an expression which was previously held unevaluated. The Knuth-Bendix termination algorithm \cite{KB70} is not used because rules in \textsc{Yacas} are not an expression of mathematical equivalence but a programming technique. Termination is the responsibility of the user who has complete control over the order of rule application. \section{Current status} Currently, the script library implements basic algorithms of computer algebra: manipulation of polynomials and elementary functions, limits, derivatives and (basic) symbolic integration, solution of (simple) equations, and some special-purpose functions. (The primary sources of inspiration were the books \cite{K98}, \cite{GG99} and \cite{B86}.) The system is free (GNU GPL) software and comes with ample documentation to facilitate cooperative development. The main Internet site for \textsc{Yacas} is \texttt{http://www.xs4all.nl/\homedir apinkus/}. The main development platform is GNU/Linux, but \textsc{Yacas} runs also under various Unix flavors, Windows environments, Psion organizers (EPOC32), Ipaq PDAs running the Linux kernel, BeOS, and Mac OS X. Creating an executable for another platform (including embedded platforms) should not be difficult. In the future, \textsc{Yacas} is intended to grow into a general-purpose CAS as well as a repository and a testbed of algorithms. In our opinion, \textsc{Yacas} is a promising research tool for exploring symbolic computation. %%% End of main text \begin{thebibliography}{TATW99} \bibitem[ASU86]{ASU86} A. Aho, R. Sethi and J. Ullman, \emph{Compilers (Principles, Techniques and Tools)}, Addison-Wesley, 1986. \bibitem[B86]{B86} I. Bratko, \emph{Prolog (Programming for Artificial Intelligence)}, Addison-Wesley, 1986. \bibitem[BN98]{BN98} F. Baader and T. Nipkow, \emph{Term rewriting and all that}, Cambridge University Press, 1998. \bibitem[C86]{C86} G. Cooperman, \emph{A semantic matcher for computer algebra}, in Proceedings of the symposium on symbolic and algebraic computation (1986), Waterloo, Ontario, Canada (ACM Press, NY). \bibitem[F90]{F90} R. Fateman, \emph{On the design and construction of algebraic manipulation systems}, also published as: ACM Proceedings of the ISSAC-90, Tokyo, Japan. \bibitem[GG99]{GG99} J. von zur Gathen and J. Gerhard, \emph{Modern Computer Algebra}, Cambridge University Press, 1999. \bibitem[K98]{K98} D. E. Knuth, \emph{The Art of Computer Programming (Volume 2, Seminumerical Algorithms)}, Addison-Wesley, 1998. \bibitem[KB70]{KB70} D. E. Knuth and P. B. Bendix, \emph{Simple word problems in universal algebras}, in \emph{Computational problems in abstract algebra}, ed.~J. Leech, p.~263, Pergamon Press, 1970. %\bibitem[M98]{M98} See, for example, M. B. Monagan \emph{et al.}: \emph{Maple V programming guide,} Springer-Verlag, Berlin, 1998. \bibitem[TATA99]{TATA99} H. Comon, M. Dauchet, R. Gilleron, F. Jacquemard, D. Lugiez, S. Tison, and M. Tommasi, \emph{Tree Automata Techniques and Applications}, 1999, online book: {\small \verb|http://www.grappa.univ-lille3.fr/tata|} %\bibitem[W96]{W96} S. Wolfram, \emph{The Mathematica book}, Wolfram Media, Champain, 1996. \bibitem[WH89]{WH89} P. Winston and B. Horn, \emph{LISP}, Addison-Wesley, 1989. \end{thebibliography} \end{document} yacas-1.3.6/docs/stop.gif0000644000175000017500000000161612261607322015112 0ustar muammarmuammarGIF89a÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,s  Á‚& ¡Ã†.|H1@D‰ +R¼H°¡>ZìR`ÅdôhÒ!J‡)¾| s¥K…cž¤ùP§Lž5w&Ìi³¤H >>ä1#P¥#:)’£T=%ªÄUkQ˜Z4(1 ;yacas-1.3.6/docs/autocompleteraccess.js0000644000175000017500000001243212261607322020037 0ustar muammarmuammarvar prevOnLoadAutocompl = window.onload; window.onload = initPage; function initPage() { if (prevOnLoadAutocompl) prevOnLoadAutocompl(); if (document.getElementById("funcLookup")) { document.getElementById("funcLookup").onkeyup = searchSuggest; setTimeout('updateHints("")',100); } } var highlighted = null; var tip = null; function enterItem(id) { id = parseInt(id); var elem = document.getElementById(id); if (elem == highlighted) return; if (highlighted) { highlighted.style.backgroundColor = "#FFFFFF"; } highlighted = elem; if (tip) { document.getElementsByTagName("body")[0].removeChild(tip); } var exString = ""; if (hints[id+3] != "") { if (allowDemos) { exString = '

Examples

(clicking on one of the items below sends them to the Yacas calculation center on the left)
    '; var examples = hints[id+3].split(""); for (var i=0;i'+examples[i]+''; } exString = exString + "
"; } } tip = document.createElement("div"); tip.className = "autocompletertooltip"; tip.innerHTML = 'Function '+hints[id]+' — '+hints[id+2]+' more...' + '
' + '

Prototypes

'+hints[id+1] + exString; tip.style.position = "absolute"; var cursorPosition = [0, 0]; if (elem != null) { elem.style.backgroundColor = "#AAAAEE"; cursorPosition[0] += elem.offsetWidth + 16; } elem = document.getElementById("popups"); while (elem != null) { cursorPosition[0] += elem.offsetLeft; cursorPosition[1] += elem.offsetTop; elem = elem.offsetParent; } var left = cursorPosition[0]; var top = cursorPosition[1]; tip.style.left = left + "px"; tip.style.top = top + "px"; tip.style.visibility = "hidden"; tip.style.overflow = "hidden"; document.getElementsByTagName("body")[0].appendChild(tip); var viewportSize = getViewportSize(); if (left > viewportSize[0]-tip.offsetWidth) { left = viewportSize[0]-tip.offsetWidth; if (left < cursorPosition[0]+10-48) left = cursorPosition[0]+10-48; tip.style.left = left; } if (top > viewportSize[1]-tip.offsetHeight) { top = viewportSize[1]-tip.offsetHeight; tip.style.top = top; } tip.style.visibility = "visible"; } function searchSuggest() { var searchString = this.value; updateHints(searchString); } var allowDemos = true; function setAllowDemos(allow) { allowDemos = allow; } function updateHints(searchString) { var firstId = ""; var firstIdIndex = 100; if (tip) { document.getElementsByTagName("body")[0].removeChild(tip); } highlighted = null; tip = null; var popups = document.getElementById("popups"); popups.style.visibility = "hidden"; popups.innerHTML = ""; { var matches = new Array("","","","","","","",""); var lengths = new Array(0,0,0,0,0,0,0,0); var moreAvailable = 0; var maxMatches=1000;//15; // Most interesting functions, make sure people see these first so they have something interesting to click on var fronts = ":Div:N:Select:Factor:Taylor:D:Integrate:Simplify:Solve:Sum:Limit:DiagonalMatrix:ForEach:Pi:Plot2D:"; var lwr = searchString.toLowerCase(); for (var i=0;i'+hints[i]+'<\/div>'; var matchIndex = -1; if (hints[i].indexOf(searchString) == 0) { matchIndex = 1; } else if (hints[i].indexOf(searchString) > 0) { matchIndex = 2; } else if (hints[i].toLowerCase().indexOf(lwr) > -1) { matchIndex = 3; } if (matchIndex >= 0) { // Matches, and is one of the important functions? Then put at the beginning. if (fronts.indexOf(":"+hints[i]+":") > -1) { matchIndex = 0; } // If no example given then the function is probably less important, put at the end. if (exampleAvailable == false) matchIndex = matchIndex + 4; if (lengths[matchIndex] < maxMatches) { if (matches[matchIndex] == "") if (firstIdIndex > matchIndex) { firstIdIndex = matchIndex; firstId = ""+i; } lengths[matchIndex] = lengths[matchIndex] + 1; matches[matchIndex] = matches[matchIndex] + line; } else { moreAvailable = 1; } } } var totalmatch = ""; var totalLength = 0; for (var i=0;i... (more available, enter part of function name in input field above)<\/i><\/div>'; } popups.innerHTML = totalmatch; popups.style.visibility = "visible"; } } yacas-1.3.6/docs/Makefile.in0000644000175000017500000005221312435165364015512 0ustar muammarmuammar# Makefile.in generated by automake 1.14.1 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ noinst_PROGRAMS = riptestfromyart$(EXEEXT) autocompleter$(EXEEXT) subdir = docs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/mkinstalldirs $(top_srcdir)/depcomp README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = PROGRAMS = $(noinst_PROGRAMS) am_autocompleter_OBJECTS = autocompleter.$(OBJEXT) autocompleter_OBJECTS = $(am_autocompleter_OBJECTS) autocompleter_LDADD = $(LDADD) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = am_riptestfromyart_OBJECTS = riptestfromyart.$(OBJEXT) riptestfromyart_OBJECTS = $(am_riptestfromyart_OBJECTS) riptestfromyart_LDADD = $(LDADD) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CXXFLAGS) $(CXXFLAGS) AM_V_CXX = $(am__v_CXX_@AM_V@) am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) am__v_CXX_0 = @echo " CXX " $@; am__v_CXX_1 = CXXLD = $(CXX) CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) am__v_CXXLD_0 = @echo " CXXLD " $@; am__v_CXXLD_1 = SOURCES = $(autocompleter_SOURCES) $(riptestfromyart_SOURCES) DIST_SOURCES = $(autocompleter_SOURCES) $(riptestfromyart_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(htmldir)" DATA = $(html_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ BOOKS_HTML = @BOOKS_HTML@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_HTML = @INSTALL_HTML@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PDF_DOCS = @PDF_DOCS@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ YACAS_PLATFORM = @YACAS_PLATFORM@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ have_gzip = @have_gzip@ have_makeindex = @have_makeindex@ have_pdflatex = @have_pdflatex@ have_perl = @have_perl@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ scriptdir = @scriptdir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ riptestfromyart_SOURCES = riptestfromyart.cpp autocompleter_SOURCES = autocompleter.cpp # These files make up the home page. EXTRA_DIST = \ about.html basicindex.html \ consoleedit.html consoleview.html consoledescr.html credits.html faq.html \ gpl.html homepage.html links.html \ placeholder.html plain.html recent.html recentindex.html articles.html \ tabber.css tabber.js tutorials.html yacas.css yacas.html \ yacas.js datahub.js yacaslogo.png stop.gif journal.js \ cookie.js autocompleter.css \ tutorialtext1.html back-dark.gif back.gif back.texhtml \ $(YART_FILES) newtonconvergence.html newdesign.html \ range_control.html range_control.css range_control.js \ journaldescr.html \ downloads.html \ README autocompleteraccess.js examples-static.txt \ paper1.tex paper2.tex YART_FILES = newtonconvergence.yart html_DATA = yacaslogo.png all: all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu docs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list autocompleter$(EXEEXT): $(autocompleter_OBJECTS) $(autocompleter_DEPENDENCIES) $(EXTRA_autocompleter_DEPENDENCIES) @rm -f autocompleter$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(autocompleter_OBJECTS) $(autocompleter_LDADD) $(LIBS) riptestfromyart$(EXEEXT): $(riptestfromyart_OBJECTS) $(riptestfromyart_DEPENDENCIES) $(EXTRA_riptestfromyart_DEPENDENCIES) @rm -f riptestfromyart$(EXEEXT) $(AM_V_CXXLD)$(CXXLINK) $(riptestfromyart_OBJECTS) $(riptestfromyart_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/autocompleter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/riptestfromyart.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-htmlDATA: $(html_DATA) @$(NORMAL_INSTALL) @list='$(html_DATA)'; test -n "$(htmldir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(htmldir)'"; \ $(MKDIR_P) "$(DESTDIR)$(htmldir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(htmldir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(htmldir)" || exit $$?; \ done uninstall-htmlDATA: @$(NORMAL_UNINSTALL) @list='$(html_DATA)'; test -n "$(htmldir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(htmldir)'; $(am__uninstall_files_from_dir) ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-am TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-am CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-am cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(DATA) installdirs: for dir in "$(DESTDIR)$(htmldir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-htmlDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-htmlDATA .MAKE: install-am install-strip .PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ ctags-am distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-htmlDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-htmlDATA autocompleterarray.js: autocompleter examples-static.txt ../JavaYacas/hints.txt cd ../JavaYacas ; make hints.txt ; cd ../docs/ ./autocompleter ../JavaYacas/hints.txt autocompleterarray.js #check: riptestfromyart $(YART_FILES) # for file in $(YART_FILES) ; do echo "Running test code from $$file..." ; ./riptestfromyart $$file temp.yts ; ../src/yacas -pc --rootdir ../scripts temp.yts ; done # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: yacas-1.3.6/docs/datahub.js0000644000175000017500000000055512261607322015405 0ustar muammarmuammar function getDatahub() { var datahub = document.datahub; return datahub; } function alertUpgradeJava() { alert("Something seems to be wrong with Java support, the Yacas calculation center does not seem to be available. "+ "You might need to download a newer version of Java for your system from http://www.java.com/ (Java 1.5 is required)."); } yacas-1.3.6/docs/tabber.css0000644000175000017500000000477712307154244015423 0ustar muammarmuammar/* $Id: tabber.css,v 1.1 2007-07-21 09:01:44 ayalpinkus Exp $ */ /*-------------------------------------------------- REQUIRED to hide the non-active tab content. But do not hide them in the print stylesheet! --------------------------------------------------*/ .tabberlive .tabbertabhide { display:none; } /*-------------------------------------------------- .tabber = before the tabber interface is set up .tabberlive = after the tabber interface is set up --------------------------------------------------*/ .tabber { } .tabberlive { margin-top:1em; } .tabbertab { background-color:white; } .tabbernav { background-color:white; } /*-------------------------------------------------- ul.tabbernav = the tab navigation list li.tabberactive = the active tab --------------------------------------------------*/ ul.tabbernav { margin:0; padding: 3px 0; border-bottom: 1px solid #778; font: bold 12px Verdana, sans-serif; } ul.tabbernav li { list-style: none; margin: 0; display: inline; } ul.tabbernav li a { padding: 3px 0.5em; margin-left: 3px; border: 1px solid #778; border-bottom: none; background: #DDE; text-decoration: none; } ul.tabbernav li a:link { color: #448; } ul.tabbernav li a:visited { color: #667; } ul.tabbernav li a:hover { color: #000; background: #AAE; border-color: #227; } ul.tabbernav li.tabberactive a { background-color: #fff; border-bottom: 1px solid #fff; } ul.tabbernav li.tabberactive a:hover { color: #000; background: white; border-bottom: 1px solid white; } /*-------------------------------------------------- .tabbertab = the tab content Add style only after the tabber interface is set up (.tabberlive) --------------------------------------------------*/ .tabberlive .tabbertab { padding:5px; border:1px solid #aaa; border-top:0; /* If you don't want the tab size changing whenever a tab is changed you can set a fixed height */ /* height:550px; */ /* If you set a fix height set overflow to auto and you will get a scrollbar when necessary */ /* overflow:auto; */ } /* If desired, hide the heading since a heading is provided by the tab */ .tabberlive .tabbertab h2 { display:none; } .tabberlive .tabbertab h3 { display:none; } /* Example of using an ID to set different styles for the tabs on the page */ /* .tabberlive#tab1 { } .tabberlive#tab2 { } .tabberlive#tab2 .tabbertab { height:500px; overflow:auto; } */ yacas-1.3.6/docs/consoleedit.html0000644000175000017500000000752712300203057016632 0ustar muammarmuammar The Yacas computer algebra system
Find function:
yacas-1.3.6/docs/newdesign.html0000644000175000017500000003646412261607322016320 0ustar muammarmuammar

Big changes ahead for Yacas

Some of you may have noticed changes that have been made to the Yacas project recently. The structure and look of the web site has changed a lot, as have the contents of the downloadable version of Yacas. The sharp observer might even have noticed that the release discipline has changed too. Yacas had collected a lot of unnecessary weight over the years, and there was room for improvements to the ease of use of Yacas.

The original idea behind open-sourcing Yacas was always to get people to help extend it. My reasoning was that if I wanted such a system, other people were bound to also want it. Wouldn't it be great if all those people helped me extend Yacas, instead of them starting their own system? All I had to do is stop them from starting their own project and work on mine instead. They would thus extend Yacas, improve on it, making the system more valuable as a whole to every one else including me. So Yacas started life as an open-source project, and people did come to help.

In retrospect it is a wonder that people came to help at all! Consider the effort one has to take in order to be able to contribute to Yacas. First, one has to be able to use it, which means:

  • have an interest in math (1 percent of the population, say)
  • be comfortable using a Unix-style system (10 percent of the remaining population, say)
  • download Yacas and compile it yourself, and install it
  • learn a completely new programming language
  • after all of that, you are greeted with a blinking cursor, and you are supposed to think up calculation examples yourself. You have to do all this work, and after that the benefits are not clear, you have to think of what you want to calculate.
Now, that was just to use Yacas. Now, if you want to actually contribute, you have to:
  • get comfortable with using the complex command-line tools called cvs and ssh
  • get aqcuainted with the Yacas system
  • get an account at Sourceforge (will take a day to process)
  • get me to give you write permissions to the cvs repository (again another day of waiting)
People had to be really persistent, they had to really really want to help extend Yacas. It is a miracle people came to help at all.

User interface design to the rescue

User interface design is generally frowned upon in academia. It is not 'smart', does not require 'brains'. If you look at what equivalent projects work on they very rarely spend much time considering the interface to the user, the way the end user is going to communicate with the system. There is a command line, and you type in commands there. If you don't know a command, you look it up in a manual, or worse, the source code because the manual is non-existent or incomplete or not kept up to date. I have seen Google summer of code projects for competing software programs where they sollicited help from computer science students to design a user interface for them. This is akin to, say, asking a student of mathematics to become a cook in a one-star restaurant, tonight, or a photographer, or an artist painter, etcetera. No amount of smarts will allow you to do work instantly that requires skill and years of training. And user interface design is an art, a skill, and it requires knowledge and experience. You can not substitute smartness for that.

But we are not alone any more!

There are two big competing computer algebra systems that Yacas competes with, Axiom and Maxima. Axiom and Maxima have their roots in the seventies, in an era where artificial intelligence was the next big thing. Computers had to second-guess you. You typed in a problem, and the system presented you with the solution. People have come to think of computer algebra systems in that way, as huge databases of mathematical knowledge to query, a search engine of mathematics. That is what they mean when they say Yacas is less powerful than the other systems. People type in some calculation that Axiom and Maxima had entries for in their databases, and Yacas doesn't. These two systems have math knowledge databases that are more extensive than the database of knowledge in Yacas.

When I started Yacas back in 1998, there were no big open-source computer algebra systems. People tend to forget that now with Maxima and Axiom available in open-source form. But we used to be alone. We were this little rowing boat on a big ocean. Suddenly two huge titanic-sized ships named Axiom and Maxima came and floated next to us. Two huge ships faring next to us, and we are in the middle with our tiny little rowing boat named Yacas. These big ships suddenly showed up out of the blue!

The event of the arrival of two big competitors forced me to consider how to compete with them. Do we compete on their turf, or do we do something else? The two classic ways to compete are to compete on features (who has more features?), or to compete by providing something different. Maxima and Axiom have approximately 30 years under their belts. Hundreds of researchers have worked on it. They have both been commercial. Hundreds of man-years of work went in to them. Competing with them on their own turf might be a bad idea. Maxima is understood to be the most powerful system, but Axiom has another dream. Axioms dream is based on strong typing, and the promise of mathematically provable correct code as a consequence. Equally, Yacas will also have to find its niche, its area where it outshines the other systems, if it is to have a reason to exist.

Some other systems are focused on mathematical calculations of the brute-force kind. You have some simple boring repetitive task, and write a computer program specifically optimized for that calculation, and let the computer do the dull grunt work, because that is what computers are good at. This is not something Yacas will typically shine at, since clean code and maintainability are considered more important than raw performance in the Yacas project.

The thing Yacas development will focus on is ease of use. Ease of use is not something you can casually fake. If this is done right other systems can not easily copy it, because making a software program easy to use is hard work. You have to think about the computers people use, the software they have running on it, the operating system they run it on, the tasks they would typically want to perform, their level of knowledge of math and computer-related subjects, even the fonts they have installed. You want to make it as easy as possible for them to start using the system, preferably without having to install software. The web site and application have to be responsive. When they have the system running they should be able to do what they want to do without having to learn too much about the system. People will generally want to do a calculation, or learn some new mathematics. They don't want to learn Yacas-specific details per se. Using Yacas should be effortless in that they have to invest very little in order to start using it.

In a sense, ease of use has always been a focus for Yacas. I always wanted the system to be self-contained, easy to download, easy to install without external dependencies. Yacas was as self-contained as possible. It used its own numerics library, its own array and linked list classes, all so it would not have to depend on external libraries. After installation, the ideal was to only have to write a few lines of code to do complex calculations, in an easy to read programming language. Those are ease-of-use issues, and I have cared for them from the very inception of Yacas.

Javascript to the rescue

For the recent update of the web site I decided that we should use Javascript to make Yacas easier to use. Javascript is now supported by most browsers, it has been around for a long while, so almost every one has access to a computer with a browser with Javascript support. Javascript allows you to make dynamic web pages, where an application runs inside a web browser without needing a constant link to a web server to serve it pages. This causes the web page to feel much more responsive than if it had to get every page through a request to a server. The "on-line application" can be used immediately, without having to download or install anything, thereby removing one hurdle for people to start using the it. They can just run Yacas on-line, from any OS that has a Java and Javascript-capable browser. When entering the Yacas site, one is now one click away from actually using Yacas.

Javascript is used in combination with the Yacas Java applet to bring the on-line version of Yacas to life. One can now program on-line and run your program directly in the Java applet inside your browser, emulating the work-flow of an experienced user of Yacas. In addition, the Yacas web site now also offers an interactive tutorial using Javascript and Java to bring the examples to life. Also, there is a find utility written in Javascript which allows the user to find functions with accompanying descriptions and examples. The find utility allows the user to use the system without having to remember too much. Functions and their calling sequences can be looked up very quickly.

The Big Cleanup

For the long term one has to worry about the maintainability of a system, if the system is to survive over the long haul. Will it still be useful in a few years time? Will it still run on future systems? Will it be easy to maintain by future generations?

The development mailing lists of the two systems Maxima and Axiom are interesting reads. Essentially, you have the next generation of maintainers of these systems communicating with each other there. The original authors have generally moved to greener pastures (or retired?). You have to understand that these systems are huge, and mathematical algorithms are (or can be) highly non-trivial. Taking over maintenance of such a system is not trivial! These more mature systems now seem to have run in to the problem of succession, where the next generation has to take over and maintain the code that was sometimes developed three decades ago, when memory was at a premium and every byte counted and you would rather use a variable name with one letter, and rather not have comments in the code. Looking at these systems gives us a glance at what lies ahead in the future of Yacas (if it survives the next 30 years like these systems have, impressively).

I had the problem of maintainability and succession in small with the Yacas project. I was always willing to give cvs write access to Yacas, to people whose coding expertise I had not checked yet. This resulted in people adding non-trivial parts to Yacas, which was really great because it made the system do more. However, there were now parts of the code I didn't know intimately. Sometimes I didn't agree with the way it was implemented either. But now it was in the system. Leaving it in was easier than removing it. This reduced maintainability from my standpoint. It is easier to maintain code you wrote yourself than it is to write code written by some one else, in another programming language, in another coding style. Most of the people making contributions have now left, leaving me with the task of maintaining what they contributed. Maintenance of parts that I don't understand will cause me to slow down as I have to delve in to understanding that part.

Because the code became harder for me to maintain, I have decided to do a big cleanup. If I am going to commit to maintaining this system for the next 50 or so years, I should be allowed to decide on what I will be maintaining. I need to be quick, flexible, efficient. Yacas needs to grow, become more useful. That is not going to happen if I get slowed down in to trying to understand obscure code. I am in the process of removing things that we don't need. It is funny to see that I can remove enormous amounts of files and Yacas still does what it used to do! It still passes all the tests! Apparently we didn't need plugins. Apparently we didn't need an fltk-based user interface. The list goes on. Removing big parts will also make it easier for others to understand the system, and will hopefully make the succession problem less severe for Yacas in 50 years.

The policy for accepting contributions has changed also. I have become more strict. I now reserve the right to referree, review and edit everything that goes in to the Yacas branch that I maintain. Every one is free to maintain a different branch, or an addition to Yacas, but control over the branch that I maintain is going to rest with me.

Contributions are very welcome. If you have any suggestions for improvements, please don't hesitate to send an email! This is about making it easier for you (yes, you) after all. I can not promise that I can accommodate every wish, but feedback on how the system can be improved is much appreciated. Feedback is a contribution too. I am interested in the types of calculations you want to do, problems you experience while using Yacas either on-line or off-line, or even plain simple bugs or typos in the manual. Yacas will change some more in the near future, and it can improve a lot with your help. If you are a good writer or expert on a specific topic in mathematics, contributed articles are also very welcome.

Releases are now very frequent, with a new release being made a couple of times each week. The idea behind this is that since there are a lot of improvements in the system, user interface, web log, and documentation and such, it would be a pity if others would have to wait in order to be able to use the new and improved version. People don't have to download and install anything any more in order to be able to use Yacas on-line. People who visit the web site use the version that is on the web site at that moment. Updating that version frequently means that people other than me have instant access to the latest version also.

A final word

Big changes have been made recently to Yacas to improve its ease of use and maintainability. I hope you enjoy the changes I made. The plan is to step up the effort and make more improvements in the near future. So watch this space!

Ayal

yacas-1.3.6/docs/yacaslogo.png0000644000175000017500000034155712262355100016133 0ustar muammarmuammar‰PNG  IHDR €[î¢bKGDÿÿÿ ½§“ pHYs  šœtIMEÞ(»´ – IDATxÚìÝk°lgyøç]ݽ÷9ºœs$ÎÑ’À Qp Dì)®LQEœ¨ Lœ¢R)¾Ä.‡2;b*O2N\qü!©JÕ!‰q*l&ÆæÊ*Lf"€ˆd#táb.çì^ë½V÷».Ý{!0Ñþý¨¦»W_öåì~õáý¯ÿß;’_Á÷–÷½=žúð£ñܧ]Ϭ›¸9E<-¥8›R\Q×qcDTuMޏ»®#–uÜ¿\ƃË:þ çøÂ~%>¿·ˆÏüõŸ{ýFvûÿ꺧^|4?÷ÌSçÏlê¸9¥xZ¤8›bµî6MÜ9ª¦ÉMDÜÝÔÍ2ß_×ùÁf_øÆ½ËÏÏé3ïø™û¬»ÀÿP„þ}â7bÖ4ñ¼Û?¯ø“ÏŽ¾2nÛ[Ä U©ªÚœö_(çˆÈM^ÝnšÍ¥n"Úð@,—ˈƒƒÈ^ˆ{¾ñP|âÎ/ÆÇŸýŒø`ÎqÇ_û[QûÍÇÕßzï ³\ÇóîþÔ…W\÷ý{/:qEuÛ|/ݪH)¥Hƒÿ*æ‘sŽÈ¹]ss“Wëo£ D}Q/s>x¬¹çчšOÜ÷Ń_óŒÅsÄ¿òæû¬»À÷,¡ï²ÿú›±¸çÞxÙU§ãÕO9?ºXÄùÅöïãùMo¸öšxÝþ^œ[Ì#f³6,ŠK÷¯’Çm¡uÛ@¨‹àÀº}à ââ2ââÅU€à‘ÇâûŒ[7ñöÿõÄ'ý O6?ýk7ȱ¼˜ãàBŽƒÇòß|°þ·M“ßþëÿûƒÖ]à{‚ÐÀwп³ßþH¼êÅ/ˆ7]m¼do© Tm«@Êys= UÙuy]¯®ËÆår{xàÑ ‘¿r|ôŽ;ã—ž÷œxïOÿ¼ñÀÿ¸þÎûoš}æ#¿êæž|Ó™óó—ÌöRšÍ#ªY‡v¬»Ñr(ÛÖ¡vÝ-[êåöðÀòbŽƒÇrþ£–ýòg/þÒõÏÙï»ÿþÖ]àÐÀwÀ§Þ³},^û’Æ[žzMܲ¿1ŸGÌ»°@5˜:Õµmè5 4›ëm# Ö£ ºëåêú ,#.´á‹<ñÀWãÓwÜ?ÿœ›ã]?û ÂÀÿ8Þò›fw~ì‘×>ó¶“o9unvË|¿Š^X`ª]`°îæÞu?0°jÈëÀÖê’WkrÛ¶Aã@mp  ´ávtÁÅGs|ó«ËOù΋?íÍ{ïzÏÿñ uø®x‚ý“·ÄË_z[ü O[÷÷#‹AX Šõ¦ÕÎß~ïl×èÍÕžQ0Õ6Ð5 ô®—ýðÀÅör¡[ðhĽÄ퟾3~æWÿC|È¿(ð½îÕ÷ÜËŸù¢“¿pÕSç·Î÷SÌæ)ªyDU­U›f”6Ko*ÖÚèZrÍ6 äA` 7¦`Èm` îŠÁAŽåA´c š¸øHއXÞþå;/þÌÿóß´îßUBOü›¸áÚsñ‹×œ×žØ´·Xµ TUDjghG\†ÿyp»D³9–‹Ñ]p  t-õຠ¬Gt—ƒMëÀ…‹>ñð£‘øZ¼ë«_7ÿÓ÷ø¾×üä;®¿áÔ¹ù/^yvöÚÅ~J³EZµ T©]wS¿Õeªa †# 6ÇrŽˆ&÷ý¶®i`<ª`t½Ì«&˜ƒ.8«Æ¶uààBŽ‹4ù[_«ßõð×ë7ÿ§·}ú |WÌü ¾=Ÿûp¤›oŠ7¾øñëל[/?i?b¾1›G¤öóö·=‹ˆjâ:µ×S·÷×›`ƒ1åœîö„ÚqFaøøðv{VîléÄ^ܲ·ˆ¿væT|í5¯Œßÿû÷þø½õwžžÎÝ´xãÍ/8ùëWžÝºw²J‹ý*æ{)fó*f‹³Ù*@0›¥¨ºK•VA‚Y{]¥Hiu¼J«ûUw¬eÐ=' î¯ÖÚâv±ø®Ÿ;¸ŽHEÓLê¯åUD5Ki¾WÝ2_¤¿vòtõµç¿òŠßÿo¿û¨pà;JhàÛðO.ÎßñÎz~¼éô©8qòDÄb/b¶ˆH‹ØÊÀÀ0,PED•6—T\O]ŠÇV[›ÃQ"Æ€áã½³nË€A±‘µ˜Ç‰óçâU<·=åL|ð3_ˆ‡ýË\^óÖsçÏݸxç3~ðÄ›NžšØ;‘b±—b¾H±n˜o‚i«ëj]ºÀ@*ņ¨A. Ð<è?¤·b(éõZ݆fótâÔ¹ù«Í·]~Õìƒ_ùüEë.ð#4ð8½íâe¯zEüÖ¹«ã/»,bo?b¶7 l ´»üÝuÙ.P^O]bxlplèUp§ÁD„4>¾D?pPU{‹xÖUgâu箎O~úsñ%ÀwÛ_ùÇç_ö¼—_þ[W\=ûÁý˪X짘ﭚªyŠÙ:,ÐÊàÀ––ÞíÑz:¸ýÇb}Ý…Ú¸@o!.Ú"80\œ‹57RDš¥˜-Ò³.;3{Ý•WÏ?yïç.Zw€ï¡KôÙEºêtüÄÿ¥ø•Ó§ẩ«QU˜EP6 ÌÒDÓ@ô[¶5 ôfßÔúpZWd§^B ÿ܈ˆÈÛ*(÷¾f³8uÕéx}Jñõ¿ðŠø½ßý¤¿à;ïçþÓMé²Ó³Ÿ¸íÇNýÊÉ+ggöN¶£« Àlž¢šGo AU6 ²a ß"°#01ºex 6!‚nM£ExpRq/~ænÂl§.;3{}Jñõø‘Ëï®O>æxB \‚þ÷cqóMñË/û¡xë•WÄl0Š`Ø*0‹UH`V„¦B)M· t·#ÆMe€ |JÚlB¥TîþGäC~¾œbòIå—›¥˜]m¼òÂÅ8{õ™øÀçîŠÆ_ðò—þšÅ¹§ïýò³èä[O\QÍ'ÊQí8‚YŠÙ,EUõƒÝH‚U›@Ñ6°­e *Æ ´!¬^ËÀ ) )úÁÞ¨‚‰ëq``âÙ«¯?;}~þÊåÅ8{ù™Ùî¿ëÀº ÞpE;Ž Ú‹ˆá8‚Þ(‚4n¨&F¬o—!‚©–ï=­ïlìôƒ›\À(WǺËè‰íu;²à¶ÜÄs®;ïùÜ€'Þëþá5‹ëŸ»ÿާãO¼iÿ²ªhHýÀ@¨¦B±³i`×Êz´–þ˜—îx9ž ZR1òe¢y`*0°eAoímR?(°>ž»ÐÁ³îûÂÁ—¿zÏu82¡ÖþMÜðâįŸ>'öö#ªmYlBqø8‚ÃF (˜xΠÒzòñá\íl@ÅTpàð1]@ ¼Ÿ›þuÓDÔMÄå—ÅKŸýŒxǧ>ù †~ò×ßpó NþúÉS³‹ý"00K1› FTiK``<| ¿rŽGô_&Vò´eO›F€-õò;jqI›æ–fØ´lÞ§?Š M„ÊæM±w²zé5ÏØ{ǽŸ»hÝޤò+X¹ö\üâéSqzoQ­Cío¨lH‘¶bpÿ QR{ÙöViâøæù«—§É·X?V~™Á¥ê.Uq»½?«"ªYÄ|±˜Gì-"NìÇé“ûñ‹þº€)§ÎÍñä©êô|Ñ"èÚ"R•"U±º¤í[þQë/ÓkítÓ@ÿU[×÷bŒÑ{ oÿ;1\wS¤õšº~~ûàðøæØæ5ÝïdÕ¼°ùÍæ)æ‹‹éôâD²îG&4ÿä-ñòkÎÆk÷÷"f“تt„=ÿ'8,0õ^)M¿}JÓ_²Ì¤èmFE‘EHS¯Ù"¨ŠA¨"fmp`1ØÛ‹×¾üÏÄËý•¥WÿÝs/¿òììµó½rAXoާõ¦út0`ˆCF Wé©÷Ù<§Tè=¶NXëh¹D–ã©of0Ø„¢x]­îíëªA€`–¢š·á½ôÚïÿ3—Yw€#9öã >õþ˜]>þÝù³qÝþ~ĬKÐ ´-³TìpÓì̵ówêììºÅ~óEŠjÞnzw# ªÔ“RTiz,Át` ¶¬ÁýWíznÚöÝØ€ÈÅ8‚(G´·×kvñüîM¬_×{Ï&"šáX‚4K°¹nšˆ¦É‘ëH³EÜòŒçŸ|ÛÝw\°î;û¦},^{ÃSãÖÞX‚õ‚è· |GéË!/Ýõœá肉³^»³e{ÅY²½ëá±v[µ\~2n½ëžx­qçÇyíUOß:[¬‚i²e hX/[G lž—&‡ÇôŸ5|lûŸ[n‡%0©xÏaË@QsRê/Õi¢i S0¼¬›^V­ {'«[¼ûÀº êX‡îøí˜½ä…ñ–ýýˆù|µá2I0Õ3Ý9J `Ûñ£Ž+HóëŒÇô'LLîNÅcÝÝi8® Æ›V© ´ù|uýÔkâ-o|f 8îþÎûoš=ó¶“o™ï§˜ÍcÝ(°YGÒfs<úýÛW¿4±µŸ.aµ>bL?; ËÞcÃq1wÊõ8m{¼øqÒ0xPm.Õ¬ `ÌW¿ÓÓççoyñëO[w€Žuhà·?¯zê5qËbQRqÝßµ:äÌþtÈýÃŽæ°ðÀQÛž=±)7hˆ(Î|é³]«AëÀl¶º}b?nùÂÝñ*98Þ>ó‘‡_uêÜì–Ù¼AÐ5 TÃõ¤ß2[Z†ëYÚ±NõlïŠy¼-2—¾Æ§©Öà­R ›Ò …`u¬ü.öÓ-ü÷ë.°Ó± ¼øñ¦ý½U~êÆ GôvÍ:–`ÛSz¾ëô„=wëDï4ýݦò,ÛÁ™¯£±Ř‚ÙluìºkâM>rp¼Ýü“ošïWë±½À 8P®TÛ·íÓãZÿÚšžà÷>¼aÔa0[0h{iƒ‘"NŸŸYw€Žmhàcÿ>žýµñ’n,AÚ¸Ôw~zp¼üí÷ݸ8unþºÙ¼«Ð6 ô³Z«MññètIëoÿñÃ÷ðw<'Wy¼^vÇ·fŽ H—ô”õï%¥ÞïqÊX=ºØ¯^÷âן¶î“Žehàž{ãeû{qn6ëo\­¥£ÎŸ>|“ê —×åñòrØkòæ{=Jó@Þ±^çC~%©ÿŸ¬^p`óø¹G¿ÙXw€IÇ24pÕéxõºe`4– }Ro`ôQ<Þ€À¶o`Âh3)íÞPÊã×ä\ìqå‰Öò Ú¼c3­xï©É ÑU±±µ¿¯öуãå²ÓÕ«g‹´>¾ kõ¦Á¤Ýk鑦²ŒŽMïÀ÷êóhùeò¶×mëî®7Î;¿§#þw¤øOÈ:8° ó½dÝ&»ÐÀ'~#fO9?:›ÙÃ=ªÑ ­é;ôݤK<Û[¶îpÅ*\°íµQ„òð¥ióxlkw|ûÃð@DÄþ^üè_3?8þÖ{o˜]~ÕìG«YH£ÀQÚ±µD%¶.…yò5GÚ¤¼YÙ0°­m ç~º [góô[ÏÍ› Á tpXˆ`ýŸ³"8Йï¥}ñëO[w€‘chšxÞbçgU#{ò$ÿ]»áßöh‚K||¢5`k-öÔcÅÆÙ2'Þ>ÊÇŽØñt£ Šãç›&žçãÇC®ãy³y:ŸŠv—´mÝ=ÒúxékÒ¶%tøÚ­ÓÖkgÞÞ6P†bÜ8ÐÌ[‚^»ÖÜ#WYA›Ãù¦ÉÖ]`䨅nÿT¼b1z¶lVåï‘`r—?v´ D/00|m¯e`$ˆ‰€A9ÒàÐ_I±18Üüòýñ ?8îþÔ…WT‹´©Í?ʇO_‰-Ë`ì8¶½­ †lÖ¼<±žæQÛ@×e0 äqËøëDŒ› Êu»k ¸„ðÀð¿ht_mÝFŽ]hàO>;^Ôk(wTz›êE¥F1 IDATÿQvÇ¿“ò·q¼~(Å0@Û7¨†ÏØrVí–&‡³WÇ‹|üàx¸îû÷^T ×݉f—ah)bw '—ÌØ¶ÄO/m[ÇäaK.½ëÍz8cÐ aåñs6ëè 0 ä­?YÝMƒdÜWϬ»Àȱ œ¾2n[Wd—¶Uü§Gu„@À®K>âx‚õebók[ÓÀ¨Å`ø=OØ›Çm>~p<œ¸¢ºmgHkb½+#ýe/O¾|GÑʦ»äÁkóhí+Щ@@ä© V.ÖÇÆ#QÖkIlo˜ZÂóúۗƈMT`üx5 ¬Ïø­‰y=¢ ]®…¹÷ü©õ;á®á؃r}-à ½E¶ìúOUŠHõA¶î=Ç*4ð´kã™UÕæ¶Õè¥Ïú ³m&BÞÞÐÄîf‰Ç» «&_ZH ×P‡´ ÄhkzdAáÊ+â™>‚ðävæ©óg¦Á<˜Þúã5wˆÑò\6 ä-Á‚2BP¶ ŒC1xßõºÖ BMŒÂÑL'ˆÉÁŽ@Ö 8±ýµSÍ[jFëïþå•uè™§¶nâæ²` rvþèxÄŽ¹Wž>ô¸/ygÃÀ88{ÇŽ,ˆØ¹6Úôþ®7¿Ê›}áÉ­©ãæ.3Ð_ räœ&Ö’)§È9"å)rZ]§hï÷בv³?MÈDa€ÁãSòûXßnv5ä6\GÍy²¥`Ûíñº=j˜ ZDŒÆ:lÖ߉ÿ¾$ë.Ðw¬B)âi‘&*®w¶µôÂ9&¦uÇãJ¹] Þ:Кqp iï 4;Æ4;ÆL Ê_]ñ£>ÍGžäënΧÆl6×ÓhÌÉôRš×1‚ÕSräkîöÑEA¹™ßlÙäoÆëÜd@3äÉpW…&b*èŠ1[Ç!äéÀÀêg´î=Ç+4âlw{¸‘“¶mÖ§âvU\G<±­Û‚ ÍÄí&Ž4® Ütj¶œÙÚ äm—<Þ ?Öä ¯›àɺð¶Ÿóœ#Úfîv­U)ÒzMn›ºu1mËMX`ÎÚ] 3XßßèÆôÛòîë&«c[ÇtAf*8Ðw0ÕDÐåPüPå<ú÷h·ÐÀ5[«ô»0ÀÔ¦}Eôƒ;ÂGh8jËA/·r?0Ðô[ÖÍå†U³#0l"h6-‡6Äö‘…k|áI¾î¶ŸóÍš°ièo¸§õ:© 4Qåˆ&­®SšX[ûý…5¶-M¹½ÑßÌï… š˜ÓÒL bjäAû>«Ë (P¬ëãFƒé6‚˜#31ƺ ôÌÝO¼eÃ;mm(ÎŽ-ÃM»UœýºÙÐ:Ú÷1º>J` ÉÛ7±¾¬6ø7ͽðÀ:@7•á&¢)Ϊm¶nŠmi$húÏi¶ñ e··iž6ÿMŽ\¥qóKÓ®ÕjýM± ô×Ýá‚šŽ´ì®¿§ØvfÑ0P¶ 4£ ÚÍÿè®{Á€áë'Æ ¾îÔíhÆa‚aÀ!O4d‹.pÇ*4P×qcw¦|Sž‰?=ÐFã º3^o¼³P`âÁÃÓcºÀÀ!ã zá€"0ÐäÜ ä‰ AÙ.P¶ 4ÍöqÍ–cðÁ„}áÉ­iâÆ.,ЯëÈUqÝm®§X?·[ãrÕoX/Ì)â’ǬÃySëßkhœÙßÛðß´:ž Œ:(ß§Ùˆ&ïfÃQ~Ÿƒöƒ©à@¶îÇ­i ÚlÚô7¸«®m  Ç Cå%GûÛ΂-fso»ÞÙ40 liXÿlíR3h(Ç4åÈ‚®u`¼ÇúµÍDH ÙRÕ]ü®‡ÿ>‚ð$—£Šb-µt¥9µ-åºYåhš©lHÑoy­»ãòõUî· lF Îú/Çô¹·¶M^òÄó‡M½ñ¹”ßËæ=¢Ÿã€Àà{›k%ë.0pÜššÞ†yY¥ß´ÓÖ—b#jHííhGô‚±¥‡¿8öRyG»@[‰=lh¦Zš<ØôÏýà@³ ô.ÛFäþkF­ßÇÄVã#OnM“›Íæy*6ÉÓ&,PÅê~7 &å¨rZ-Ý:Ü­¹Ý"›c"È‘WKö0‚ð¤÷…fÙ5 ¤hꈪÊÑT©îƤõZMM¤H9Gª6M©mÈííÕx‚T¬+ÛœQx RŽ!èy¢ià°À@3È娂©¦ÍFÔêÏåûáƒuûA?<°í×Ùº ô«ÐÀ~%>ååmÓ@]4 Ô›À@=Øó¯º¹¸S¶ ¤Ôo ØhÜã 6g‘vEÓ›÷ykëÀ&8Çr/p”pA=l2˜x]½#4ðÍoÅç}áÉí÷.?¿Ù^4u¬‚uD3K‘êÕH‚T§ÈíVnÇôšRÚ¬«íš›M¹SŠÿ¬º½õv3ž ¯ƒ›A¿i ŠÍþ&çAãÀt` =.è¿Ç¸‘ ßh°=d'Fäu@aÊ…‡ë.Ðs¬B{‹øÌÁAäe©®W³¶i 5©^=o5.{Ó0Ðé«]¤*ƒEx`b$A'n18{ Ý\ì©Íü~` ž äõx†z"0°{ÄÁöA½¥e`ËæUÞ[Äg|áÉm¶HŸ©—9×ËœfuZ­[uDªr¤&EÓkl)šrŽ&§ÕóºëÔ5´M‘W‚ˆU˜`´Èö×Ý\¬µ›à@ô›Áަb-ÞÈë€VhŠy¢U`†š-Á²¡`rÑȳE²î=ÕqúaÿúÏÆ½^ˆ{Š˦ß<°Þ¯û›å¹‰ˆ:V#ê\Ünï÷o¯×ÝþÃãƒÛ‡\ºYà«ÍþÜߨ¯7ÿõ!©†Ã½Ûyw@` è~‡Sš&îù׿÷ú“Û;~æ¾{kîi–]Ó@Þ4ÔÅšÔ[Ÿ-ßÞ®Ûñ:"×Ýs»Û›Jþf}°_!¦ºÜ\ÏÅ×êoÈo¾§‰QÅs 6þëâ½ê2DP´ äM»ÀxTA¿á`ø=wŒ­#aš¸çãï~Ⱥ ôÌÛü‡â§¯Œ—{mÓ@±L©Z5 ô»räœÚ3SÛ¹ÚyõÜH9Ö§¸v‘&Ë6g¾¦ñ¡m¹8ãµ;k¿;Ë?—gûç|ø‚zÛ†>´-`kãÀð5õøñmcµ/.ã>~p<<úP󉓧òÍ2¢ž¥HUDUåhRDJÝx‚Õh‚ˆ´ZosD•S4æܶ ´£aRäö:Kë–z“rDA.Ž Gär¿PŽØ4¾Lê"˜PoŒÃ1j'ØÕ2ÐÔ1•·.¼õA¶î#Ç.4pçãã×]¯Y.#–³v˜×˪mˆñ~ÿj?­6ŠªXåÚ5´^ݯÑ^oiÈÃÛy4[{êÒ MY]›ýmëÀðìÿ.0°ÃPç#5 Ôуvz4&asÙµyuÝ5ñA?8®yÆâƒË 9êý³eD3KQWmC@J±^P#·yÕ2ójmn^VOKm`«}m褉äW¬ÁSAa»ËúþT` Ǩ-`눂z3š ?F¡?:as¬?¶`¨'FÔ1w®»§ÏϬ»Àȱ äwùÏýp<ëÊËãÖyXoþM£ÆÕ9°ÝœÓfï½¹ŸÆA€Þœì44ýѽ3K‹3P›ò9ƒë®"»i¶(¨ë2,·Ž$h¦‚¡‚ºŽXÖ›ëå²½½\Ýošíÿ.ƯþËwÆðñƒãáÿ{ÿÃùûø²gí_^ÝZÍÓª5`½æ¦Abkú:µëçúØp]áš›ëo1v`húãr1¦ ôÆLŽ((Æ ÔýñÝÿðø0X0  ^—»p@Xv#aVá¼cÝ]^Ì¿ú_Þùu™ÇúŻϟ7îíEÌÚ–v+†ÍÖ¹k(ÎúOU•#刦mX6èj²ÛM®áx‚ØTGÓ 6]±}4A×.‡œ·ŒÈÓcÚÀÀT;@=kPo LÝîBÍ!£ .\ˆwûèÁñòèCÍ»Îæ7Î÷rT³.8P®™«¦ˆUÃÀªi Ö—h×ç”SïuëQÑ»R±€OÝÌýõ½[—GA¯¦QÐohÁ² 7ž .šŠÿ^`4¦  ”á±qã@7æ |nìXw—³u˜t,CO9~ä±xàÄ~œ›Ï"f³¶m xNÎy¶ T9¢Ê«9ÛUÚŒ(Xm^m‚«=«¼¾3È ¬o”-±%00SÐo%È›Áp\AÑ0°i (ÚÊ À`£ª<Þ»ÔÏÞnïï äˆN_öуãåò«ª<–XìçsÕ,GUEÔë…·MÌVשMQ­ÇävAÕ)è r±î¦6]°}ñY¯¹å:¼ äq3ÁÄH‚^p hØ&Flk(Ƭƒõ`LÁÔsºÇׯɻ×Ýœ¼²²î“fÇñ‡~yñ âiW\/ZR¿i ÛìŸÜ‡éF ª°›­›þãÇFã šA`bdAS¶ Lò m »'ÇÔö¢a`Ý2PŸWŽ%è®–툂CB=oû¿ÞÿÑGŽ—;>øpsó O>íÄÕ‹ÖMEc@¹ò–q«T¤¬6kðp¶Ü\ׇÌÔ~ô±øè¿þµø‡>vp<}ö£|åû^pâϸ¬º)ÍR;b  ZElÒVy}d|»hˆAÃ@ìXw{á«&úMƒÆ€Ñ±áãyÜ.°YPƒm8 Ø$ºû¹|l¹iÈÍîßùÁcÍG?þîoZw€­æÇù‡¿ãÎø¥sO‰—ÎgUÕOPn4UUDžu-«Æ&­‚M“#¥T4¬^ŸÖ³µÓÖ¯Ÿ3µÇMƒ Áºm ÷‚y(½ÀDx`Ô4PG,‡ SÏ\Kñåûã—|äàxûòg/þÒ•WÏ_ZÍs±æ¦ˆ(ÎøŸ¥¨rŽ\¥ÕÚœs¤&"U)¢mX­»mËÀºáåE¨Xs»5x}]4¼DoœAîß„š©Á U`²u lh+½ÑMÑ,°Ì½ Aò#ÿÑ}µuØéX‡ž÷œxï_Oï-â–ÙpæCÇÙõÏÙï7¿ºüôlo~KªªQp ò*0³Õh‚œ#R“V#dšÜŽ’éRäu>k³ŽO¶z¡¼%4°:ËF‚aX`ÝRÐŽivÚ†€uë@Ù ÐÝïí%G,'ÆÔGh¸?}î¦Å{ï´î;ÌŽóÿþD¾î||íºóñšùlèm3åÁ´ĸúzu;c Æ—^Mö`ì@Þ6ž`K`[X`= |MÙ00 ´·—õîFeX%hßó°³]ï¹7~ê]¿wøÈÁñö™<’OŸŸíô5ó×T³6 Ð ×íÈÍšœ¶Ž'ˆõ¦~ê¯×knoLA9Z ‰ÞHÞ¸‚Þýq0 ÆôF [ê<Q0 L«—Ñ ˆˆøú——?õûÿñ[Ö]`§ùqÿ<çæx׽ěó¸uÈÅ&3‹˜åMÓ@UŪ.;•±nHÅXÙ`ЫÆnÿok!÷¿‡QРÛèʇÊqÃÑM7’`ªMàA]>–à‘ÇâögÜïòq""®½yï]=°|ól±è¯»ypÖ•"UyµÞ¶·×ël;&R^ç Vc Šip·\ˆóðëE´ ­Ær$A‡ š-­½ @7®`20°i¨'Ž5uÔºøXsûÙÖ]àP³ãþ øàÇ"_{6¾pÝùøñÙlµç4ÚäïnÇ´Oèmð7ý þM{@Úl$åþæÿ°m`Ô°ÞôÏý¦€¦ßP·¯¯w´ìM0 ,ë¢Q`98~ÄÀ@D仿õßÿf|ÁÇ ˆˆøì~$_yvþ…3çç?^ÍRê¶6m¹mèª6-¹‰bã?­î7Sí/ÅZ=Xmðok˜j(ØŒ0èep )ÇLŽ&([ÚÛË~` n› äˆüõ?\þÕOþæ·¬»À¡f~wÜw½èùñ'NìÅ-S# "¢7û:Áfª  LŒ)Ø„Ò&$К~‹Àzó¿>lDÁáÇêbLÁTx`9lXNÚK½\}χ¹xïúõߎä¯ (}ù΋w=ãù'þÄ|¯ºe=¢`ÇÚ»MÐ=Öá.Ð ´‚¦l „¶¦Ftkh®w*h¶4 ä.0Õ4° ÃÖe"XÆ‘ÇÔù]ÿïo}˺ Éܯ`å«_7ŸÜ?_UqºÛ»*Ïnmf«MòYµMPUíX‚ª?¢ ¢UÑŽ*˜–»ÿ/Óã zc&Ç”aƒéÁ¡Mƒà@/0°Ü´ ´×MŽCÏv­›ø£Ç.Ä›ýuSþzýæÅ~úó©šîÖ¿. 0Ë9r^$ÈM;š êÖÜÔŽ„ÉíX‚r½Zxóèfn«bʵ·?!÷C9÷Û ŠqÍQšêòöôˆ‚ºlXFq5¦àÍ.Ñ4ùËÖ]àÈ4 ´~÷“ñЙSñµóçâUUµ:–"F³¯û5ÙýMýfP‰½>‹uâ’‡ ù(ã ¦¯‡# ꣦BƒÑ]`à`Ð2Ð}¿‡ùâÝñSïýP|Ø_0å®O>öÐÉÓÕ×N›¿*ÍÒh4L.šºÍüuãÀzmN£¦h&F4ýÀUn†# †!€h7þ7­åýîñf8²  ôG´á€¢} 6 ÔƒÀ@{Õ2×?ãaüïËŸºãC[w€#(¼æ•ñû<·í-âYÝ™«m [/S y (ïÃ[Âu½½1`8Æ >$0н߲xŸ©vÇX.ã}g¯ŽŸ¾ýSþ®€ížÿÊ+~ÿàÑ|Ûl‘ž•ª´YvsÚ\—bä@¯ Ù\ÂÍ`|Ì`,A3 ŒF#а@³e¤Áðv"hêÁe(Íõ2¿ïŠ«g?}÷üaG–ü ú~ìÏÇù|^Ü~æT\òDÄþ"b±ˆXÌ#泈Y{)GTÃm;v9®`ʺ»ý¿õ™µeø Š®á¨‚¦?®`0È› A(åH‚aÓÀ:8Ðê#šx×=që‡>÷ù‹ó?ýÏWœ¿áyû·_vªº~q¢Šù^ŠÙ<ÅlQÍST³ˆT¥ÕZ[­n§b<ÌjÍM›QSÿ•ËÓëo7v &Öߌ(ÈÝØ‚aCA1²`<(]@  ä"0PO.!0süáƒwÜzçDZî—DÓÀÀg¾Ÿ»:>yÕéxý,m~?»F”è:¾Z IDAT•×M9²`x6ëpdÀ¶¦¼}4Á°m ¨ ÇêA;AX‡&Fµa GüáWâÇÞÿÑÐ1ÉW>ñá+¯žò²3³×§³õÎo¿½i°iŸVå†ëcy0ª Œ%¶ 4y3n`3’ Ô›1›Çбuÿöz4A=ta‚e¿q k¸ÄÀÀÁ7î]þØg>úˆu¸dB>ý¹øRJñõë¯WöÎZÝ1Ž )ꯛÁý|„±“çAh îÖc cÖ€á±r A(G ÇÔG DD|ê³ñ7?ü»ñNEÀ¥¸÷s¿”R|ýôùù+‹ÌÀfÓ<ƒ¹7®`8– õCƒ°@Ù 0ð*G lƒà@Ø5–`h¯s·¦×9êup`"¨ÛÇãˆëî—ï¼ð7?÷_µî‹ÐÀáñ{.ÆÙªŠÛÖíÖyÜ8ДíÃÍÿ‰3Y{íEã@]„êb´@=h8rÓ@=>6lÊ‘m€ ûÙŽ¢nâŸ]{.þÞíÎu‡ø‘Ëoy1ÎV³¸­8°^{×MMwcÚAÓ'ƒÐ@3x¼)F ôz¯ËëQ/«u¸Ûüï]( ;04] AÓtm]x`ýóAÓävúÜüïÝ}Ç@Àã"4°Åï~2âê3ñÜÄsNîÇ-Ýñ.0P†¦ÚzcòŽ6²9`ðxÝlSÐ îOèhÆmÃÛu½ú>Žºqõзâ]÷=o|çŒÚ_ðxÜõÉÇâò3³äÏYì§["Ò:,m( Èý1½ãS# †áÁíሂ2(0OP4 a¼+8P£ºëå¸à¨ûV󮇍߸ûÿ÷·¬»Àã&4°ÃçîŠæºóñž”â¥{‹xzDŒG4!fûñm—28°-,PFôÆÔ eƒ@XBËq`à¨í^ˆßyðkñßÿÑ8ðW|;î¿ë 9}~þž”⥳Ezz¤(Fäé1m` (ÃÃà@Ý=7ƒ½Ö˜MP`½׃ÖAX –m»Àrº] )^—°î^|,ÿη¾VÿÅÏ|äë.ðm8Äç¾Íù³ñî”⇋xúz4AÓoÈÍ m`Ð,P‚yjìÀDx`"¨·Œ(ØÖ4°ÜØvé¾ÿ£j¯úíÄ£þZ€'Âý_r B<à; ”Å”F$î]G´;=—©Æ€‹$Øò¯”`@1Ólº¿=¾xE㒸Ñ–ÉIа™uUä­K¢2‘¹¨‚Ø['‘·-JbÒ㘎X ŽíÖ-tÞ¼hßðÂ}åi=w…B!„B!„B±G‘ÓÀ ñêÓY;2ÄG[-În60a ßu ‰+0¹©{ Ùˆr.¾ë€ï8Pâ2ŽmþÚ)bÇÛ\>:ÆÛ>w5é !æǾxmsØ|´Ñ2g‡ c‚‚†‹*ç6Pˆ)ÈGÄäž»Î]ÀvŸÁ•néë\,Át]Ò¯ŽÚöòö¨}Û-Wo×sW!„B!„B!„{‰f˜“_ÀÉkVñá…#&ñaèDaà2·3⪫à‰À‹$è#È ìôÏaç(·<º‰w^#×ëŠ !æ:G¼`ÁÉKW‡nǘÀ L‹*Hg¾`À=o'Qà‰ØÍg.Àøh|ËÖÑ;ïºq§ž»B!„B!„B!„Ø«H4°8oáýqöšU\4<ÄÑÆ8Ñ€1‰``’Â_0àO±-®Û G.£cÜþè&>xèZ.ÿäeD»óY×\Ìš»8êÀý8,ŠYgà@cXa «¢ˆƒ€ Šˆ-<˜D-lêtØÒ‰ø©µÜûðcÜÓjrÇo¾‹GuW ±÷9ÿ_÷_3¾ËµlMã°8b1ˆa…ÁÕã8æ ,AÛx0±ìßEvKÜá§À½O=Ú¹'lš;.yçÆ=Z_xÎÒpËƒí³—®n\Ô2G“Èéû¯â‚‘aNLË»2ž ÍYf§‹30ªÕÿ–]£|ç‘M|lÝA\=±ÀÍWÆ1ÇÜr§<ëpNXº˜õ­&kƒÙóK;Ú2N ^¬B" ÓvÚmì®1zj7ßu7~(_·–[ßðÔ¹&Ä òޫ׆6â˜o;eÿ#Z' / Ö7Zf­ 0i§{æÁa½ùI¶±uõ9²$¢6DkÛ£ñC»¶Å7o¼¯}ÓªC›_·pëgß¶qÆëñ ÏYn~ }úÒÕáÍáàÄn÷Ì-DxÏÙÌ¢'ÜÊoß­‡.Øöhü­£­<¸yµÄB!„B!„B!„˜M$ØKœ{ÇFç³ÁÀÊÙ> ›GG¹, ¹øâ/𣩾ÿ¿¿Bó¡G9iŸ¥œ¹|g4›¬n6² þ –<Ä^Ì‚/ˆ=á@:OÄ´Û0:£cl|ü)®zjW,_Æ ç½›¶î0!¦Îï_sPó©G;'-Xœ¹pŸðŒ°aVMÓuFq–þEµ@©mW8àDÖDKÜqóNÛÒ³´ÇìÆOFWíÚ_±pŸà†KßµiÆëñϵäØ8¶ç6‡‚ ÆÌç®es{,¾,ÌÅßû¶éB!„B!„B!Ä\@¢½ÌyhnÝÎICCœ9Ôâ «÷Öw[Ø86ÎUcc\±t17|ò²©w¶ßøŽcÎÝo†Z¬l6 ±@YäB‰CB•h ë6"O8ÐuhÃxÆÇ€`ç(›7má²(æâ·ÿ1ê„b\øÅµÇÚØž»decC£eV†MC¦vþ‰«€©„o‹.Î5Ä œxÀb#²®‘uΉx j[:ã–ö˜¥=j7oß]Çöâ/}hËŒ×ãž³´¹k{|R£eÎl´ÌÆìÅç®ecgÜ^Õ·WŒ,nøî¥[%rB!„B!„B!ÄœB¢Yä¼ ÎÖÿ‘Mœ²b_Nh5X¬¡ëb㘇Æ;ܼå nÚ_nNüÀ­×^ûmNáó¸à€ý8±ÕĤb qÈG.dijø.õ˜D0`=Á€ï6Ð $õØwˆ:Õâθ¥=jíÖÍï°yÄı=fëÆè”Eû†'„M³Þ¬53ðܵ`mÌCQÛÞüôÑMKW‡_s«â„B!„B!„B1—‘h`Žñº_aÍx›£/â0ë,h`°*Ùå bàÁdÝ& [ üÔ½۟æžV“;>ýEÝc¹ík„×ßÈÙ'ÏEkVqôP  h¤b D,P649qÈ8 ĽyUDA7ª wܼí Úo'âqع 6?Îí·ÞÅ\Çåïú°Äb~sÑu‡wݸóìÃÖ\´dextc( #(sÈÕc›™gÎmÀv@n²®ŽG6qÈ9D$ÂD<ÐNÄItÁø.ËöÇ;·?r×ø÷[׺üÊ?ݲGëñ g.YµíQC ƒÃ0¬Ãr †&yîZ8È@`!6És×Â&,[0ü˽c;â{¦¹ã¦+¶=ª»N!„B!„B!„uB¢QÊ_\ÄÉ/Zχ׮ḡ!h6sb€n'cß»(3:™LzYDA™Û@ê4™w²âñdKc vÁ£›¹åö»xç¥ÿÎõº¢b>ræ¬<ù°F>¼ÏšÆq!CØ0 'zÎÆôª²ñê.©Ë€ÍÖá¼Ã€Í 21N(`Á@”x‚¶¥Ó&‰-ˆßiÙ¶¹sË#w¿óWmW=B!„B!„B!„ØH4 2\÷Öî·’®ZÁÙÃC˜VÓ¹ ˜$ó“›òw’Í-{ÂâÞ:ëE¤ÂT4º D¹¹/èF¤S»ç:06»FaÇ.ìæ'¸üñ'yÛ_þ3é ‹ùÀ›.9`í’•.^žÝ2&lç.˜¤›¬KH™ÃùH‚Þ:kØfÅ·Ôi UP˜w¬si§Âœã@â:гŒïŒíÓOD—ïx2zÛ7þé)Õc!„B!„B!„Bˆ$T€»oÀ¬;˜ó^ø<¾´jÇ-Á A£aL2ÑHîš’Ÿ›d^¶œ{Ýí´ÌÅø¹êÉè¢F!¿=¿œŒ¢CÌp‹£[MÞ°l Oœu?üÖMºÞb0yß·1+nž·îy#_Z¼"<®5˜æP@£eaÓ†N@†† ã„a2 Ƹõq¯ƒt]eîcr¯]Ýõ–½ÊÜÝ77ã9—˜ì³!€ 4¦Ñ Žn4ÍF–O{Ú¢þø{»tÁ…B!„B!„B!f‰ù^V?ã >ÿüc¹`é†G†¡Ù‚° ¦IO(à òbLo2Þ¼lò¶¹ŽÈÞj<áùí™QÒ¾ÀÀëxl6^½’Ówîbýòe|ýŽ{Ù¡+/‰³Þ·rõʃšŸ?ô¹ÃŒ, ‡[ÆfËÐhºNžPÀ„¸yЦT0`|Á€×០‚œP ¤‘™øƒœˆœpÀ«ôݺŸˆ†^²²qz{—]¿pŸðëÝ3®z,„B!„B!„B±›H40Ïù§sÒé§ðÕ•ûòÜ  5a+'¨ $½üéÜwðçeùu¹QËž` c™nr‰¦¸¾+6 +8h5yæ>ËØ°r_~tûÝüDw€^ûg«O:æä…_]´oøÜ¡Í!C£åœ‚†!슡€/¨pÈ,êgî5Ùmtç©h ‘ d*¶_q=á@¾²{u&4„MóÌË ‹÷müèÑ»ÇU…B!„B!„B!v‰æ)w^Ùg)¿ûk¯â³K—°lxØE©X ,ŠÀwM‰ÓY*§L6wPÝÕ¦kin2 ì¾ØêMþ¿¯2 Y²ÏRÎ1†'ù¾ÿ½é~õä½ß8Ø,Xþîú_YòÙ‘Åá²ÖHEÐtB°adbßaÀ øY>‚(,ã‹è‰Ò i •:77Æ{e çœF!„!K, Ï1†'ŸýÒ…ß¿ÿG£º!„B!„B!„B!¦Dó¿ýÍuóW'=Ÿ÷-^D84”‹"È» „8‘@è‰ÊDÆ”» ¤ËPtðþ.¦×ihŒßûv‚ó³†Òü¯ áûqÚØ8+ö]ÆuwßO¬;CÔ‰WpUså!­¿:üù#ï^„Ía?Š ‰# ah‚¬p $pnžÛ@•Ë@àÅ $¢žŒË@Î)À䆬p UP2/ Jövß.]Ý8­3Ί…ËÂë6ÝßV=B!„B!„B!„˜" Ì3þái>û(.9äÎ]”Ä- G‰"0E§ $’ »ì‹Ê\(öv_ô6f²Âèé úëÖ¥SaÇdžD¬·1G+ï¾OÂQ6üɪæG ]²üÀæ¹C Ó8O0&.9±@๠q€çòá 0`ºqÆséº ødÅØ‰œ,XoÉTíœó@"\BÖ[Ë‘KW7®ÜtŸ„B!„B!„B!„SA¢yħ>ÌâãŸÍ5G<ƒÓ,€f L^0‰$È; äܺS>‚€¢Û@F(à 0eä¹7d—|‘€¯°€µN¶\d`€‘!Ž6†­^Á?¾ŸqÝ)b.óš¬^|ðs†¯Y½®uÚÐˆÉ HDùH‚D@Р'0ùøÏ•#0]w Ñ=!OW<Ô*S1'·G¾òÛtímË®K…@yËCsÈm /Z¼¢qŦûÛªÇB!„B!„B!„“D¢yÂ?ü1ÍãŸÍ5Ï8ˆ/F_Á@‰X ï*P&€@ÅkÈŠr"lÏú<‹©2è½ðE¶ç8`moO«É!Æðó«–sÉ=?‘〘›lø“U̓Ÿ3|ÍŠƒš/n4†œ` è è‰Bç,$" ¡ß ðêšÉ¸ |±%Ž!¦[Ÿû üWÙ…‡‚µÆ«ËÆ«¯Þ²WÏÓO›æcøùÅ+—lþ‰„B!„B!„B!&ƒDó€¿ý€‹$8✶`˜|AF0€„i¼Y¡@©5€)qÈÙ ä# (û¨âç›tÔ±×Ño“ý âÛsÀŸ§Û|AÍŠšM‰"Ž\µœ+ï}PÂ1·xõ]$Áêu­ÓZ#Aâ. LV($H„N÷c<±€_CsÂK1Gh¨›K®äü7¿óŒ@£9 Á@×Q ý„iŠÊv ’Züånx:ÎR gN@`ÀZL$#Ž%NŒ¬1%¶nŸ ÆY²§so ˆCcCh4 CÔ„¡Œ@§Ãù7ÞÂÀÇu‰¹À÷¯Ü~þIoXv~kÄd¹‚ÀôDÏ€~ɨýÒo¶ÅÊl€À \”Mê³Iêp²ÎŸ¬›k0k ¬«ûÖØdÁX‹‰I^;„‰­@É~!˜Ø»Mê²m@Ü„F­CÔ Î¿ï»T…B!„{ƒ5ÀQÀχáDký’_Af‚f2Í$OãÄzó‡€w÷ã:„B1w08QÀáÀÀ3KÚ39h8õ¬nÍàgF8!£ßy8i{Ü Ü<¦K-ÄÞ}°ˆåŸ>ÌI§ŸÌµKÓl Iµê©F, „¦'úÝf÷n¥®Ë€-º d¦œó@äÖÙâ¨ç2Ŷç6ÐNd»N‘ï4à9´Û½ùx2¥Ž£°+qxjí»ïç¯ù&7èN³ÉkÿlõIÏ:yáµ#‹ƒfs( $ñ O0Ä“ …¤Õ³ìu/Àv—-Î9 uè¹ 8÷€RÇÈÍ3îQ²ûNn[Ôñ],q'Y×q.QÛ¹ tÒù8tÆcÚc–ñQËøÎ˜]Ûâö¦ûÛ¿xû ;T…B!„3ÁràyÀ³è‰Ž– ð9wp?ÞßL?îþ7RP!„{–}€ŸŽMæÇàD çÁ¹ïÀ‰îînnîÀ9!f‰”¿|/«Ï<•[ö]ÆÃä‚Ôa ;¥ýÜÌÌÝ>S‰&ðʼnpÀu"B'*ðb :[QÐ øâT4DŒŽ¹iç.xz'<µ‡ï¾Ÿã®¿‘º£ÄlpÖûV®>öÔE·,XÐs0„©X ôz‚À˜Ür±› Á€-‰(ÈŤb›ˆb Ñ© 'ðqN<Ƥ¯;Ù¨_<à" H¶;o%Ó®˜±–]Û¢‡7Þ×>î®wª !„B!¦Â0îÇùõÀ É|Š%Ã#8ñÀÿ~ü¸÷(„BL“FÒþxA2¬b)ãD·'m‘ßOÚ&Bˆi"ÑÀr÷ ˜(â?XÍ©#  ‘¦ßùI4i$A:Ÿ’``7n¨r*Hݪ„QïµMG!lj£@ä¹ $Â_4EN$ЙÀm`z׸ê±B!„§½w2N(ð|f6§w¾²xI2¥<‚ûÑþ¿€ïâD•BˆyÊÀiÀ/&íe*’c ðËÉDÒÞø!ðídú.ð¤ŠIˆrä40`\÷Ö~(·®XÎÒB,A7šÀdÅ…[a*îÓ‰(°Å˜‚̲õ" (8ÄžÃ@§ñ‰ã@Ç-w"ˆ:Ù˜‚v>¦ qÈ» ŒynOï„mO³uûÓó¹«yHw˜Ø¼é’Ö®:´uºJ…— IDATë¢åáÒÖ°KPM˜ Á@Ï]À”z dë®-Y¶Ý ‚r×‹íº Äqo¹à4Ft—sq6Ž Ž‡Nâ,ÒÉ9”DDíÄi`<™’˜‚ñ$¦`t{¼uôéø˜[®Þ®z,„B!Äüep*ð*àåÀɬ°øOà[Àõ¸Ñ€!„d~8ø9Ô77[Xà¿k¯7ã*!Š`°Øo%]º„¥­¦™ìDÉ•Î8 †þ‚Cµˆ`šÿ®u‡ W}”)Yo<·t¤qñ#ºÛü¯ÉMAÞqÀ{&#•S·V†‡X:2ÄGuw‰½Å’•Ž, –6ši鎞wî$£ìMÆU Ÿ`Àw(«»ãî<û®Êç…Wï(|Fn{òÜÉ×cƒéÖўÀI–³ë1¹÷ºe½Èç6`h4 Ía³´9lTç_#ŒSçét9Å!~\óút­.㬱Ø2ÇïÀr]*!ŠÀ€«“gÐç H00›,^ |ç>ððïÀùÀ:P;Hí !„UÀ8‡û€âœ$˜= p,ð.àIäËÀïÏPñˆùŽDÄ_\ÄÉ«VpöP+‰%(è 3‰šfX,PöYÆ”¼¿¾¤7³»‹×yˆ§E0eï©ÙÈ‚0y&ÂfZ-Î>ùœ¬»LìiÎüƒ•'/^žÝh™D0à‰ºã¦Û©^. ( RIA!ª;û):ô>©b[W±ãÕK¿ÊçªwÙÁô=ÑÞû²uŸLLAWP‘ BCÐHÄ-sö/X z<¿x'Y#:ófÜ«BÌ6ç‡Õøøcຌ³Æ¯3÷ˆÁuZ !êÍbœPàÀcÀ?¯†T4söz|¸¸øs\Ä¢U…ÚAj Q'š8G£«€‡¿ž«b™³,ĹOýp/p;ð'ÀÏ£þS1‘¢i@¸ík„££ÜôÌC9nÁ4†’žÒh?– 4^Oa•Ë€Ù³·Kª_íFX/Š€ÒXY`±ÄI,ASÐI–Ý<%°™x‚Ò˜/¢ ÝvñãmQ0:»F]LÁŽðÔvnY0Ì Ÿ¼ŒHwœØ\tÝÁa{ÌÞ´êÐæq­‘€æPKqèŦ<– \00ñ?Ö[ÊFÐ *ÈD¤Ë±%ö¢ ºqþ<ê½öc lºìǤ¯;Þë\4A7¢ ÚÕ1ã£.¦`|§e×öè–ÖppÂw/ݪz<ø,ðš9— “?6…˜-à#j|Ÿ^¯K9k÷ÏÝÔcéfà `T—MˆÚ=gNNžó¯ÂêõçIœ ÁqNbz6 µƒÔb.²ðÛÉ´ZÅ1l®.Ç Q¥$æEƒE ×ßÈÙk×p\&– C@Öe`ÌÓoí·O>º d”r:º9cPàjÎÌóë’xc²Ž©ë@#t® G8îþ‡8[w›ØSÜuãγ÷YÓ8.lºÑñ¦ÔeÀsèVƒÉ zû™Ò0’ì^ùmÕÏ 3QõÍ›Šï3ó.žÍ1&[õM‰Ó€SŸºÎ!NlÑ ŽÛò`[õx~q06 çr!'f—ÿC½£É3A̯¢>–Ó+suÉ„¨ GàF„=ˆëT~  ûà„ W›€K€3€–ŠF¨¤vs€ãqVÞ‡ƒÄ à7q‡ÿˆ‹W U4bP‘h`¸õZÂ碡!h4\Y1’ Ì®€b'£Iʼn` Ñpó5«¸è¼ úGAÌ<ïùÚÁáaëG.j ÂFâ$ø÷¥éuŽCF$P]›LI×¾™Bퟤ»ˆ)îmr•/³-?Rò¯ߦj»w:&/<zS&Œ†+Ó¥«½ðœ¥ªÇ󇟟sÙýx#f¼§æçð×ÀCº”³Æ…5;Þ·êïe!æ4ÎJöZà\.í*–g1.*éJ`#îÇû— 'U¡vÚABì}^ |¸'X”˜m°YŽ| ÷»ÂG€g©XÄ þ‘%jÎµßæô5«8ºÙôÆ›g{'Ùo&x=Ñú‰˜H<0YBÕÞ%¨9§ðF*S>:9ȹ„¡[âè{ätÝub¦¹ãÛ;N_²2<:l'H‚üý™u Âe _?LŸºUæPí=2]W’©?3L™è'÷Q†¼ó€É¹¸u~™6‡ÌÑ›h«Ï/><5 çò¤h³ÃYÀÑ5>þ'p£PÅìðàù5;ægâF² !æK·àl¾¿ ¼ uÏW–á~¼¿¸x?p°ŠE¨¤v{˜S€oßÄÅ"‰ùÇàíÀ­ÀóqÂF!jDÀ ŸÇC-g£oÒX‚|A¦×|²±U‚3ñ÷¸™±}+ÓÚMùÑTtn¤r!¶À‹)C·nÿU\ »NÌ4뎹 1tc 2"œpÀ¿ó«»íÍ´jÛô몙áÏ6“zå.¦À 0°tu¨z<¿xøÓ9—gtIÅ^ÆP[ÿ28â¡:ò¶š÷Ûu鄘3†sú)ð1êcó-ö‡ïʼn®~ýæ)ÔR;Hˆ™å¹¸\û뀩8D±ÀLJ¿Eî¢æ¨]snüǰ'¦±¦R00ÕOžNŒÁL|ÇÔ¿ÇNå;r6êÙ¨ƒœ` ï:L#ÜxîY«»OÌ~qí±ËV7NLc |‡º£ç{Š^•.Š?ujâzµ;;Oñ«ÜÈ>ßJTLÎ… èMÍáàÄŸ;k‰êñüâ¯p?2ïB#êÄÞå•À³k|ü÷381%uäp\çMy>nt bö8ø p'ðF`‘ŠDô!~ ¸ ' x;ÎBµƒÔbº”´E~œ¤â,~ç>p=ðR‰¨kcZÔ˜8æÜVÓ“h‚2w Ó«Öe"›ñ½„ÌvÓ]¶Þñ–¿uzç’LN8½>Û(R¦´˜Á*ÛsÖ1Aè» ôlö»÷'åÎf†ê@U²“|£ìÛx>ä ºÿó UL‰ó@˜´,M[ÕãùÅ(ðr.Gã:q…Ø[ÔÝeà=À¸.ã¬Q÷L\²böÚ;—·¯EñLbêŒË~øs`‰P;Hí !¦@ çbsWÒÑà 1Y~øp ð«¨VÔݬ5æ¿¿Bs¿Ulhú.yg‚ÓÀdþmÛ.ÄÙÎAo}Å[­ÄÇOtš}N«Ðá8ñÀð0ÎÛ@Sw¡Ø]~ÿšƒšKV66„ÔB?ï0Õþ¸Nñbô€™R}În·“x&Ø *šÍU:Kv}¥f`Ò3¥]ºåbL¦(Ãmm^xÎRÕãùŧqŠßAàݺœb/ñ œ c]ùð9]ÆYc%𺚟Ãé¸Q‚Bˆ½Ã³/$m¶W£ß­Äî³×q{Îyè@‰P;Hí !&à%Àÿï†Ubš<ø7à¿—«8DÐ_5æ¡G9i¨ÅÊ0Ìv4v1“Í Ÿ¸SqƱ¹¹¿ÞŸ&zícasÙÈç²÷æ LѬ¡Wt·¯Üº]vDb÷yêÑÎI–Y™º M"H“©ËfÂêVöÞ~Îv’ŸcsõÊN¢ÛÉ8Ø>õßNP$&ûÌzÛWîÚ«Ï/bœµÿ ð<àeº¤b/Pw‡Žw0Å 1£œŒ ÀßÌêR ±Ç9¸÷£ê™h4Ÿ˜y†p÷à¢ËöS‘µƒÔ"Ç2à_€€#Tb†8ø2ðmÜïyBÌéøEMÙg)gv] ±ÉN™€ïÉ0ݿ˫ „BçŸéÿS®-¾ÇZ¯OÒ–¸ø#žmŸÎOï³Ë’ò‘×94Ä™º Åî²`ipfØ4Ýð¾ø'“.bú×ÍI¥|Ö•÷Àûêm¡:4¶ê½žÛ@I=î÷Á¶ï1Mò¹ä=’ºÂ^Ô–Q=ž|%ùãoÛ€ØÓü°^õ]L“\çÌ ð:`•.©{„EÀ€¯Gb±ç~¸øS`‰P;Hí !€“qNGçª(ÄâDà&àãÀR‡˜‹H4PSn¾Špù2ÎC¯#;ÿ§uaòžúÛÛLq=Õ®•=’8qAÕ{ñÄ6ÿVÓÛNu¬ísøyñÀP‹3ÎÛ \E1}ÞqõÚpá>áAè LAÀbúԯɚrPYµlé{&ÕIŸû0ßa ÊmÀÚ¬º ­·¶ü#½}mOHØI<¡RýT*Hi´Ì/.dù÷f\rBJ~¤Á„EâuäæûrÙÄ)ºÅtyð¶±S‚¦éÙæO¦Î0qšÕŠ>ëªÝ l!¼ W‡lIý´·ÔË /°E[â÷@ÑÉÀ¤SäŸ[7FªÇó“÷í8Ó€ŸÕå{€:» ìÞ«K8«œûnØxƒ.­»Å>À?ßž¥âsŒC€Ë+UBí µƒÄ¼©«ß ³Â§Tb."Ñ@MyÖáœqð{À2ꞥÿdzÇ÷$v7¦ÜûóyÕŠùý¡bt…“Ê}9Aw£˜.ûÑ:!È×ã§¼ú‹²s[Z©zd”W•ÊØ›wô°ž  3ïÕ¯|ŒAFÔc‹ûôêeN  ØÊ3ËÖc“SZ-Ú7T=žŸÜ üÝ€œË»u9Å óàE5>þë2Î*oÐóz+(žLˆirp'ð›h$Ÿ˜ÛÄ*¡vÚAb  ?¾„råÅìpcÒ.bÎ!Ñ@MYº˜õ]KsŸ*‹ÿ¹ò7ù$ý&;Éx‚îTÒYYå4Pp1Ès ­ëu7Šé2¼(XßWôSR| @¶ÙÒ·÷1î˜DZˆÍ½×ê’_!ËØ2aõê›ÍUØÜùæë°÷Ýcî#BÈŸX·¨½2›Fõxþò`ۜǙÀºœb©³ËÀfàú„³ÊÏQïh‹~šPãc¿ ¸\—pVYœ;OÎõ4àgtɅȰçöòïÀJ‡¨!ßP1µƒÔÅó’gûr…˜üðƒ˜ËH4PC ˆ)±$ï'¨š2T9LƒI» ؉]R!@\ÄÉú~"¸OœAÜ'î LPPV"Ô])¦\Mñ¾)‹!¨Š°•FY%ŽvR ÏyÀïÌ+:ùãb½)uˆ‹¢[*²•¢‰ôýYÁ€CP‡`Ë® Tç7ð®8&rÓçdêm5ªO³ÏùÌrƒ2}…ðùààÿª(Dù|òwj©$ƒ€¯û¨(ÄA.bÎ#Ñ@[f†ér•weg}\²n&™î1ôø„qÅHä¬HÀöu˜r¼õ:XK(÷®‡SøkE¯“é4·%÷~•½ÿä¢ li\A¹p ]P!Hã²n¶ÿ<¶9ñ€[W{–G\&È–ÏAÿ<ðϧêzˆù̿߀óÛ€˜.¨yýýŽ.á¬2Œû±|>ñ`.½œs{9RE!jÎ%*¡vÚAb`xp-°TE!æ£ÀgU b®#Ñ@ 1†U•VúUïqɶüëJ&¡,(û®¸ä{3ßi+¶Ù¬` κ tüƸ ïD÷\ &t :²Àc•îJ1åzœÜ7½{¬8²>àw¾gíÿ³þåŽYA@ùøQ±€-í¸/{bwlTÔÃ2!e‘Éç¸)'ðž¶D`Q&¶ $–¤$fDõX€©lk~ à"]J1ENž_ÓcïïÐ%œu^7ÛÄ-à÷téÅ<&þ 7:{‘ŠCÔœ{€›U Bí µƒÄ@p(ðU$s‹/OªÄ\G¢ºRÑá]=ÂßVŒú·ÅŽü)Ǥ§ü÷ö;ždrü=瀌x + °½m¾x †ØWvbV8ÄÙ}âªÊBL·ç;ÍS‹ÿ¸ÜIƒ8+èŽÂO÷‡I; TN™:bsõÄzÇà}o\U¼—t^@øï/‰;((ŠËÄE1AþxËœX¬*±¨æfàsò£Õ3t9Ũ³ËÀßwéÎ*xë<=÷ßF¥b~² ¸ÙS‹Áá2P;Hí 10m”¯û©(ÄCÑ¢H4PC¢ˆƒÒ‘ò±??oû_`Ë úD”öH–}OÞ] ÔmÀN*ž #ð±µñ€-øî¾«@WÇÄëòbƒÒ])¦JsP¡ó¿lÞí\·%¢—Šh€)ÄŶâûlÖµ#¶Åã'Oç¢üω«… %‸Äa +Z àLàcUE߯j~ àt)Å$y%p\Mý)àýº„³ÎéÀóôÜ—¿¥[@Ì3žÜœ¤¢Ä¥*¡vÚA¢ö _SQˆ9Æ=À7U ¢H4PÓëÖëd+vz—vÂç;òûvòWˆ ÊÜ bª¥Ç`ûlÆa ëû‚ÏM Î â¤ó0.ä>£ûÞ¸D$WX«{e­z$vK€wo•[õç;Õ³ïq\bçŸïH§O<ÍN©3G\ø¾||@ELBæ}%“-Ù?ïT9Ÿl4¾!öœ*ã (:9Äåâ£z,z<üõœÇkuºœb õîtÿð¸.ã¬3ßG¿'Öb>p:ð-à@… ~Ü©bj©$jÏ'ãU bòÏÈÀZÔu’Ô("Ît˜ûVúy!€/(sHÅ“t?ÏNÎi ÿ¾¾ßc .q™K@lsþ6+ˆ{ÌTQ`³ï)¸”GI‡c¬»RL•8¶q±³=×an³‚€8?b?.qð:ÙãÜë¼ÆæžqB"ÂÉ®óë^êúáOÖ] Îwôç bÊ#*â (GÄ%"¸Ì 7QtP=>¶Ôüä6 &ÃÙÀ³kzì÷£K8ë¬Nœçepð«ºÄ<àÀ—€* 1`Èe@¨¤v¨?o~MÅ æ àbƒ¨  Ô úâ6.Zø—;Øò岘€J·Š"€ª‚LÏ<}Ä Ùcé›Í lq9ëw°ÅøügUÄÄ¥#¤+ã Ô])¦Áƒ±ï¨‘vЗZÿÛòNw›t3„*1`ÄÀe*¡vÚA¢ÖüBÒVb.òàQƒ¨  Ô(*IŸë ÷­þ'7•ìo+>ÃRtð‡áw×1X€RÁ@ÚáŸwˆ}—Ïž½Ûù_Q&¶B\‘ý¬QBNDÇ•¢!¦þËDäu¦ç¦ÒÑýÝÎ÷b‡|1º kíŸý›8vØŒH +Òñé¾eñô™ãËìŸ[ïŸW©SïÐÇm .s&¨XŸº±¨‹Éñ÷Àk~!rÕ¼8ª¦Çþ_Àçu gg¯R1p,pŠŠA CÀçPǘ\¾ <¬bj©$jË à³HØ(æ.ŸRˆ:!Ñ@ éDlŠbˆ’޽¨¢³¼à0¡PÀ–Ä L >˜0–€>Âì÷Yo”tAamÆ%ÀÆ6'”°9a€-(t6EÖVˆ1ª6é®S%îØMe‚^G¿Í¸møôqœ)ÈÜÿþ{¬ßño bšŒã@Al‹F(¬+ºtÖf£,…ã-⪘†’²)s,(NPz.eõت‹"màp¯ž©Ë)r4€÷ÕøøßªK8'¸ý8ç£NU1h,¾†l§Å`£h¡vÚA¢Þ| X£bs”GpNBÔ††Š ~t:lIÝ|á@ƒ‰Á Xã–³ØÞJS1¥Û¬÷Lñ@lÉ|2“/Hæq•`Àë-‹'(uèã6På4PºÉç•ilýs¯Å,EvKYâ¨wÏ1ıÁÄk Ö@l¬«Ïb HêcŒÅƒ1nޱIN–kL®æï`ëÕ_›Î­?Ïâw;æ£2‚œÐ!ëbPa`3Û ýþ1ÄU"['d]l×¹ ¢"«‹2¾|‡zçT†À{Q¶ŸÈòz`]Mý߀ïéÎ:û¿®bÈð2àÙÀÿ¨(İ ø*p‚ŠbÏþY<†‹J{(™žH¦'½é)\$Ïx2µ½åКÉ<–û$Ó²d¾/p`n™Çå?|A·¡P;Hí Q[~8CÅ0%Æ€ûpΚáQmNæ›pý»’ýò“IÚþ €…É´È[^Žs‚ð§•Iûcù<)ï‹“öžµA¢Ò‰øi'r1©ã@èwzˆ `,A¡Ó¬0À$"ã½Æ”hlîÍLS4`³®¶(¨rNˆò"‚I¿.ÄÅhkûˆâ^GjIqþTw¥˜*q‡Ÿºˆ°QïÞ4éÜ€5žxKĘ®p WÝ~Æ€I—qõ¹Ws‹ÂëÕߌx àŬþ‹N瀂8€œ8 +èÅxñ$Öf?¯ÌeÀf?#ëjß§â‚ÕcQÉ…ÀM”ªçjÃàÀݺœבPרŠ1à]º„s‚ßI~YÞ¼NÅ jÎrœÃÀsU3ÆcÀÿ榟àlñ;»ùÙídÚë}0ppd2?8× 0È|'ÊBí µƒDý8øsC%pî÷¬Ûq¿Ý´?âÝüܱ8¾œx`m2_—´=ǹe.€k`Ö­(ê†Du|ÚXîít ÄD©%¾ ãà Jl™E÷¬Ãí8‘h€äŸ tdo×io¤rÚ1_ÕÑŸ*¨T9 ”ÄT:L0UD`á^Ý•bÜwR§CAXâLdˆ}A–Àsˆ1k1AÏiÀ$N6Y¶àº÷iõ \xQ]±@Zom‰XÀN,ˆËDÖ*(sðã<€¿ÞúŸï‰l6R!Ý^U XÕcQÉ÷qY¾j|©ÛÀku9ð¸Î:ò×Ébv~WÅPÊ«w#Q±¨/«€¯Ǩ(¦ÍfÜôfWú/ IDATßK¦2·;¦O¦æÖ\fû±¹i¿ºV—èvj©$jËß2øâ¶©ðp}Ò¹ ø°sï.œÛÁ+¶ï3 ül2I½ú3¿‰úD ‘h †<ü÷,^˜8 DžÓ@Ô D¹>ÿ ]°Þ ß]À˜¬A_á@²}Úñ^–zê0`ËQŸNü¨DTù¯íäÄQÞÉ ä}QÑÀö§¹Gw¥˜rKîÑÎ=C ZÄN8ALä" Ld°IW¿Mâ2NÆôêiR‡mÎiÀ&1Æû®gêo/žÀv…=AÖi¯³?¶6ç8P.ÈÎËÄÙÏ(:d ªE¶$ÂÀv eŒíˆUE?~ø•䢺’º Ü¥Ë9¯ÞSÓcß|H—pNpƒÕi4“47£\_QOöÇýØ|¤ŠbJ<ŠZ\ü Ìï÷C÷½d-ü÷~øyàùÀó€ážßvàjݾBí µƒD-ù?À©*n¾üðŸì¾{Ñ\â‘dú†·nxðošËÏãOéuD¢ÒjrG»íD˜(rŽaâ4`b0IJŠ‹7ï9 ¤#“ÝŸS€'(‰$ðÿ|ô—')°‡4Ǽ¬3?+ˆJE¶Ï•úGT ¢ —ŠÎFÛjr‡îJ1U¦¹#êXu¬ #ãêA&°˜Øg@<§k‰­qû¥s“:$NX' '&(TÚl=¶^Ýí Ȉz"‚>N^Ýî/°]Á/ˆ½ˆ[â*äEq…pÀw((­Ä`æQ=ýxø+à5>‡ç6ð]ÎyÍïÔôØÿتK8'x³Š /¿™Ü¯;T¢Fì| 8LE1!ãIY]\ËüËï~ ¸2™Àu ¼88‘zض_‰å(„ÚAj‰z±øØ<>ÿ»€‹KçÙ¹7'Sz¬KÚ ¿œ‚‹]š < |QÕUÔ£"¨'W~’VìËA G`xZ-h5 ‘N!„¡„¡qÑË=' UäœòÂ’Û%/ÈÏ' ¤yå±€-‰#( DQò:qYèÍmÆ}!oH…é¼AÔvNojûSÆÓiÜ­+ Ä1~êßjkñ+f™ÿûkX´oã ÖCsÈ6“©a¤u74aRƒ 0nî@`zUØd£ 0%nžYH&š€¼H€¢Ó@;â‹âŒÀ‚ÈD`£¤ÞGi\CÏ}Áæ^ǛIJX⎛G·ul2¹ý:mKÔ¶Dm茻mTÔãÿüÜVÕc1Kq#ÇVÔøbàY ±Ûê?î/讋ªì„n•Žù÷DÅíU1èãnÖÝ(¦Ë®mñÍ®Ã;éèN;É#‹M–­ßaîmK;Ü»#ö#›«+¶7òÞ¯ÿÝŽy›±íO_»}<ß =&›ùŽT`sÇ1‘`ÀF½m½cÈÆdëwÖ ŸË@z½m¶²"Gm«z,&ÃVàýÐî{¿.å¼åÍÔS0ÎâT‚¹Á[T“®oú[[Ô8K[ ŠX\çà€UÀi¸‘} ôgø6ð>\|Áà7pb‹¹2òxN"„ÚAj‰zq óËíã±äoá58 úã\>€0¼øZÒ>Ù›(š@Ôý^SÚíìHù¢X ÷:í÷„Ö ¤â€xq@l½}r¢ƒä3ò‘]áBÜ;¶Øw èv€æŽÕ‹ ˆKbÒ×þ9V ¢œðÀÿ¾‚xÀ+»Ø_ȱå nÒÝ(¦ËÆûÚ7uÚ©`Àz‬PÀzõ6öFèg…½ý¬WÇc¯f#zõÀfD6;âßä¡t¹p *vôÇ…(âºôYe£‰ã âŒp u+¨Œàé'"Õc1Yþ¸»æçpð\]ÊyÇ>Ô7^ã(sx®°x…ŠaR¦²5  \˦=6Ç–ÿ$ØÝòügàU8Ç®ÓOÏr™^ŽÄˆBí µƒDù0<ÎóAœcÇ¡ÀGQÜÇtyø;œóÀ*à\à+ìyÁ÷™ñUb€h ¦~(_s6úëý¼p Äº?Šl·s<Ý\p ˆl¹{@äïCW@ DYÑBF å\’ŽÈî6¯£33ú?ê Òóð;6ãI¢’)lùíý:÷_%uº˜>«m~½3–Úë§õÆdFôÓsèŽð÷æþú8·OäÂO:ä£ìû­/¨ñ:Ý­/dèºÐu èuèÛlǽ÷Þî<# ð%Ξ‹HÙçw…9!‚õH=qí[—®UÅdéP<|H—rÞñû8ûéºêòÍ~O?N Fsý· Ï¿¤¢èò-àWq£ÒÞ‰‹¥3Ë(ðeàõ8÷£WÿŠsôÚ›\¢K!ÔR;HÔŽ£× ø9> ü.NxóñäßM13lMÚ/OÚ ¿ŽsŠ÷ÀwÉe@ÔþEQC¬åÖÑ16Ž'.m¯ƒ>/è‰ l©A~ds·C0éŒëŠº.ÅÑ¿±'@(³ýïvÎw®Ó°¼³ÞfŽ-ãFà}FœoTìü/òÇåÊ!÷yqÑ€…AÀ­ºÅ´ë1ÜÚ³£Ôm Sî4àw¼Ç}ç=QAf¤}œ‹&È» t…6ëT‰ ð„QÞíÀ5äâ¬}s,°™ý|±@6¦ Îï÷"2Â_tä‰lL¥[ˆµl £z,¦Â•8ËÕ:óKÀ‰º”ó†p£êȧÿÖ%œ,I~X“ç$à9*1Gù8ðT ÄÀ€—àF ·U,{…q\4ƹ¸ïÏÄ9_ìé’ûÿRñ µƒÔµãÝ n_–ÅE |Bm‘=ÎSIy¿X‹seœ)g€Àe*bQg$¨)oxÑãOqÕøxâ6PSЉ “ëïDÖ¸ÎùŽßÑžÆä…^g£íÓÁ•tÄGþ÷Å6'åclED͉zn Q•Ë@T L$*ÈÇ&ô<6ÎUŸ¼ŒHw£˜.Ÿ}ÛÆhÇ“ÑUqç6Ðs˜Œ@ é4/sˆÊ:Ðóñ~4ÙasïÉ=òNq‰p òüÿˆ¬`À?‡\,¿_A@{Ÿ/ðMñ$\:ãöªï^ºUõXL•·Q)E© ¢Ë8oøCêiḸH—oÎð›ÀbÔ¹@E æè}ù;ó¼ ÆŽÂuV߬ÛbVÉ7΢güÍ=ÔÞÖùBí µƒDý8ç4ˆüðBœ0i³.õ^çàÏp"§ã¶íÆç}Ø®buF¢óÔ6®ƒñŽ´=—N” d_w×Å–(tâ\ç~Tnן¾§·Ÿ-®ó¦¸»Ü¶à~à‹ ÇâÇ+T¸ ø±e‚2×…(î•U<‘h`Œ+tŠÝe×¶øŠö˜%uè9XâNµ£@qÊ9¤n‘Í9lØ‚0Àw°‘oùï»à‰¼È€T$à 2Ï%Á‹.(tüG9!A!¦ RIå¿ ì.q«z,¦Ã÷©ÿŽ/ÀÙ²‰Áæê;*ê£Àú„sæoÆßU1L‹ ¸´BÌNÅý0:_‰q± Gçwë–˜slÇÙŸ„Ër~pï ~þ¥*b¡vÚA¢v¼h ày}Xü§.ñœàÀok€ß`z®‡Š&Ñð5eù2nØ9Êæñqhw²nN"èøñédKDÙÑÿOÁ íQ»¹3î„q'©©` S&è­‹¢‡¼S@\!4軯ÃߺôqžžPÀw °UN^LAÞY!û^ "‰8Î:#ô­Ç–Í#‹Õc1]ÞMýóå>]ÊæC@XÃã~øˆ.ߜᕸŽ1uZÀU bŽð3ÀçjúïÂLp5nÙ뀟èv¨<89¹Çvãóþ¸]Å*ÔR;HÔŠå ^<È6œsÂïîæ¿kbϰøgàXàÅÀpÂÓ‰¸ @Ä Ñ@9ïÝ´7má²Ñ1o'nOÐéç4`KÖÛÊ};eÛâ>‚€¨ØYß[ï»”½ß"Ê÷/‰ð ò qÜ_Ü0Y—ÑQ.ûäeʻϥïÚÔÞ¾%º, DKœŠJ¼å®#­ÐÇ• K@… ÷9¶LˆDÙÈ?’Àw ( xÎ]7ƒ\<õÎÓf„ Î"—öX|Ùw/ݪz,¦ËÀ_Õü~å2Çã,—ëÈE¸,@17x‹Š`·øê"‹åÀ¿ãr¹ç?ÂÙþþ2p›n…ZboàF-\ÈôÜ.QQ µƒÔµã\`d€ÎçVà8àr]ÚZðmàlœKÕ?Ò_äñO*.1H4Ps¢˜‹waÇÇá@ÇsÈEø¯Ýv×)ÙɹT‰zÛlil@'ªµïGä ò®™í…H„Þ¾q< Ó@áXó‘1Äý“ólr±î>1Sı½¸=jm§ÝD‰ÀEôQ×îºý…%B[¶e—8D9á@”‹ˆ&r8È <Ç‚¸"š!ö„ eßßC؉ÜBlÕc±»ü1õÏœû#ÓæOÀŸÔô¸ÿ¨5‡x.p¢Ša·X ¼FÅ f‘&n„ÔºyvÞ[ßÉènÔm00lþç>ð àZúJÅý?k/&ÔR;HÌGΠsùð"à]ÖÚqOr/ |Ïm>­bƒ@¨"¨7×}‡Ç^p¿°h!‡&ñ6E¿a›{aq£é]Çšé.[ë:ÍÝ<»¾tŸ¸7Ï/Çùè[\ެ-ßžˆòŸÓ Ä%‚ß} ÂI T0àÅ9DŒNÞ5Êw>ýÅÚþ/æ w~gçcÏxÞð/ /6¡ÁÆÕ`WŸW‰+–“Éæ–Ýëêzl­‘'óôuoÙö^ç×å·ÛÞrÜÝÇfœÒõiAV$Ð[Wˆ$È |7žó]ç;iT{4þÎMWlW=»Ëð4ðòŸÃrà§Àu9Š—â2€ëÈ9Àýº„s†ãì¼Åîq(ðw*1Kü5Îw>ñYœ³À7˜\‡²¨'?N®õåÀb\GÕïœß¥þ.aBí µƒÄ|ã%8w™Aà›À©¸hQ_ž®>,Kþ0À—Ðà1 Èi`¸õ.>¶sŒåÜ2®lÇx'gÇßéØÌ>½m.š “w*¨°õ&¹_'CÐ)íà·¥'ƒŠÈNÜgߪc –à‘M|Lw˜i¹sücã»,qKÏq€žë@ÇÕ‡^l^4A¯>¥ë£ # &˜â~1L¼÷" Šñ9Q@T"H# ¢¬à Mà½×h˜(–`ëÆHõXÌŸ¤þÙ¨ïE–‘ƒ„¡¾._nÐ%œ3ì‡"LfŠc€ST b8 8ïO—¿lÔåŸ7ü/ðzà0ÊGÿ\ªbj©$jÇo Èy|8 ×á,ƒ€_Öÿ|JE"‰¡åu$Wo~œÛGÇ SÐî ÚQQ0PXN:é»N*&ÈwðÛòQûÿ¥ñILAAPg#šè³c&%*èTìÛýÌŽu0AGãè·¯;ˆ«u׉™æ€#‡®ÞþxçööXL6¦À t²¢€î½ÛÉvÚw݈ƒª˜‚²©JH0Uá^ôç  R‡›8‡Ø²‚ܱÙügwJb ¢I¸ ŒÙÛWÜT=3E¼µæçp ðF]Êál\FbÝÞ®Ë7§x#ÐR1̨Ä^æ̯0/ÅuL]§K?oyxp8ð¯@ú—aeG µƒÔuc8cÎãfàUÀ.]ÒäÀ €¯©(Ä `TƒÁ¹gñê­ç²%‹`x†šÐlB³Ât ð'&pîç݉t9±Gïw—ØÞ€Þ®Õyº>cyíEtã ü˜‚|„YàÅDɨ弛@©ó/œHÞE» Üÿ®û.ŸÓ'ö?wö’W¶~ä²áEÍaC£e›†°aBÂd€ Œ«»««ÝDãÕ_/®Ly]öê0^ýu˶wЋ:ð¢ Òx›'°½¸ƒ\A&š ¦ë`3‘y‡ƒÞ¼+€èº0¤¢ŠTÁ„.[lo¸ó»;UÅLó8åx]Ù‚ë\Ø®KYk8ç‹Ãkxì¼C—pÎ0<„Ë¡3ƒŽîVQˆ½@ ¸xÞ<8×Çß¾ Ë.r<g‰¾x…ŠC¨¤v¨gQÁ×#I[ìQ]N!D]ÓÀ€pä:.t3·ìõb ÚŘ‚vŸNô¨ÓußI" ¢¨[P°õ/q-(³ý/8öµåQq…Ë@…(Àw+˜Èý ,Ba"ÁÀÎQn9t­ÔébϱߺÖåÛ6wni¹˜‚hÈK¯¿‘ëu§‰=ÉóÎX|ò3O¹nxQ`šÃ†FÓ¹  CØpn&€ 0˜0©§©Û@­¿øŽ!=ñ}—´Nwë³í-Çéú‡ïµsè¹ të~”8x®i¤@y4AVôÆ.D‘ç0О\,»åöKïºq§ê±Ø“?Ú¼©ÆÇ¿87bOÔà`ÿÿÏÞ™ÇIR•Yû¹‘™µôV ô Ý€Ê&ø!ÚŒÊ"ÂŒƒŠè`6nèŽ:*:ƒ¢3¸€ ¸Œ+‚(¸!¢2#(¢"È&«½tCoUq¿?""óÆ–UÕ]U7ë<üò—Y¹Þˆ7"¹ï¹çx8ö€óU®âwĸnæv`oà6üËl–è“ÈÑÀeÓ`;?Jk3¢’ !4ÒÆµÀà `ð0äÉþ}€ØÕ¥©CMLWÐÛÙí^ܪR !4ÒC­a¨Õ Aâ6`jŽã€IÜÚN8¦ü‹ßº'2Ž«@rÞe yàÄD’D9×V4#"ˆÂÂÇYÀ Dc „M{U­n^ø‹‹Öê<SÅQÄ+T|¥I¬Œÿ“Jé;wâŸõæä8»[%ì*>œÜåcŒ€'çŽ'%çAàÉ~¾8P‡›˜àÿÜŠŸŽ3cá»À+ˆ£ „Bó ̓Dï²3±³ü8Eï !ÖŸ üãæ“ïùÍ&Çb[òYàxÇpÊØÕüø{Ç}<ð9•¯«ˆmmŸÔåã¼xj‡Ç‡?«­C`7üµ_ÝÁBâlè^Œ%ø ðï*±Bó ̓Ĵâ7Äξñ<à•Oá;rèq^|¿Ú<̼ `YÚ'´ÍüÈuÈEäWç£ B·Áoƾ- ³Ó@X¼/ï*P ¸‘‰€ ݶ1ÍZ#>±h>ï»Qk“E—°ßßÍüUs˜yAe`pÏeœèøÚdøilA”"!9åÏǸN#65ÐŽI›ÿ©Aê&àÆ8ÂG0`x‚ôù©Û@*°¹h†ND‘ýÄÐüúûî»Y‹XÅ6åb•|¿§ãßø=q3BtÏÎðpܿބVv/M¾¯º÷7vx|˜ØÒÔą̂ÃOlŸ¤7s¡ÿx·Ê+„Ðq ½ëú$„˜fÈi`ð¢Ãiì´ —.fùŒAèïƒFâ8Pæ6l¡Û@Ë]À¹.Aȹ Ø\´µÅ(÷ïN¢‚¼Ë@Æï;ÖŸ¥×=Á%<Æ+øsFtäˆnbßÃg6†Õ/Ünq}yß`@½ÏPk@­nj† Fì8$ŽAzÞf]Z_üßþ-qMÎ1$þÛf¢2ÎÑAÖY -L¨pp…QAfï·ÑØ÷Õ¦'¢KÖ?¾ò¶ŸmÐy,ºÓ€y<þ;€}€¦JÙUäÐë IDATÀMø™_ý\àZ•°ëøpp—ñQ` °¡Ãsˆóqçy²ß×&Ûô„A±<øyþ®ó^à}*¯Bó ̓Ĵã dnão';!„÷Èi`pÇ=D;.ä2c8¤¯Á®@&ÝÍ0ò üŠû«.™ø€ŠÇÝçd"Â’È0ç àÜ›ÙǛ͜Ã@8vw€›¹vÍ#¼D‚Ѭºg$ZX¿Ì©5Ì®©h§,2 }^›¬“€ÛØw ÒK˜mîg2.$¶õüÖùæ\gë4ÿ­ë8ÐLÜšåî®h`æ¯TÊ®âuÀ Žû[(ç±y:ð~Æù?ÄY¡hgäâɾH¾c¯×a(¶à·œË€Å=¶]Þ©ò !4ÒœäÙ˜A÷;•!Ę‘ÓÀ4âO÷0¼`. Cöìk°8Mü¨í$®*Çá,¹/,‰È]ÊQTth†E70tš0Òl» Œ7ŽâH‚5ð’üŒ:JD·³êž‘áÙóêFMö¬÷™Ìyœ‰(qÈ»dÏ» än;î‘ã0 Úí†Vuȸ 4“H‚ä:ýÜñ°é‰è’' _ò‡k7è<ÝÈ€#€=ÿL⪮Q)»‚w/öpÜÿ \¢òu‹€ÏyðïÂˀώñ¹{ûzRƒí‰ãFn×á(ÆÈ|bç–ÁÚ¦‹,C•W¡yæAbÚòoÀ“<óçˆ#N„¢'h`šqç½D và²~¶–A1Ž ÌGX²¶ãQµ Àmþ"ò—°äv˜}EÐÌ \±@3y¾çš„0â+Ws‚" „O¬¾w$š=¯vY½ß´Îcò€Jñ@;VÀv¸¤N©HÀæEN|AüÝPdD®X LDé}Ͷ€`¼îñw˜ýĺÕá Š$]ÎÍÀñøëòô àKÈm`[³ø:ÐçÙ¸W7ƒ†U®ãTàyŒóMŒmu]ÊÀ<ªÃâä;Vˆ±ðqàÙ=´=7ÿlRi…ši$¦5g³<ó»€U:!D¯ x‚iÊ +0·ÜÁ‰ÏÜsg Ò(Dí¨“Äb ªŽ 1DD6çr`³Ùé¥ñy‘AèñÙ‹e(üä c‡ÌC·o>q—§ œÛ74ê}†Z‚zUL-9o“‹*HÎãÒÙ:ñÉ©•w3°Ö¹íÄ8…¨,žÀu!ˆRç‚öëÆƒµŒ ¼ÑÃq¿!9~DwÑÜO¼j¹›ùðÿ¶àu¿ô¨O'nž щ§%ÇI¯ü–³ x&pŸJ+„Ð7+nU)· {;Vøæv±S…rJ»×㇘ãŸ/lÁëVyT¯¯Õa)FáJàÈٖ⾿PY…ši¤yдgàÏÆ|~‰s„bT$þ/ÎäÈFúŽp ^±\& ½Z¹ŒBƒ1í=Fm§- l©X Ùäª??Äë®¾Ž•ª¼è%öxÎŒ…;,©±oFpd­a¨7 AX8œÇÆL@[øãˆ*u-Ç[ph¹ ”ˆÚQ6k`·R,6íU<Ø|Ýí×mÐy,|ä à½ÿJà…*ã6á àEŽû¹Àµ*_Wò;`¿.ã#Ä‚«-±-o÷;zRa`à/:4EÓ[™¹'竬B̓4Ò‹?B­>àDàÝ:¼ŠÓ®¾Ž«'bŸÜp9µ(bßoሧ>…‡f³¬¯ÁÒ ÀAv¤ ÒÌö9bˆD<@³ #MÁnÜÌý­ã†Ûïæú§<‰[Ëͯ?•PGãÔò®«vn<öpó°CÁ13·«]«›…Aôâ9LY.‡µå¶ý-á@,°Žx lZ¢f|ݱ47[F6Û•ë /߸.ºtævÁ5½sÕÈÖlËÏ™qøÐÂÚY}ƒÁ±Ë@,0AV<@.ª ½rñfŽ!¢ÀÙv¶òÞݸvexÚí×m¸ZG§è1®žíñø_…ßÂßöõžþès†Êוì Ü Ôº|œßcb6.^áQ}޾¬ÃT8Ä6ÚOímÙ<¸MeBh¤yæAÂá3øgõÿàU:!D/!Ñ€¨ä„Ôå‹pú@?ûC«q˜± F‹(È\`«×-nÚÌ­¯âÌ'-å’Ï^¼uM÷ß^Iãþ‡9l»!ŽÙa.G7,lԳ w³óî eñ ¡»Ð Û׉x€‘Ø´6mfå_ãòÇÖqés¹æ„gDGåäñŽo-ÝßFö¸9óë+ê}f~­Ñn°·\L©ƒƦŸV#ÝYeŸ®¸O£6R×ÐÆÎ‰x ±4‡-#›-#›ìêÇׄG‘ýÒ·ß¿æ¦-Ý®ƒŽª­¹odùÐÂúé~³Æ(ˆ·Ëɶ¥Ç³1%çqÑe O»kÙlo]»²yæ¼—ü⢵ψ^äÀ ÏÅîöD«@&›àvâ7}â>b— *aWò!à4Æù&&×ô àçÕçÆäÿB¤¼†Þi |N%Bh¤yæA"Ç7€åžùÉ(¢@ÑcH4 Få„Ôv\ÀÛ88=n*ã òØ\s5½9«ÝOÙ¸‰Ÿ?´ŠóvÛ™+¶V,pÝ7Ù?Š8nÑVô÷1¿áD4˜2¡DÉvU‰Zn‰p t„-÷nÂðp, ذ‰Õ«Öpqñ¥û7騜þㇻÔnûÙú£v{æàÛæ.¬\ë3¦V‡ fŠb‚lnµ½­¶éOÅ©ë@ج4‡-#›¬]»ºùó‡þ8|ÞN{ö_qé­Þ¢cû c‡j«ÿ€€º|œwÿ7QÿZ¸ øÕI«–DJ@¼*ÿ)=°-—ÿ¤’ !4Òõþ€ŒX Ì] ×D·™ë¬` v°­ºÇG„6qÈ9„$ÂD<0’ˆ’è‚á–ÇÿÚ¼õ¡Û‡Ï\´[ß%—}hÍ×þo_6gÿ(²Ç5úƒÆtÁylY=²9º8Ì—~ùÍuňéÄBà`ާãØ-¹“óÄ]Àgã¾x®Ê×µ¼ø¼ã<øï |¿7ç{T§¯ã—•°˜<þ)9|g%°7úa]¡yæAš‰rnžîÙ˜g"w=!D!Ñ€Ø"NXAcíãÖßÏ1ý}mâÆÇ”`aåæa.ß¼™K‡fsÍg/Þ:Ûþ[~HíêëX~ð39}ñöéïƒzê©X ( ”­ÂNȧ¨}]QЊ*H¯›ñõˆ#iÂðH"† aõ_¹õæÛ9sÏݸägI<0VŽy÷üÃw?pð¬íר÷juCP‡ ˆkÕoLvå½»â>Q dmús6'ÈÄÄB›ÂŒpÀŒXš#$±Ã,ëV7o|èöáÓ~}ùãWo;8èØ¡ÆÆÇ£Ãê}æ˜zŸ9Ú˜)<-+›Ãöòæ°½tpvpÍ/.Z«ø 1]ù7àlÇðv•qRøp²gc“z~¯òu->¬4ÛìÄÄ ’í<©SØxH‡ì´ç7Àþ=°ËoªœB̓4Ò´Š#æmÏ}u–K'èø²QÄýÃMnXó×︀7omü@ʹ§sø!Ë8kébèï‡F#'h­6ï¸5›úöuê4`«DŽÛ@ê4¹nfÅÃÉes[°^Í·ÞÎi}‡«u4Vsò…;-3¿~Îìyµå~cj » S˜¬8Ä”GnØ|­q¢6"›dÜR§bTAáºicAÉH* vH\F6[†7Dö‰GÂKÖ?žò“Ï?vÿÖŽªE‘ÝwíÊðˆYÛ׬5Ì2°ÔLÀylÁÚˆûÃ{Ä×-¬ý8ÌÍŠ€>àbûIöþ¤RN({7ÞëžûSÀ›U¾®Å—LÛϯˆ›hÎÞáQ½ÎÞ­ÃvZóLLžõ¶æÛÀ?ªœB̓4ÒëD¤ÂT4º „¹kW4Њ*H/#m×Íðq¬ßˆ]ý—üõQNùȸ_G`›3®ÝÕÜú“õÇ?íù³Îœ Õû²îA- $‘äã':¸JdE"ÙˆY§ö¶SÐvpn—2nù¸‚ávdÁÆuáÚ{·éÔE»÷åG±¹ï¨5À4’:Ôœëô8טöÅ8×eç1cLæ%8jHžFÎ?'\hÙåÇÁ´WÊ7ê ,œÏQ6²l‡¹üø¶»X?]ëýª/à«tÿÊUÄ«’ÃIüŒ»ˆ,ßÞ“Úíü?6Íx ð1üw†\®cW¡yæAš‰1ò>ç>_V«tBˆ^B¢ÑÓüñjÌvCœôê—òÕ¡9Ì€z©X ½¸"×Q fJœȺT9 àþí ªu·‰×C¡gLîo[ýû€+B¨Õ˜³ÝÇã/>‚_ýò¦Þ¯÷+Î\И¿kßGŸò¬Á3fµÆ€¡Þp±8 V3AV8`Ó˜Àq¨rHb ZBr.9§“²Â–A…p ((yvüùµ¡…õ4‡™7sníG«î‰ôM „7ü’ø‡¢žŽñJåNnÛ—ç"úÄ7«|]Í ü£|”ø‡áɦ<ߣúÍJÎ31}x7ð·žoÃÅÀGTJ!„æAši$ÆÈø'øqô‰Bô  ˆžå“ÿEc·]øèaÏâŒÙ³¨õ÷ç¢ò®5b‘@Í ”‰Œ)w(º ¤·]ûÓnýãvÿG÷÷µ†Ò'¹W3ÔvZÄ 63oû¹üèŽ{èÙòŠ.hì´Wÿ…;,i×?3#pµÄe 'w #pÄŽ`€$ Ça -dËeÀ  (ÆŒæ4`Á:÷¹3h›ŸO'Â… Æ2kÙshaý²UwK8 „'l"Îñ{‘§ãŸ 4˜š»z‘³€çz6æÀ‹µ*_Ws>°S—1^3EÇÒ·$ßW>°'q&üã:”§3 €·ap4ÊøBh¤yæAbìü;þÅ|¸U¥Bô ˆžä3 ±ß^\¸ëN7+‰#ú’)q©X€vô€ë4”D´n»"‚2—Š=àÖí³FYa´u}€ïK/…'&×IdÁ2±çŽ ¹ìŽ»{O8ðʳÎÞåiW-Ü­ïýƒ&'  ä# A+~€¶h $F¢%ÆLË]€Bô@»~-ñ@RWSqMîyQ­Mï³íDz÷¥õÏ+M ~³12{^ýÒU÷Œ ë›A/¸‰ø‡öEžŽÿÄ« U)ÇÅžÀ’Y†O|¸\åëj–ïõ`œßaê2k7»xRÀX sçiÁ뀗y¾ LÎi!„Ð@〧rÅßìÌ¡3¡ÞQ0Fs Úm ï80Úßf”÷Jmî[6ù´.µÜßíû¡VK®jÎß5¨'—F=¾ô5` f ¢ùºdWù\olÈ:òŠ34vÜ£ÿ–` ÏPk¤B“ ä# ¡@\Óºdõñ#HÓ*ŒOGÐv)po’øœØƒøï }n+vBëvË-"s_à<¯µõøR«Ç¢‰zŸ¡oÐ0{^íÐÙ;Ô.Üë }Ká?%ζ÷•—âŸÍþ¶äÈäâã:U¾®f!ðOŒóvàê)þÌß?ó¨– ˆ±¢·9?š[ø0ЬBh¤yæAbüø¸Àm/•MÑkH4 z†Oþ§îÁ…©` Ö&G $g@-ç4qÈ“sJ¢ Üû\á@©k­Ï5©xÀ¸"¢˜ È<§–^ײ—z êõ¶x ¿f ÀÂyºpþýÁ~ Þó“]ÌžÏ8oñ“û–÷ ˜¬` nê9±@¬`€¶«@\Sá1à–Ðd…&mäÓr+J„´£W(à^;·3¯+¾&ÀÔÈnSK<µ:u¨5 Þ0ô  -¬/ßai㼃Ž2ú¶ N!¶Žô•ó4Ïuà¿=÷OKT¾®çü°øü &Z“̧<«çÉ:¤{ž=ÿjâ• B¡yæAš‰ñò„‡cþÈÉ[ÑcèKMô¼³Û.|t×8nÆŒÄa  ¤—T8 db*„T‰ȺÈÜåMÖº¾ê½3™¦?`[õ´ìç316÷˜-¹Ð~¼¯Á>ýlÀS¹êÆ[ü¬ùŒ¡ÚIOyÖàý3ý&Ž$HnA`*Å®›@™8€²˜‚LÙM»Æ&w@˜üÁQrms×€±¦]ÏÌsc"'H®m«îÆ98²ÇE²ûnÞ´æÑ‡›7è[Cˆ®ç1bk¾C<ÿ"àâŒ?Q͉Àk<s¼X¥òu5uà«Àœ.ç&àÕl‘ÔÀ™žÔtGà‡Éw«è=ç{þÍÀµ*¥Bó ̓4[Àk’:ûDƒXL¯ !z­=Á…—qâös9qÆ Ô9Á@K @. ŸAŸïêw PñÔ¼«@ÆaÀi.ç/ÉXLËE µÏwÍ LË¢>ã6`:D¤®©ã@#q„9³8ñ–;ü\Íòª/<ìÐãæžÛ?3$0N$A"§€œ ï2@!† ú’´Ëkr±íÛdî+¹²ÏM#+2ï“‹6p/mWŠvŒAºj‰ã@-‰*ØåiçîsØÌÃô­!„|xÐãñŸ ÌV+Ùx¯‡ãþ4p³Ê×õ ìäÁ8¿Aœ¾-&Î÷‰“th÷,+Àk'¸UÀ'UF!„æAši$¶G=÷¡*¢—h@xÏçÏâ°“_˹³f@£,’  ´L[0ŒO,йœ‰(¨TŠÚqnÃ9Óv„fá@'ñ@#M…‰W¤‹ÞãUžÿ€*£Bó ̓4[ˆ¯¢#T:!D/!р𚼇…ÌœIcTÁ@ê.Ð:êËò¶ ž ò馳»@þ±§©œèJÿòíûò‚š#¨§ÂôÅÂÆ®K¸àðçàEùŒkw5{:㋳ƒýqN$+Ⱥ ”4ü3uvpEàˆZÍÿ¶HÀÕ’7­Â¸ ÅEñw‚‚Aâ4‹â۱〡Þgh ;í°¤þŃŽ2ú¢ë¹ø?Çÿ¯À“TÆ{oöpÜïQùºž½À Qèï»àûí^àûÕ¶8£YôÞÿžáñø7â_6¶Bó ̓4Ý…¯ÿÎ|^rl !DO Ñ€ð–;®Á<ÿ¾84‹úú (‹#ÈDŒæ.@É}[ÑSÍh F¸¯É rã 0…&tÆ} (wHÅõD<Њ*`§]—ðÅVÐõ ä[²þøYÛ׎ŒqÍSÁ@{Ži7Ï;º T¸”\(½Î‹œg§W™È¬Û€ë:@ëÉ‹\‘)Ü.¸b‚T<ÑŠiHâ êý†¾Á‘«ï9^ß$BxÁ[ëéØû«„ÎMf->ñ{à³*ø"Hù´Æ±E¼¿sïE‘W{>þ/kTF!„æAši$¶_£çÿ ò !z‰„·\y ÇÏßž#ûûãUÔÁ€ë,`Æ#‹X S{™b·9/0îÇiÓyŹ+r"‚ÒØ‚tÕy*¨C?ÌäÈ;ÿLW7O¾p§¥O{þ¬³ƒI`Úq{»J0P È–¨I}µ)1ÁS£ôɦL0à|pV\¾¨};+H„8ï׊)pÜû‚¶û@P7-×y»4Î>à¨ÙKõm"D×ókâä}åà`•±Åó#=÷[€Påëzf¯ñ`œO_í’±|¸Ï£/^¢C½g0À+=D,„B̓4Ò6W.®Uù¼àÕÄ«]º‹€Ç»d,þ¹hœ¨C½g8ØÅãñ¸SeBh¤yæAb+yÀ㱿˜¯ !z‰„—,šÏ9Csêk$±­(r¸Ë²w«»ÀVD¸â€Ò·2%÷›‚µ}Ù[˜‚•}¹€ ã8àü]KV§n} ègh°Ÿ®l óîù‡ÏžW[^ï3‰`À ´šã¦ÕT/ŒM?ZÊÞ§ýœ¬P!(´D ŽÄ-¹)Ó³8ã¸÷ðq¯K#Æd]Zâz"è3Ë÷xÎŒÃõ­"D׳x¯Çã:ðz•‘7{{6æ'€ST:¯Ž1è6+ÜÏ#Õù0¿KD9¯ò|üŸR …ši¤y˜|vèNP …½€DÂ;Î=ÃÌcy_KP Ð f =ÿ  ”½—1åoo:D¸OÉYػх×T‰‚ldA-uH„:ôõ±üðçÐU äÓ´Km÷Ïjô“: ¤ÎAF,@v…>nóÞTèPûN2rï[Rr²5.>ÇENAÿô²÷ÍGdÞË9¾ò®¦–ÆT´„fhaí¬ƒŽR&œÝÏÇ?x<þs§qýæïópÜÿ <¤ÓÏ žêÁ8onê²1ý¸Ì³zŸ¤CÞ{êÄ>¾r/ð#•Q¡yæAš‰ šWø‡w0CeBøŽDÂ+nù!µC–qÖ@?¦^ E±€i ZŒåv§û¶‚Â’òüã¦Sy­)·ÉÏ» PT‰ŒÉF8³xg°‚®i ß~݆åÛ-®PkÄMnSê2àˆZûÉTÆäEí癦ôuŽ-3†C¢üP0E—ç0Æd)LYÍ;ÄY´#±kCß`pÀšûF–ëFˆ®§ œìñø}mšOÀ?Ñĉ£%„huÝÖáÛŠi_,˜E5Ûy<þÏVeBh¤yæAbîòxü‹€·¨ŒBß‘h@xÅÕ×±|ébÈÄ´bȺ ´:í)0£\Fyi§ç”.)Ï~¬qV·* db ÈF“uHÅõD<0s®h ÿÇw©í¾lðôz¿¡VO¬õ·ùm2®H z›’Ö¾ÇQ0FQ‰);âLn$nMõ±àÔºøÚÜãÎæ˜¼ð h_‚Z"À¨Çûthaýt¹ á?¾éñøß ì; ëö üŒg8 ¿¬J§3‹‰³4»Ç€¯u騮!ÊøÂ,àµ:ô½æÅ=¾  !4ÒwŸ6úÍ>«ÿϽ¿‡¢k„ši¤y˜Xþàùø·þGeBøŒDÂ~ð3ŽZ¼€} G0`œkcJþµY;qMÝöëÌ(å=ªž]ÒîÎ9 €Ó8¦"ª ç:P«Å·úÙç®û¶ýX»=sðmõþ K ä„î~©nÛ›­®ìø^m&ø½GwD(xTEU¤¢‘D8€¡…µ·é›F/¸ø Çã.ðòiT¯×ëÙ˜7‹S„Ô‰,÷Owùø¾Lwÿ˜ŸgOà^²7°›Çãÿ¢J(„ÐÆGé^Ûà*NÒ)à%>» ¬®R …ši¤y˜`®ï‘íø$±ë€Bx‡D ®û&ûï´ˆƒÓXS)ï;oIŒÁD|Æø?ÇŽç3LöÞlÔAN0wH.ƒ|ÜËØf dÙãj}Æ5×UÀ£(T˜ ¬«w=ÚO²c}c;CÎ`'¾¢u³Äy Lº/MÙãô#„l|vYüû4¨ÓÀ"ÏÆü'à¿uŠyʼnžŒóÓç¤ð"`gÞñbÇþíd"„ši¤y˜Hþ <ÜÛ±ø„Ê)„ð‰„DÇõ50õZMPæ.d–W·-o~аcyÜ´n[g¼å/ݲmÉÛÔ“Ô‚öâý0ä¸m±«ÞuÕÎ9óë+jõÔB?ï0-y\öbô@õmß™1ôð;<Ç:W¶xØLK1 ̸žÒŽ­0™ý‹2âGýÁŠƒŽjè[G/¸¸Òãñ¿ؽ‡ë³'p²‡ã>Öéå {G~t;«K=Ù§7¿ñè¨oÒ©àóñ/¶Æåk*¡Bó ̓4“Ä/{d;V È?!„‡H4 ºžß^IcÑV4\—¼³@Ái`, õ©p  È6„û+^jíÞ~´Íì°Y…•çA,`Å +˜òòc7«÷™ù©ËÙ$‚D `ÆP[³ûÍtlØ1¾Í)¬uê_ñ&v,Îeϱc8œ:·ko²û6¾ž¿ññè0}óá oÅßo?ð‘®ÍÇßDX—?Ði徬®û¢gßUŸòì8øçä;UøÁßáïo1««UB!„æAši$&‰ëzh[ÎŽTI…>!Ñ€èzî˜Ãúû˜_«eWœ·0ciçoöÜ ¢ª™;†rù2tS|¸Ì¿ìµùS4khÅ­Çç¯}œ)o Ï Ž©5Lk¼[󌩄1cÚýãyÜV­¸Kme9mîE•}~몄¹‹¥Ì£“-|K8Ðv˜ ÞgŽÑ7Þp'~[É¿0¹ô/%n ùÄFü޼˜ŽÌ^íÉX?çÙ¾½xÜ£ñÎ^®SÂ|è~hª„B̓4Ò}q ÑÕl7Ä1-—B,Aò¤v€ûÙR@ÕJ(¬7;»¶øk~±-qp­ïm‡UðÎ{—%7ä# gEz?SÚ@>õŠ¥µ™ÛÕŽj®`ÀÆm:Ôu¬Z ÷¹Ùרò–ïúê7$ë0På6`­-ÖÝf?·°MNÆÍ½¶ãørG²+H©÷™£:v¨¦o!¼áýÀÿ#@_Õc8×Ãq¸W§“W¼ ˜íÁ8 üɳ}»žøsŸx³N o8Ôã±[åBh¤yæAb¹¿ßÈ3‡8Zr±J+„ð‰DWsÃåÔv˜ËѵšÓÈÎw‹ Nôf’FcÆy?ÕÝæÊ¥éÄ₪×âˆlþ¥¦ý8Õ±¶Ãðóâ€þ>Ž>aSÖ@¶!ûÖêf¡qD"-MˆçþgŒû äñ*Á@U) 5"T¹ ¸"ŠŽé¶âx±6d¬ŽV çæ°0Šì¾úÂÖ§x<þÝé­¬¿S]=ó]ÄÖ‰Â/|Éo=ßÓýûYÏÆ{ °¿N‹®gGàÉžŽýqàZ•P¡yæAš‰Iæû=¶=»%s¨TZ!D·#Ñ€èj¢ˆ} Ö‚l#»´Ü©¾ÕÑã|¼ªë\Öa.{Ìiü».¶äíq«P Ã¤QÎý £ˆ)k ßwËæ#‚†iÛæwz²Û6vjøÓá¾j·[/h×ÉfÞ,#È >À„¶¨)~ p…"6}0Ú2Å£xíÊð} á_'^Åâ+ÿ,é:ì¼ÓÃq¿جÓÈ+ž ìçÁ8.õtßüƳ1k•]÷ã³ËÀð+“[¡yæAš ?ùnnÓ“‰…;«¼BˆnF¢ÑÝ3Ô[8¢QÏ 2T´”m—l@i—Ÿ.dù×f\rBJn¤Á¨»ÄYÑŸ×d<´Š)k ï¸Gß+©ˆä·½l«li)ÆZºŽ¯Í×&S¯´™Ÿmê[[Œ1ÈÔÒŸCëÉ rb‹í|r´Ü²;yÖöµõ $„wœŒ¿9Ã3sz ÿ z6æïßÓé㾬®»¿)¾­²;ÒéÑÕ<×ã±WåBh¤yæAb ø>°¶·+uØU%Bt+ ˆ®æ©OáÀZ¾œ’éê:–þcéŽO&v+.¹×çØ¢p ßd.ìŠÏ‡ ;ü '‡yÛ3e äYÁ²Žµ.Ùß® »;méË;è5Æ`as¯µ­ý™ ØB½¨ª]òüv ·Œ:"÷ŠŸis5/!ä7¬,Ù£Ö0Ëô $„wÜ|Âãñ¿¿W`>8Ƴ1o"v~1XîÉXÏ÷|__Dã 3€×êéj|ýÿœE3!„æAši$¦†ÍÀ·ztÛvþø[•YÑH4 ºš¡Ù,keÛ»TYüO¶ `¬ŒAÐébÇOé+çV­W9 \ òc.¡¯Î”4OüòŽ‹ë}f©)‰%°ü4À– Ù]Ÿ¿ÏVnv'‡‚Žå´¶Dèa ÎYá€ÍÜGÞ]€ü1‹:H’–ö‰­>…ÊÊn–xÌœÅúÂ;ÎVy<þ5Ç]>æá¸ÏîÖiã¯ú=çÿ·z¾¯¾æÙ˜ß¤S¤kYìáéØåùüB¡yæAš ¿¸¨‡·m1q¼ä?«ÌBˆnC¢ѵ\õ%÷5XtʵïÔ”ŸRlñó·ðb±¥¶ôUVõîJóR[{JVµ“mH3Ê. –¾æ™ôòðF»— 0•H~•=EgëÆ:P)PÔH¤ÿUJЖ ·gÖŠÿB­l+¢ {íÖÇfž_pp„¶$ö\!-Üc ÛùT1`»—¾‰„ð޵À;=ÿ¾ø™Ey°gc¾øNï0À žŒõüÙç¾Yóî ¦S¥+9Øã±_­ò !4Ò5 ¶óÍÀO€Ur!D7 Ñ€èZ–,b÷ HôU6úc ¢Ÿ0ª2lµs@Dgg’ÇÓændÇ'È80ŠÛ…Åç味gMþ?Ì¢ÝRÍ€;f +ë³+ì31™@Ùáa+Äîã¶c_½õ Î8Z·£N6Ø‚³€-u)¨º]<^ .eB ÷Í)EZ»vÓ7‘^b‰W¾GžŽ.pŽGãý00äÙ>þ>p™N/ñåGPß2pG÷Uv/3Õ}<ÝÓq7ëT>!„æAši$¦˜óMÓ`;"ç¼V%Blk$]K±›k0`GY_zÿ„Sò[G`;: D%Mòh¼Âè¸r½°Z=¿¯ “ß@6†%¥{<ç*P`+õY%Ž£^…8·™U4ù£’hˆ2'€¨( °¥Çˆ­M¤¯Ï œ‚Ê8[.ˆwÄ} á-¿¾àñø_ êÁ8IÆêÃÀ[tŠxÉà(OÆz~íû¯<oxƒN™®ÃWÑÀ¯é­æ—Bó ̓4~ðWàÂi²­CÄ®‘߯/çE!D!Ñ€èZ ,Á”$ŒÞÙEp p%(:V1µH4 ºcXPi¥_Õ|JËÿ]É”eŸ•|næ3mÅc6Û¼².-g¨ØdŽ*ÐQÉߣÆ@În¿<ž€)j šæ©ÅT.  ÊŠZ«ðÓçØ:¦Häø6ç0wˆJ¢ ’×’^îëKâ Šâm¢¢˜ ?Þ2޵ú΢Gù~¯ty°s—þu†‡ûó­øe-*Ú ìèÁ87çøö"ÿK¼êÇ'Þ¬S§k8ÀÓq[à—*ŸBó ̓4Û3‰QŸn™œwït!¦‰DwSÑð®^áo+VýÛb#œãó%ÿ¹Æ“\âÛ9 #h lû1W<Aä4¨£ÊÕìŽQö9Q•UýEì\hþ—]·šë¶d[+¢ÆOP ؊ϳY±Fd‹ãÆOå¢Ü÷‰ª… %
Äa %Z àL;ìwÖ—Þ%?–øúìÀǺp\ç³<Û—ß.×)á-ÿâÉ8¿¬ëá:ø¶Êî`w>]¯Nw©|B̓4Òçñø¦»¬%Ÿù‚“u*xË“Ã=ëçz¼›<¯Þ¤S¨+ØßÓqÿZ¥Bh¤yæA¢ ø÷äßµÓ•¿®~ ¨ÃA1Y¨!$ºúøt›šù¦wi>ßÈïØä¯”¹DT JÇ`;lÆa å¹‚ÇM Ê ¢¤á• rïÑzmT"ˆÊ#Ü}=ÕßQd£b³=×0·YA@”_±•¸ 8Mö(÷w~Û3î EqB²ï³÷¥ûÔ:bwÙ™nkæ =û¯T>!„æAši$º€€sµ8”8:ê›ÀS´;„D¢k C¢LÃ<×ÌÍŠlQ$¿míØD­÷³csÈ¿®ãçØ‚Ë@TæÙ\Óßf…Q[ ¹TEØìk ®%ã( LEù¾ÈR¤ úRë[Þt·Y‘AK0ሠ¢Œ˜Àf^"rÑ!€-ˆl™` r?ßæÆfK¶/'ˆÊ”‹òîQq,å. Åb¸OßDBô ïôxü»ïî‚qœŠ—·Ö)à-Ä?vúÀùÓ¤&Ÿñl¼Û¯Ð©´MÙÃã±Ëi@¡yæAš‰náCÀÃÚ CYði`©v‡b¢h@t-6i gšä¹Uò厶üvYL@¥ÛE@U A¦3OñBv,ím³Y€-Þκä]l1~ ÿ^qÑ8ÈLA9 fzîRºº¿Õ|/6ä‹ÑYkÿìgØD¨a3"Vm2ñ6;F[*t džŸ»ßÝ®R§× ƒÛ@TæLPq¿ù!„èu¾üŸÇã?Øs~þ“ˆ|ãD`X‡¿·üñÝÎ0ðÕiR“_‹q|BÖ¼Û_W…ÀoT>!„æAši$º„'€ÕnhQÞÜ|ž8ÎE!¶ ‰D׆%+ésÍp×êl—’çÛŠ÷°Üeø­ûE,@©` møç"×e iòfœ*ö‰­Wdß«D”DQ¥h`Ò‰švU™` Ýè·Ù(×= ÊÆDNc?ÿÐnüÛÂ>Ì8Ĺh„Â}E·€–`ÀÚlô¥0Þ‚p ªŠi(Ù7eŽ¥Â J·¥¬æVé›HˆžÂo&nøHøä6üüÓ ãákÀÕ:ô½æ_<çwð;e¼|Á³ñ.ž®Ói›á«hàN`½Ê'„Ð(sM°EÇ€¨J$` ℬˀm9”: Øiõ^!¦ ¿>áñø^µ >÷%À =ÛW뀷ë÷š}gy2Ö/L³Ú|hz6æÑ)µÍðU4ð•N¡yæAš‰.äÍÀí†qÇo+€çj—!¶ä‹Dˆ®¤ÙdMê6à \!AËZ},Žcr ³X`¬â–ˆ!ûžù攋)¨Š'(uèà6På4Púü’÷+ïO~9jò@Q6¤¤Y_.ˆJ£ ¬³6óú(i‹A¨¸‰-(Y±Ÿ©aAP.°%¼H í>á¸RØì6—º Øì{d] òÏ©(ˆá} Ñ“¼ø‹Çã?šÂÏ›|ÄÓ:+ïÑoÞèÉ8~0Íj‚;pŒ IDATóà{žy0[§Õ6ÁWÑÀm*Bó ̓4]ȽÀ;´*1À‹€kˆ£¦^ ôi·!Æ‚D¢ki†<Р㘂°Âi t°ã‹%èäJ0ÞÈÆ$ZˆrUÎ aiz,—ˆ¢b4µÄ©M½-mLEù®¨™: @‚M\l˜Ûæ0ÛŒOï‹2ÑYQAT/¿ŒÅmÀ¦Mü2€üm[-ˆÊDÖ*(sÈŠÊâ\—ŠŒøÀ–¹4”×Ë]ú&¢'Yçù?°˜ÂÏ;ØÅ³}t~;JˆX¬ò*OÆúådÆ;ÝðmUá,Ž©^ûÍe7OÇ.§!„æAši$º•OWj7ŒÊþÄî ÷ÿì ]"„í°Bt%ÖrW³ ©p rù¦» )iÖÛq7ö·H<`ó¯É¾Îf¶B‘*¨T9 ”ÄT:Œr©ˆ&À2ù äÇnގĵnÇÐ ØDD`SÁ@ØÙiÀ–8 dÅåNen-WƒÐ&b×µ€Ò…¨¥P ”9!dŸ‹}P½m—*‘-eH el^Ý©o"!z–‹ˆUç¾ò/À3¦àsöÄ?…Þ„:̽æL­£ÆÖðÅiZ£+ñϵå:µ¦œOÇ.Ñ€Bó ̓4ÝÌëÕÚ cb1p&p?ðyàéÚ%Bˆ2$]˃áΑf"pÄ©x W>ÖÿLÞI$>ŽEX0Ê%¬dÑUζÒuÀuSˆrâW0qAAlQòº°ƒhàñ'˜ôr­an ›Ö†Í¤1ŸÔ5ÊDdíÿ[n©AXlØÇƒԱ 'sm6 ¬p(4ämæ=[÷‡ŒQ0`s îø¨ŒSÈ ÊD¶4Ú¡s4[kY’ ÑÛœŒx<‡ýÔÌe?6~Ÿ®×áí='x2ΟÓUdØ$^]èOþV§×”òdOÇ·«|B̓4Ò¶”Ab±ÅÀÿ&ûOÑBˆ ˆ®¥¯Ám##ØÔi U:âVã=i ·Åc‰%èà*ŽòwÅ¥è.06Á@X*"h»„%‚ÎÕ‚°Âe B4`û“Ÿiyái+ÙÝ5§TàŠ‘€Û¬OWÿÛV¬A.âÀ‰6(u³îY§›kìçšúaIÔ@‰ˆ ƒÓ@*rhËfÜ Z®¶í.PŒ*(ºØÜx¢°ƒ³DÄý×_ºNYØBô6·çz<þg;L¯žçÙ>Y¼S‡¶÷< 8Г±~aš×ÊÇí×*»©eOÇ}°AåBh¤yæA¢Ëùð^í†-âYÀW‰ÝΖj—!$]ËÞÉÃ7sÿˆQÐŒŠÎ©€Àm–Û¼›@ë6m!{_™x`TçªÝ´Ùo³ú°ÝøG „Ý Ê™Û¶³@ / H÷aQÄý_ùSÒ@Þ¸.º!lZ¢¦%lºNN<+pË; ¤b¨ HjæÄ -!ÍÄD9A^<`˜„ô}2"‚0ë"P¸v¢Ú±%®1w‚N.év¸q TˆÂ{ƒ¾…„˜üqcÀW>,š„÷ƒŸ‚ŠÓ€GtX{/?f>\2ÍkuðsÏÆür`®N³)cGOÇ}J'„Ððu´âLPŸ^«²M¾ŠîU鄚i¤yð  ܬ]±UÔˆW Þì¤Ý"ÄôB¢ÑÕÜ~7׌@³Ù¾Å¹¿ÓƸÓ$¶®P D£ˆRçÐEÉ{äW¥·„ yÇa /sQI AË ¬ „y¡@X Äξ‹,•ª5L]6ò‚'5~ÜÜlIÝâ1ÚL$Aä R—Ö çÚ½?Ê='ÌED¶åh>ǺûÑiºÛ\d‚uÜ Zñe±Îk[×+0(qFpÄ#eïß „%‘!¹ÛQ40´°öc} 1mø6p•Çã_žüÃv¢8É=˜ šÀ›«ÿO.ÊEä]Z›u*ÈÄ8‚0ïvàˆrqÖ>È9ØÌó\±@6¦ Ê?/jG4d„î±æˆlDekÉZV‘:WˆéÅÉÀ&ÇÿI`Ö¼OøŒ‡sä¿×aÜøbÉûà—*¯2üºgcÞ8D¥›ä4 „ši¤y˜î'^Pð¸vÅ„Q^ |'Ù¿g{h·Ñ»H4 ºk¹yÓfV'.#Nƒ>/h‹ l©A¾ñÜZž4W[â–‹@Ñ>re¶ÿ­æ|K07jË›õ63¶ŒóQþµa±ù_äÇæöCîý¢¢ +ƒ`êì¾zÊÊpý£áåÍáØm í80@Ò4/sËèùø7šÀuj°¹×%œ ¢á@è8¸ 7N#ÊmC.–À}^A@{+pãh .Ía{ù/.ZêHˆiÅ]À‡<ÿRàýð>ožæÙ¶?œ¡C¸'x:ð Oƪ(Œ,>®6|£Ê6%ø*ø³J'„ÐÆåÃÉÛ@ILA3„f®1Þ ­#(ˆ›óM·ÑžÆä…N#Ùvh°‡%øÐý¼ÈfãÂ|l‚­ˆ(°9ÑAÛ-!¬r‹‚ÑDùØ„N äÍÃ\þÙ‹™ÒòÆuÑ¥#›-©Û@ÛqÀ5«Š—œ@ê&Úœ°Â„®ã€ ]Ë×%GàD¤"W808. NtA¡ñæ„…˜‚ÔA#” Ü}`GqhÛKõí#Ä´ä,bñ€¯œ,ÛŠ×Í÷·Oèðí |ùñ² \ re¸¸Õ³1ÌSé&•°Àӱ߫ò !4Ò[ž³÷I`†gÛüâQá?³ˆs|}à{ÀJ•¬€o«ìúãT¶Ie‘§¿¹Xb!„Ðþ *¹?s Kž“¿=— «‡f3å ä‹Þ¹jäñ5áÅ©h lZ¢TŸÏ Šåj%#PjTi ´<¦>·dûZÐ à×oÖ×7«Øþ|X_aÀÇþ|KK³¢A²EB47´Ze``€å×,g\6ƒ ¼®8†¥b-8à—ƒQË‚Z€ÀoPu úX‰ÆAK ´=ÇleX*ø‰à€Ÿh?à7«p  ‚”Ö L°ýýÕ0DØ,$f2Þuz×ézŸ¶;<þ¿ áù}Àß;ø:¿¬ÖéÚ1\)Éûp§¦Ëj3ðCÇÆ| ð~Mݨ™éè¸7jêDDë ­ƒ´’q7p°E‡bÌL'ú½Ò¯ŸË€¼‹ˆ'ø×í$,ÊÁ’Qu ѪÀü<úz´¹\JT!H Ô¾ZÛ”ü”«öÍ–‰Šɪ±¯×µD¨=7šT¨k²¥CAØð°‡Ù,×לßþ×›ŸìßTz°4R*‚_ŒÚTÚT7ÌÓîW>7•›ßl?ö¼°I¥oÖ– C²º€_k-ƪ˜-ìÞ ˜ÕjkÐHq xðÑ[·<©w‘®·ø+‡Ç?øîžÿM¢Ò.yø†NÕŽq$ðNGÆzº¹‘up̨i5»9:n…DDë ­ƒ´’Nòp ð¢Ř[ ܬ¾†»•¸Dº†Bâ„Ïÿ O¾¶‘ Fµ¢¥]5PnUP -W܇å é­JÕöµ A}° L¯NPÙ°,aßRuÀÒB .0`VH©$ $ A“2õ;xðº[× äu¿.\UØR*„Ô*P«:PžÓZÛ‚xxÀOü¦- šÜ‚&áf÷ƒZ ¾=A"Pi3x~Xn_PiU`~¿0ñgÍ ÍÚôoð¯Ò»ˆ”] ¬rxüK€Oµð¼÷àΕM¦?tšv —ÎÁïiºº÷zÁŸŠ{Á)Wô9:n…DDë ­ƒ´’N³Š¨|þC:ãbO¢ª/7ý.FDÚB⌧Ÿãª;a0Qm VuÀ ”âÕ|J¥0öœÚ×¢ @)Y© ¥¬¿ßâóJ‰@@)-”` ,öðAró¿4xnÚX›´%X·‘qß@Þû Þ•[_/­*ÄÛAR<àWÚU”â›öÕÀ@µÅAZ›Û--H0Ôà€qÕ¿ñX¥ª@$ªØZ$Æ&¿w ke„¦UÃU3÷ɯÔ;ˆTÞˆ®º~ GãÒÐyàÜëc¹¸G§hǘ œåÈXžÕ”5×;6æ<ðiMݨPh@DDë ­ƒ´’ö±™èƒët(Æõgî,àçÀ/‰.öèÕai ˆ3;ˆ•›^gÕÀ ÌŠå@ѯ ÔݯT¨J•0Arƒ?´_µŸ²ñomoØ«”‚ø8üfß; ¥PA)å¹ÕïY2ª 4ÙdÕ‚ùŒûòmµÉ_÷\áë…!Q›‚xpÀüµ"Hl˜WÃF«‚j%‚DuóVŠ·&ð«WîS×¶Ào98Ð,L`i)$‚>–BýcQ˜¢õ¶ýJ_è¦~_ï4"bxø7‡Ç¿4 Àý)p¨c¯é-àšål`²#cý¾¦«%×98æ q/@åWÛlÒÔ‰ˆÖAZi$ª\\Nt‘ñ³¨üž±ø:0W‡DdüeuÄwÿŒp¯Ù¼±×lÎÈeÁË$Vt¡q9d]IV+ ÍǃÊ} üX`¹Už[}N¹]@Py¼Ò>À¸Ÿü<þµ0ö¼Ê÷ªû3~í1¿¼‘œ¬&PòW(•Ãfp"h¡LýÚõ|vÅ<Ýó~äG¦>;°=øPϤÌ^Õ97&Þ«¼œÐ‹ª'„Ñ}ó< ôj÷ƒÚcÕó  þ~ò<)ÏKôyX{nõ6½aÝŸ ê¾V T[•ʤV.¨´c¨%4ŸïÂ@ðÄÔ=r—¬yz0Ô;ˆ$-L` TÚÄñçõ.hÔn Ñ˜,¯·•À®ßÈå×,§­6yÇÖ{·½á¯(ì )–ƒÕVå[¼ Qž¿ Ö² Òf .Æ÷¢n³?ôC{0 h(¥´!°<Ï7Ú4´Ò–À/†+ž{xǽzw‘®îwxüû_3>?‹èê—”€? iLãÒ/'U’whþØéؘ—³5u#ÊÕö[5u"¢uÖAZI—ø-p,ðר]A;y/pðà3¸[ýRÄ9jO Îyú9^<ú™ÐÃB[‹¨mŽ›- B³Ý€ÑŽ R~>0[$ÚDW„{Õ6•Õöao/à7kQÐü1ßhSPמÀV… d ᇠ…m†B‘·ÿ7W´ã¼Ï=¸÷±\Þût6çM¨LzÔš rxñ¶a­ýD¥mAìcaàÅÛ$ÛçFXžã01÷õ-’í ½ÒzÀlQPmI`† - bÕ *•Ê_÷ý°•€Aöv†[ÿ|a‹ÞYD¤‰G‰~±çêÚñ(¢«€Sÿß7é4ì(“ˆ~íB)Ì À£_¢ Å °8Ì±ß ¼NtUŒŒ?æ;8îVkúDDë ­ƒ´’.?%ºXb îV‹êDÓ“ËïÃÓgQÀUdÔÿ‡(✷Ìc=y>Ï1ÁóÀ3“•@å~˜ÁÀìWoô­¯»ƒÀøsAÊócÿ~üs¿ÁŸñüùºÊFp 0* TÚ4Õ’Îèß9ÀÇžyž¶Ü@~ñÉ-û2oL›™[êe½ØœWB!sN9@P9¢óÁ‹®¾7Î’A#@$¡Á¿ŸW¾$Õ f` ¨|=HkU@¢UB­åBå56³ùåÒgŸ¾wû}zG‘¼äã8x;pœcc øPÔiØQ>ITzÑ×?Ö” ÙVà\ÇÆ¼ðM݈ù,n^µø/D½dED´Ò:Hë é&/µ×ØŸ(ø"ícQEˆÏU بÃ"2ò<qÕÇ?ÄEï=’ïN z¡·ò9Èå —…lù–É”o^ô±2¨Þ¨…¼?¡­Š‰Íæd3`Éû½]A]Û„R9(`´h¨üýͬ~™?øéÏÛ»Wò)ŸÛÝ#俦ì‘=¹gR†|G6ï‘ÍydrÉzÑg!“ñðªóÝdz̵g3 «ÿ1æ=Œ‡Q¢a¬‚AXy,¨…ãs³ò@`¹o†ª- lÁ’0A‹¿Þ•Íyzè¦~•º‘VõO—ÿ&cø¿?à.†Žósà=ŽŒõíÀSš²!Ëýâq®cãþðM߈x8ÈÁqëg^D´Ò{¢ÖAÒíήfèP´¥ø/à›ÀÃ:"#G•ÄYgœÂÿìØÉQ=yô¶êf[‚V¥wÍØ?}â™öžóß<º“ÉÓ³?™´[ö¬l–iÕÿD%…°\aÀlOoM`´,HkKØ*R$7ÿí-*í 4ZDû×Âju‚À¼oB#0àÛ‚C „!¯¾þJé”'ïܶMï$"2>ÑÈy:cf𠆎³Ð¡y}øKMÙ°„D¿dt­ºÉÄò{ìºK€Ý÷ßoiúDDë ­ƒ´’.öð¯ÀÀèâÛvã¿|8‘¨êÀotXDFæ‡KÄY§ÄìwÆ»Mc7ù|¹â@“j™ÊUç-V¨V(ÿ§ZßÖþ °W°V¨ÂZ ÖÎÀ ˜- ’•ªÁr`Ào10„¼úâZÝû0\™÷EžºxîÂÞÿîìåó2äòÙdr™¬Yq jc«8P™s#h⥼ÆŽŸ­Ê@ùÁX«£ú@˜6°b­ ÁÊc¥xÅJ•!Šo­/´ê~µ%‘aûwà†Q·…è Õõ:ç€?qd¬Ÿ+W†ç@àyÇÆ\ º*p“¦o—½ìãà¸÷ÖiúDDë ­ƒ´à¢öM‡éP´µ§+€›’‡Èð¨Ò€8íÙØ>swžœÞÇÙY¯v>7l`ôªÂú«Ék¸‰–i•´HVˆüD…Ëc~¢:¨†,­ Z­0BñÕ×8íîyÆ¥y_ÿ|á%Ïã;ٹSÌbÕMóDehÃÞ³ž–+ÔUmûõç‰Ùb ¨V몄¾ñ[[ßူR•Âñ«Á(Dà—¿N‹MÖ=7ø¹çÙy‹Þ=Dd<ü>ÑU2zþø©CÇé¾ïÈÏO¸Ø¡i¶7€óûÁfTæs$|˜êฯ¶kúDDë ­ƒ´`-p-Q°ÿ G‡¤-ÍN>ì$ ø:,"Cÿ¡ˆÓV=ÏKžÇ›{ïÉ)±* ÚT7~ @5DÐBÛë×ÃDhÀªm mª€äcf30`¶&H¶%ð[ <ók>wߣ8¹|ø&ÿ¢T`F&ËQàU T•ÖÑG/~å¥m ¨j· ñõd›‚xp 0ªÊæ%PP ˜mêƒÑýZ{‚Êó+Õ*á0Ñš¡‘ ¯î›™ûÚš§õÆ!"»b;ð&°T‡bÔ<üaëïðâOŸtd¬?þMS6"ÿævíýràŸ4u»ì‹ÀdÇýM¢_´Šˆh$Z‰Dà¢Ê‹{‡ *Þíj7àÃ(< 2,zc“Žð¹Oãår|gzOžz£ùärå6£MA¦Öž v+ÿTxÉŸ0ö¡ÖªÀhK@¢r5 `l>[ƒ ÚÔÌ–åAåïo…pu6Ãg®Yîî†ÄaK&çûöÌÝ8}NnYÏÄ ¹l²9/jQZd2^Ô¢ SiKàUç¼Y‹s¾›¶(¨„êÚ”[$ª T[$+$ƒA¹¥A«¶+¶¿åŸóìÏvõŽ!"#´†|xň+ïþW‡¢#ýXìÈXOn×”í²iÀk¸WåàMß.y“è—–®é#º’NDDë Ñ:HÄnð7DÕ4¤½­¾FTéFá‘&Žñá%ä÷žÍóæ°lÒDèí|> d³–à€}4Õ~÷ÉŸc[½ºil|L­h`i} ø)­ |[E³MA)Þž Âç[¶±â·8çîq~ù°'ç§ÏÉÝ3ufîøž‰¹¼G6ï‘ÍA&ëáe“¡x` >ç^ý»b50Öî‡ÔÂrz$VÍ H†êñà€Qq V¡Àþq(QÂ@øÀÖÍ¥(0 "#ý üÓ¡Q\¦ÃБöV;òo°×½ˆúºÊ®»8ÛÁ1RS·K¶áf¥É¨·ˆh¤uÖAZI+Ž' £CÑöVUû‘…H:…¤£,=‘üÜ=¹gÏ™?iB-8ËA®ÈÖ‡̪Pû˜&ViêZ!ÉûA<@ÖúÀoRi Za ñ1ÂòÎAذ‰tB` âÐ÷OžºÛœÜÊ©3²Ç÷L¨U¨TÈd½xÅXhÀ«eZœ÷J%34‚YQ öy-<0¤*=0Pi¹ÐªÂ@øÀö7ýSÐ5 IDAT¥«îÛ¾Uï"2 ¾|A‡aĬ!*s¨^Òé¯?sd¬ßþDS6bNîqlÌD&ojú†m7{Þö¢2Ñ:Hë ­ƒ´’¡XZ~Ÿ;L‡¢í=\ üR‡B¤žBÒq>ô~¦ÎÝ“•³gpüÄJp W dÌŠÉj)ÁD±øf1C¨4`l•ÌÐ@Ш-_  50°ù –Þu?·¼pñäüÔ=²7öÍÎ-ë™è‘íñÈæŒŠ–6ÕÀ@²ÂDjµê« „a]h¤òx¬=%8»_®.¦T¨ †ô/µ$‘Ñ7 øQßGÙuVê0t¤,Q(d/GÆ{$ð„¦mÄd€—€yŽû³À?jú†-pôw.ÙòØED´­ƒD†v®ŸIZ¨ÃÑöëôï_6épˆÔ(4 éäÈÏžÁsf•[ä˲õ­ <[p€¡Wh°´%0Éà@£*•džҎ:«%Ašƒß7)¿Ç¼üU¦d.6[$+TC/iVq Vi >ÿÕ@XûZµê@"8˜!³%AP ÄÁЫ Axõ›ëJ—(0 "càC¨¼ÛH¸¨wªt¦¥Àë3è ™ÑðuàËŽùiàpMݰ¹È ý_""Z‰ÖA"e^ù}ïrÔ¶ Ý½|ø'À×áQh@:Ø#¿ß<®š6…‹'M„#8`«8PÝH¦y«‚؆1FHKh Qe L¶%Ð@%$`êÂC¬.à\½v—tr` âسû¼uÏ ^¼ÏÛ'\Ù31“Ïõ”« äÊÁŒ‡—µ„êæ¼¾Ü@,4Pùh’U,ÁÀÖžÀ·Tðkn(Ââºç/Ýû Þ«º©_¿ì‘±r+pºðm^Õ¡èXwU’pÁçokÊFÜÀo÷»Ç4}ÃRòŽ»PðXD´­ƒ´’]wðEàжö$ðûÀÿèPH·Sh@:ÚEgá=ó<¿ëp®œ4‘|]«‚ŒQq H¶)HûIi¡EATƒÆýºö‰à€juŠÏüšK;ˆ«¯Y>ÂW‹üѺ9¶Ìnû@PZ€Ç\ðfày³Àƒ 4È”Bo AüÂF‚ÂfüÂ+„¼À[«W“íy–[–¬é¹_¸xòâ=æænÈOÈìë‚Ù\­ê@TqÀ‹Ïw¥eAƒ9>T&¿©UÕì­ â¡rµ£²@8Ĺ.Ÿƒ¯¾µ¾tîªû·ß§Ÿ~c{ÏSu(†åsÀ?è0t¬9D%ysŒ5 *»NÓ6*ƽ«þ•èh2tÛ‰Úø¸f°SÓ'"Z‰ÖAZɈ9Œ¨òÀ'y?ìF>ð÷À_;t8¤[)4 ]áäX¼ï\n˜4½{{£à@>WkUP©6PmW`\ynísŸèq_ ›È•жA²Ú€0[˜•†zÅyòꫯqî]÷³ëÈŸ³„ƒ‡±æþÙkÑÑLì;Š\nžç‘±ø%ð P)l[ËÎM³ñÉǘqèOƒ§¹eÉ.—zÛ{'ÍÞcnî{=“2'góQ»‚L.jSÉDÕ&oÓKÅ gì“¿"?ÁëËæ¢à@6µ)Èd¼Zk ³Ú€g©2‘‹DóoI`¶*0Ûت T* ˜v¨‚ ì}Mé 3÷Í_«v"2βD¥éP´Ì' <¡CÑÑžtd¬Ÿ®×”šéÀkDåß]rp­¦oÈ^ÇÍ_O'êï*"¢uh¤uŒŽ‰À'ÏU!öW_u8¤›(4 ]墳ðV¿Ì… öአ½ôU*äÌŠ–6ÖV¡±GžÒ¢ 54` ø~íñá†ü€þ×ò…öáÚa·#¸ôÍ#`ð|úfžE.3“µ €—x×ðˆotÛBAâ¾íæS.¯P­>ÅPÜ ƒ[6±uÍrüâuÜyî“ÃûEK§ÎËOð¾ëñ–esž—ÉB&µ*hH¼ÖÐx½ay¢bdµÀ»^U òWûÅpEq ¼ì‰•[×ê§[DÚÄ"àq°Ö¡‘zÿ@Ôš@:×û€ë`6°MÓ6ªnNslÌœdh^+ÿL¹f&°YÓ'"Z‰ÖAZɘXLT¹q)ÑÅÒ>žÎžÒ¡n¡Ð€t¥3—2ob/ßîéaY>‡—ÍBά:ÐJp ±«2`†Ìж°@Pûšyû……"+¹ìæ• }ùËa–go^ʂŗ0}ÖqäÈúÇ®bö¢•Üyî°Ê8¿í½“–ôÍÎ~«gbfQ&^& x™xx€D«‚Ä´­E`˜Sa x¢ƒùsï¸W?Í"Ò†þ¡ü^iìàTê²Ó}8Ï‘±ÞHtµ‹Œ®·;8îÈ~i&C{ŸßÛÁqÏ! <ˆˆh$Zi$cgà‰JãÏÒáhD{|W‡BºBÒÕ–¼—%sfñ­ÉY”-·'¨TÈfÊÉfp í§Æ @¼Ê@Zh Y•`¸v ðÄú\~ïà }ù+a–çn]Æ'|…¾ Ƀµ²€×äÝ"­--0дâFx ¥ÁZÛ‚â6Ü [^^ÅúǾΌCWp÷…C{v_vóšâ²¾Ù¹¯ä{½…x•¼ècùõWs–¶*±ö‰ÇwUq0\Õ¿¡ôõóó+º©_½¯E¤]M~ÌÕ¡hè#ÀJ†Ž6 XLrd¼'?Ö´º|ù¼ØÃ±qÿ=p‰¦oH^"úå¯kö+]DDë Ñ:Hë ŸŸ“S Q%ÇvñDíJ¶èPH'Sh@ºÞEg‘}q-ËæÌâ+zYèyQhÀóʃÍZÄn°Ë›Èƒ¬Z¿‘¯ï7×,gèȧ/_Â'|‹Ý÷\THÒÞ-Z­2` $Ã>–ð@õm( FUJ;¡¸½Øý/<Áú_\ÎS× ëŠûcÏîËnz¹¸´ovö’ü„ÌqÕnFX ®Eåµ›ó†–c³ B‹Áƒýü«fî“_©°€ˆ8b)ðC†T+€ë0tþ2w®Fx(è£uÆØ¸šè*"—¼ì4}-û p€ƒã>X¥é­ƒDë ­ƒdÜí üpnV°ê4«‰*¦h­,K¡‘Ê¿fÎ"û–î5‹K&Nà¸ÊÏGj{‚¤0Ñë¾rwÊÑ›ËÎ\·‘«Ìgå°ÂŸùÍ<úf}›iS—ÑãyäˆÚ˜aŒñÑì]"Ye r?`h¡d›‚Xx €RüJp`G(l…Á7C¶¬]Áö×.ã‘¿\;Üûî3¦áùùÞÌYžÇÌñ>ÃMÅÁ`y&ã]÷è­[žÔO¨ˆ8hp†C·€ƒQéçnðp”#c½ ¸TS6fŽupÜŸnÑôµìWå÷{×¼»üþ%"¢uh¤u´‡,QE”ßN!ªF ãcQëÛu(¤)4 bqþáûœ?agy´Á2l`y6Ëu×ÝÊð6¿zµ­ƒDë ­ƒÄ…ÎÁͶX®»8Ô¡N¡Ð€H‹.:‹lpغœ8cwŽîÉqT&üú9 ƒ€µ…o~ƒÇöšÅO2žVû¤OÞ¹˜C>p“r{ÓC-,РÂ@µƒùÑx×ðÌ­Ž¡³º@4øhVh(…à 4¾(·+xvlx•õ˪ëïéóàèÓ§Íñ‹áÁ½“3à±€¹xÌð`Vù0Ì÷ BàÁšòc ÙŒÇ+„¼0¸=XÍ{Ï>vÛ–õúÉ‘.XkÞ¼O‡‚AàíÀs:/¬#ºÄ_¾©isû¿uðßä_#º¢FšûѼkÎnÒô‰ˆÖA¢uÖAâ”÷>îÐ{p'xø(ð†…t…DvÁy§1§Päà©S8Àƒ!Ìõ¢ÿ)Ï*?e>Ѷ|@yØÂf^ á…­ÛXÝ“çÙëÿ“‘Ý@þ‹ÐãW^Ìû?w%2ùX;K…¯ò1y¿üN᥽qTBæýÀhQÔÂÉ @õs?%ù*&÷^ÌD¢v•–™øÍ+¼L­Â@54€åcåÍà T>†ñ°€Ym ®Â€_û¼z߯Ý|,ürŨ]A²âÀ`? ¼[_¹šMO_ÂêubˆˆŒËOޤUÀ;‚N…®ð_À)ŽŒõ~`±¦lܸÚÂå$¢¾¾ÒØÕÀ;8n]u+"Z‰ÖAZIg˜œE X¤Ã1ªÖK€ßèPˆË2:"æìÛóÌ=üF¦õ^Ì$ ‡(O˜#È‚—/™ÄÍËB&›x<¿y¹ÚŸ÷²µ[ì9•™ÄçÆGó9Õï“6XoÙ,dóíLäz!Û ¹ Ÿ=S¡w:LÙûbúö¹‘?¦T¥ˆÈøùÑÆy7 ˆ~!¦À@w˜Cô‹DWÜ )W·Žû÷4u-Ùâè¸÷ÐÔ‰ˆÖA¢uÖAÒ6ߎ ¼¦Ã2*æUPY¨C!.Sh@¤“œs×Tö=ææî¿Œ ¤‡,AJHÀ³„l›üÕ[Æ((2™Dp c|ÌÆŸS ˜áX ë- #8í…ìÈMŒn=S ·v;pÓö¹‡žª“DDd\€‹¨Õ§é&ÿ <¢S kœW^q¹`wÊwª~`¥ƒã>Ø]Ó×ÔVGÇ­¸"¢uh¤utž__ ÚÜþp; Ê¼#kOààí:â*…D:ÅÙ·çÙç+™5ëxz‰•Ð@eÞØø÷Ì€€Q1 “ró÷½D À¼Å™áƒLý÷J~¿Xp .@àA6W”Õ[®ÈOŽ‚Óö=žiû®dÿ©â€ˆÈøø9Ñz7y•¨Ì³t ëq÷JèNr½ƒcîÎÑÔ5åêÏ—B"¢uh¤ut®Q`ç4`oàRài–³Q “u(ÄE ˆt‚3oϳ×á7ÆFe³Aµí€¹ŸK x¶à@¦öÑÖ’À¬*P ˜%îÛ>oˆÝ<£\B¾|«TèMæÏä=odß*8 "2>¾D´‘Þ-.ÆÝ+MeèŽÞæÐxU’·=üØäà¸?­©kJ•DDë ­ƒDë ‘v¶ ¸ 8xð]¨ ³€ŸUuqŠB"®û‹Ðãà“¯bïý—Yå C©(«`lê›A€ØÇ”Í[‚Ø­Á÷I ت d2ñà@6_k[íªä'•[,XÆn ®âð‹<<""cn ÑFz7¸ ¸CSÞU\úåáf¢_ÒÊø+7;8îwïÔô5ôº£ãVh@D´­ƒ´’îóKà9å÷ôŸëì’ùDÁ=t(Ä% ˆ¸îW^ÌäÞ‹é% $±Š¹úp@lã>›¨ ©o)`2É0%,°«UbÁFÕª½Ìà@O<8›=Sa⌋y}ÕÅ:yDDÆÅÀvøkì>£©î*“€;4Þ›‰~I+íázGÇ­«ìÛàè¸giêDDë Ñ:Hë éZ;€ïï!ªD°Y‡eX~‡è÷_=:â …D\öÉ;óþÏ]ÉD¬Ì`@&q¿îfk)m}ƒ?öxùâÏkð[xn,,¬6à%{.äj2=µà@oìuÌ•ìwòbD""ãâ3Dëêr`½¦¹«,¦:4Þ›4emå—ÀsŽûl`‚¦/•«¡iÀMŸˆh$Zi$]ïYàR`ïò9ÿ€ɽ¨íƒˆqÕËgsÈn`B&_׎ Ü’ ÈXªxC¸ê¿YEkPÀkÈ´ðâ÷±Þ¼DI…Ä-Yq wZžÝÜÀü%³u2‰ˆŒ¹uDëè!àMq×¹À¡±¾<¢)k;.n`L>¦©KµÁᱫÿªˆh$Zi$RQ–'UxC‡¥eçÓ¹¿“£Ð€ˆ‹¾z,\ú=&åö¶U  T?&6øë* $[ ›õÏRÀ³ÜR6ú­Ïkôy£ï™ð/ÜlWP¹eËò“¡gÚÞôí÷=¿ÈÓI%"2æ®!Ú`ï$ƒÀ…@¨éí*û]=àŠåš²¶äêU*ÍÛøÿ o9:v…DDë Ñ:Hë ›ç¨U8xT‡¤%Mºik ˆ¸è™›.dêä“顨Œ*¶À@&k¯É4Ùðoµ¥@£P@ÊsȤH¯6P奤%**·rÕlOTu ?eý/.ÓÉ&"2.¾ˆ›¥ëþ°EÓו>Lvh¼*Éë†ÛŽ{Ñ’Ľèè¸÷&iúDDë Ñ:Hë ‘°ø6°ðgÀVŽDm ¤ )4 â‚/‡Y8á+Õ¶• •[£¶-¶ YKÄc”‡jVˆ’ýÄ_Cò{U3¶ç@<@c)Q€W ȘÕÊÁL¦ÌùŠª ˆˆŒ‹~¢ x×Ü®©ëZ.]QTVhÊœ° ø¡ƒãžLô s‰û­£ãö€4}"¢uh¤uÈÚ|xpn·© ÌÓi!íD¡<{óRúf,$G¬Â–¶dìဴP@2€­2éÖÜÜ·Œ—»ïÅ·÷ëžh©6€¥ÚAµ 9`/QÁ3X²]W ä£AnÂBÞza©N:‘q¡ xqÅàX‡Æ{7°YÓæŒ·JóÖ{ÑᱫEˆh$Zi$2ÖçÇ¿èâã0¸J§ƒ´…DœøçØâKÈ `ki­í@²¬r³?µ2@ù9IÉÊÉÀ@lÿ>40?Öý]‰¿ . `û‘­çA¦"¨ös(¼r*cÊ^—褑Îwl¼*Éë–ÿ^wpÜÇ¡«Ó“^ÇÝ6júDDë Ñ:Hë ‘Qô(p4ð{ÀÆ.=§Щ íB¡‘vwé›G0}ÖqÕ*iä&ZPâí¨ Ztß«û«­í ’Öúõd{¬…ê… ’¡}Ô–fµ¯VmÀ3« L<ŽCÏ?B'Ÿˆˆˆ¤,6Îuh¼;€hÚœRnqtìçkúê¸Ú¢àMˆh$Zi$2ÊBà߀…ÿì謹C{µÒ&t"Š´½ÁóÉy^²-É çmÕ¨¿ÂßóÒ7ü½ä}¯¾Š–ûæ~Úf¾-úË—¼F7 ¤¤'*½Ìv™låmÑ#ðµÐ›ÅÀ>÷‡D½#Å-®^y®~ÏPÇÕ‡kêDDë Ñ:Hë ‘1²ø° ØÔe¯ý0à,Òô?1‘vö¥0Oß̳¨ìe[Êù§V€ôMÿĆ]K€”@j€Äc^˜ú×5Ê4•`ðZþ¾‰ŠfêÂ+·)ð2Ñ—sÎâð‹ò: EDD$áSŽW%yÝô0ð²ƒãž¼_Óãj¥ƒMŸˆh$Zi$2†n%ª:p[—½î¿´!ãN¡‘vöæó‹Éef’ÅÚ– YA Â ¨l3û3¤oô7¼Ò¢BB–ïg>žö˜G4ðhLÀ2¶–y)¯Ì³„¢„ÆL ý‹uŠˆˆˆa QÏAW¼üXÓæ¤w7:Î×ôŸÈDD´­ƒ´K›€3€s€­]òš÷~_S/ãM¡‘v6iÓÉaßI7ÉjÖJ);íÖà€¹©&–ìæýÐò|Û÷Oùu_k2¾Øãa£W4ùÆ±Þ •f´(¨ ²½§ë$ÃéÀd‡Æ{+Q_XqÓŽŽûcÀ4M_Õsýíš>Ñ:H´Ò:HdœÜ,þ_—¼Þ/YM»Œ'…DÚÕçÃ,S¦ŸZmKVÀk^5Ëך=FØhc>þ<ëçÉÊ!é&ûüiÕ ÒÿNË7 Ãߨ,ß`ôÈöžÊáéÔ"""R¡’¼2–Váæ/È&×ôU=ãðØ­ƒDë ­ƒDÆÓo€w×wÁkÝø„¦\Æ“B"í*<Œlfv,4`¶ °T°ªŸ‡uYãïªmâ§–þ7÷áÓößÃÖž{Žíñ䟳}NJ¨!dƒH³\€7›08L'£ˆˆˆû'84ÞW€ŸiÚœçêUvŸÒÔUm *±ê¢wjúDDë Ñ:Hë ‘q6Pþ¹ú"tøký‚¦[ÆSN‡@¤M­¹ÿD?ɲÃooÐru°ö`u£ßK|ݳ_Ýï%/ÜOÞÀ^5 Ñsíí›-*w›V6£Á…ßÐVu VmÀ8 Û×ü¯NH‘®w. ò•mh.ÿ i_Ç €t(€¨ÚÀbÇý.¢©¾¦PDë ­ƒD´gß~ Ü LèÐ×øvàƒÀÝšnª4 Ò®öZt´µ5A™YaÀú5¨µh´‘Oƒ¯Ù¾žvá~Zp I 5HÐhÑ:HDë ‘6qpÐß3„º IDATÁ¯ñ4Í2^iWûŽjöê…)- ÂÄçÆcÉr/mÃ¾Ñ †^9 ÙsýY€´ïW¹6 „éÃú.Ùs”NF‘®w p ƒÈœ‡[W¥Ž¦gû»5}"Zi$¢uHùQËœ7:ôõ-fkše<(4 ÒŽþhÝr¹y­>ÝktÕ}+lÏ%ñ5âUÿ›îÉÛ¾n~žöÜß#9žôÐA¥EqKHl0¶ƒ›™ÇÂóæè¤éjêK*2tó÷ë0îVx¦ODë ­ƒDÚÌÿ'ovàkËhŠe<(4 ÒŽ [Æó¼ºÖ.Œov}ʆ|˜²1¶Zu`¨ lw«ÏK<7L¾.B €°|K~“0yßøsaêñõð ë¤éZ½ÀÇuD†EM‘U´Tæ¬-)4 ¢uÖA"Z‰´£'[;ðµ}ZÓ+ãA¡‘v´ÛþT:-%û½ôÞP[ åêþ6õÔº„ ¾o˜2&ûŸ±ü…a`<4íwy=SÐI)""Òµ>ì¦Ã 2,§StØ ¼äèØöÔŠh$"Z‰´¡'€3€b‡½®whze¬)4 ÒŽ‚Ò‚ºÇÒ®KITJ…€F›ýÕûAëߣî¹-lÝÂVÿκý~£Ò@%0`Þ¥KÐÀv½:)EDDºÖy:"Ã68]‡€ÇûMŸˆÖA"¢uH›º¸°_ךZk ˆ´#¹ÖLJX  åA¿Ÿ¼0?L „)_Ð4 ü;‡t¨¿–ÔAbÀÕð@HhëƒP=ðsuRŠˆˆt¥™Àïê0ˆì•æ<âðØOÔô‰h$"Z‰´±ïWvØkRèHÆœB"mÉ› ­ÅÀ6ÙÃfUê6òcûñ–ŠiA°ü½’ÁƒÔj «Øž}-ŒWHVÀH"\«B¤Ï‡ˆˆˆt›³œƒÈ.9˜¯ÃÀ£]•D´­ƒDÚÝ€ŸvÐë98DÓ*cI¡‘väy³bŸ7©,6û<¨ß'Q ÙJÀºIŸ¬`©ú_ý>u• >p[Ýý¡‚ø×Ío˜Öž ífK>ÄÌÒI)""Ò•T’Wdþuœ«ÃÀ“À £cŸüަPDë Ñ:H¤ùÀYÀ†zM'iZe,)4 Ò®ëÉV«˜›èÆæ~hÛè7«$žšAK(Àº¹o©(kO`>–¬ `V3hJ¨ )˜wõëMª ¤ÝH>×<ˆ"""ÒåïÔaÚx‚QpÀUjQ ¢uˆh$Òî6tÐëÑ\Æ”B"í((ÍO XJó“¶9Ðü ýDÅ~’÷m›ú–ýöäß»hß )$ÆZ·Wo«D`kg{m•'ú­>f­4 2b"""ÝGW‰ŒœßÞ­ÃÀ#ýdMŸˆÖA"¢uˆî®î×ò> ¯)•±¢Ð€H»þl6¨4` ÔmÎÛ6ÝmØ'ƒiûè¶JÿfÈ °ÕÌÀ‚­Ò@Ýß‘š¨ 4jAà·¨<¿¾Ò€Þ+EDDºïßIçè0ˆŒ¨Oéð¨Ãc_LÒŠh$"Z‰8àKÀÚxS€£52–‹@i7A)H«,`k?&Û Ø6åͰ@˜$¿gXÿUbaD@!9¦ä},$7)ãN¨}Ÿd•¿ü¹Ÿ" êCNJ‘®ò~`®ƒÈˆúÐÛåÇÀåJê4Ñ:HD´qÀVà;䵫锱¢Ð€H; ½5õ%ø±^qo»ªŸ´J–`AÝ&ƒýfìÛª„–Öa"ô€eŒ¶¿Ç\Ê!Fí ŒAø<2¨¼èºY£“RDD¤«¨$¯ÈÈ›,íòc°ø­ÃãÿˆNc­ƒDDë Güøq¼Žwi*e¬(4 ÒŽ‚¢=0` ØÚ4Øh-­’›õÉÀAÝf}ʆ~˜òµ´qÙuÕ’m bÏ ÍP€Á[»‚ Yq ‘.6 8M‡AdTh# îqxìF¿GÑ:HD´qÇå¸_EX¡3úÇžH;ò £ mâsݲ!ŸvE˜¶aßà{ õû4­-ÜVm µ*~}( ®m¥Ò@,dÚfd£NJ‘®ñ1¢¾"2òNftù1p940x¯Nc­ƒDDë G<Üäøk˜ÌÒTÊXPh@¤…;õ ÿä{£MÿF7Z¨аâ“¿kh|K©2l?·Ô*Æ÷À7ë¤éºHdôä3»üü·¯v:S§±ˆÖA"¢uˆC®è€×p¤¦QÆ‚B"íÈ/¼‚ï×·°Üꞟ$?¯Vçoð„|Wð-G£ñ¦ÞÂr•’=$«X¾¤ ¬•¼WtRŠˆˆt…=uDFÕy]þúßžpxü'Úô­ƒDDë < Üíøk8DÓ(cA¡‘vò~©~³¼Z–?±ñï Ô]ÁïÇŸOróÞÜì·Tù¯ÒÂu¿q•‚ÔŠþª Ø¥Â@XJ|n«4PŠÖ*á :)EDDºÂY@V‡AdT½ 8¨ËË- f'é4Ñ:HD´qÈwÿÛ4…2iGo­^_?°_io´*¨k+Øðo¶ŸüºµR€oضê4 ø­µRˆWðÓ¶ª±ç™!‚rX 0S…­«uRŠˆˆt•äÑÏÚX¸ÇññŸ£SXDïÍ"¢Ÿ5‡üØäðø6’1¡Ð€H;ÊöÚů¿ø©ã¯áu‹h$"Z‰8ä~‡Ç®Ð€Œ:…DÚU<Íà– ”âÕÌŠfx`(!£²¿¹Q 3|ZÑ …ê¶Öµ–!¡Xªø)UÒªã!X` A• x™§u2Šˆˆt´ Àé: "ã¢Û7ªns|ügÓu‹h$"Z‰8â]¡u ˆ´«[–øl_EKµËǰ]nA‹­ÒZ$TïWŨ-AÐ$ – ‚”Jª øƒwðÔ5¾NF‘Žv*0M‡Ad\|˜ÝůÿŽò¿è\5ø=Æ"Z‰ˆÖA"Žø_ àèØçhúd´)4 ÒÎvlºâV¢jEðÆ†»Ñ ·EA³? ­:Aí5Ô* „±–C ˜-’ŠÆ÷ Ó¿?x›NB‘Ž÷I‘q“Îêâ׿xÈñ×ð9 G§²ˆÖA"¢uˆ À¯ûnš>m ˆ´³I3ïcpË&Š; 4¾oK`iQ0äÐ@iÃ)A€`¸Õ ³Â@qí’!¢=(`>Ö¨Êá&zúîÓI(""ÒÑf¿«Ã 2®º½4ï­ŽoÍ¡ˆÖA"¢uˆC~ãè¸Q§Ð€H;»í”"[×,§¸ J;ËÁ ¾Ò@âóÔ`@©yx H X¾G°‹!ê‚!¡ï[ZTH«&P²|³Ò@ƒ*¥åoT½ h1P€>¡_$ôÍÍýbƒ°@±AX ˜(D6:ê!™ìu:ùDDD:ž®ìiçuñkßÜéøkxðQÆ"Z‰ˆÖA"xÁÑq«Ò€Œ:…DÚÝç>Iÿ‹V« øÑx²â@²eA²²@©A ‚’(°mð—aÒ0ÛXoQ;‚Ð/Ea[;‚Ô–ö¾¥-A%0àZ¬2°óAž¹îI|"""í@à(‘¶pN—ÿ~âûðþL§±ˆÖA"¢uˆ68:îiš:múŸ‘ˆ Ö?vƒ[¡¸½Ü¦`J%(…©•*÷ëZ ”š´.(Yn¶àA)½Aà·ÐÁ à «úi·R"`kC`„Ì[Ph½-À¶uWé¤éxººN¤}ÌNèâ×ÿ#`³ã¯apºNe­ƒDDë ‘6·ÉÑq÷jêd´)4 â‚Ù‹V²ååU·A±Ü¦Àˆ®œ÷ƒ†m HÛð/ÕK[Ôp­2A©µ–Éêa] \EÀ·´ð‹)UÌÇ ÆÇB-8! k`»-X©“NDD¤ã£C ÒVºy«Üԯ㯀¬Ne­ƒDDë ‘6æjh ¯©“ѦЀˆ î<×gýc_gpK¹ÚÀŽrÅÁhC¼äÛƒÆÍ ¶Ï-Õ‚fÕ *AƒV*Ô*abJå³j@ɨ(‡ÌŠÕÏ å­TXÿužºÆ×I'""ÒÑÞ ì¯Ã ÒVN&uñëï„£¾Ì"Z‰ˆÖA"ím›£ãVh@FB"®˜qè ú_x‚ÂÖ¨Ú@q'øåV~¡¼±žÒ® rkðÓÖð@ÉRÀ‚dX ä—« ,abúcA£çâÁº°@±õÀ@iÇôí·B'›ˆˆHÇsñJž€§›n-Ü®vôçr*ð±.~_úàéx_E¥SE´Ò:H7­ƒ´i_ƒŽŽ[¡u ˆ¸âî }Öÿârß )nª w–+ DUJÅr»‚°õ–%KeË-ðk]‚R"HP²´<¨~O3,`Tð´¨ ,b}ëÊ÷7oÁ`km dÛúËUe@DD¤ãõwlÌ?~«©“¹|Åz·_¥þÝx óÏêÇPDë ­ƒDë ­ƒDÚ”B")qÉS×ÜË–µ+ì‡â¶Z› \q`Jðýôð@€½m­A³p­Ê@µª@@è[ª $ƒÕ@âóJ»º¶‰[å9ÍV°æÞ{u’‰ˆˆt¼Óó š6‚_¿rtìK€9]Mª4 â²U×ßÇ ?¼”×a°ŠÛ¢Š•ªEK»óæFÕüK‰KÉÿØãƒ ª¤TðS*4¬PHTF(Ô*'TÆQj`ØüÌ¥ ˆˆˆt•O:8æ4m² ›ûlà¤.ž»¸²C^Kžèjϼ~$E´Ò:H´Ò:H¤ ÌqtÜohêd´)4 ⺇^ÍÖW®fà b­ ŠF«óf†JµÍ÷ê&ü@}8Àºq_H ؾV ˜-ÌàAJ(¡Q`Á¯Œ½<Þ¡BÿjfvµN‘®âÚ/Ë_Ò´É.Ri^w]¼Ú!¯åÀ—õã(¢uÖA¢uÖA"m`_GǭЀŒºœˆã¿"ä€^BaË,v;pYµ¬®A/d{Êí òQ{‚†m (ß·UZ¶´'°¶)HkQ`¶)hÔšÀ7Z$ÚøÅrÈ X«Jö-(lYÁÀ—ðÒÝ¡N‘®q °À±1ß„{í:¤ýÖ úÊýòUþÕûi•lU*|£²@É^e (Ö* T‡:/í|€›—òâ][u¢ˆˆ´5×®(Òzºýõ¯áÖFÕÀ‘š:!ó‰Ê<»ø~õp\—Ïßç‰*tŠ;€êÇRDë ­ƒDë ­ƒDÆÉëÀîŽû Àßjúd4©Ò€H'yáG[éñ¼ñÜŠ¨âÀ[0¸¥Vu ¸½\u`{¹â@¹ú@ÉR} îsK5߬@P¾_JV¨<>`©20ÿhþóV_~ÞP…-+رá ˆˆˆt¥¥¸we«®®“‘´¸ßѱ¿دËçïŸé¬R¤§—êÇRDë ­ƒDë ­ƒDÆÁ>¸€(%2ªé4¿ý¯"[מÃÖµW³c# ¾oWP ”¶×Ú“á‰úxÛ‚XKƒ£}í¹ƒµÍ~ßÒÁüh½íg­ÅÁPÚ„þÕjI ""ÒÕ\+ÉëË5m2Â\-ÍëáfYí‘´ ¸ªÃ^Ó7‰6BDDë ­ƒDë ­ƒDÆ’ËÕ;^ÖôÉXüGD:Ñáy¼¾êbö:æJz§åÉO†ìÈö”[ä!“ZdÊm (·*0Ûx‰·‰ºöÉ6F[Œöu­ |+­|KKãc¬5B+Â"›Ÿ¹”‡]ÍSׄ:!DDœ¡ö2’öÖõÒvÅ]À)š:aS€ À$Çþ[`A—ÏßT`50«ƒ^Ó&à(tÅ”ˆÖAZ‰ÖAZ‰Œï9:öÙÀFM¡Œ¦œH‡Š6Êÿ‰ži«ØmÁ ôLÛ›üdÈM€l/dóÉ—«…ª38àÅ·CÂÊÊ{:±À@X ˜áÐ7Âfh Tû»•ƒa©ü燺¼ÊÖWÏeÝ#÷±î """Ýë,ÜúE9À¿kÚdlnÎqpìûÇõõíV[¯ÿ·ƒ^ÓLàGÀ1ÀýˆŠh¤uh¤uÈø]Gǽd èÊ(‘‘òGëæPØr0»íAisÁ›çÍ‚Ò| CP ½5Eð  ›ñ ¯òo­^M¶çYnY²~DÇ6Élúöû½ÓN&7rËz¢à@&W®8‰>âÕW¨ÖÉJ»(• †q±iPº‹-/_Àš{7è¤q’* ÈHzx—CãÝFtõÀMŒ‚ÿíèØ¯ÅÝ+‚FJx8¨Ã^×]D=×}ýˆŠh¤uh¤uÈ(zð¤£cÿ¥cÿOGé—œí¤7%îóa–pð0ÖÜ"{-:š‰}G‘ËÍÃó<2–燖[@´‘øàûà—À/@i ¤°m-;7=ÎÆ'cÆ¡?! žæ–%»öK”Ã/òxkõ…L?à ò“û¢V½åð€¨VhPm òš0Û„µþdp °µ'0ZTîïJX ôûéñ ìvÀµjG "â4…d¤¼ øµcc¾ø”¦NFIX ìåàØû=.ŸÃwtàëú¿ÀÅúÑ:Hë Ñ:Hë ‘Qô—ÀŸ;:öïŸÖÊhÓ/9Ç‹‹›ÎÝîKaž7Ÿ_̤=NgÊôSÉff“-/93)?QaÊüæ7¿<Ÿ¥Ê\î„Òܲíëï`Ǧۘ4ó>n;¥8ì×qЙóÈMü6ÙÞed{=²ùrpÀhWP ”oÕÐ@¢OA28P­8`©4P $« ”¿V  YHPXAià2~}óZ¨""ÎSh@FÊ_æØ˜?Ü£©“QtðyGÇ~&ðšBîŽïÀ×õ ß³E´Ò:H´Ò:HÄ ð[`_GÇ)p•¦QÆâEÆJ§l:w›Kß<ϧoæYä23És–¬Þïßê°Í_¸o»ù幬A ¸Š[apË&¶®YŽ_¼Ž;Ï~9ùK–0eηÈOYUÈFL¾|¿…Šͪ ˜jX |ß|îp•v<Á¶õ—³æÞ{u¢Šˆt …d¤æåE`‡Æ¼˜W^ ŠŒ–…À3ŽŽýNàCšBŽ$*9Þ‰ÿÿù2ð7šb­ƒD´Ò:Hd„½pyáDÇÇ/-"e´uê¦s'ûr˜åÙ›—²`ñ%LŸu9Ï# d9ó,ó‡eþÒnAƒ9ô›Íã6(l éñAÖ?v³­äÎs‡^Iâð‹²ô¿¸Œ)s¾BnÂBÈDŒ*ÕÏ=#ôÿ§ºÏ2 ³³È6 ‹‚,Š(nA\‚Ê"›dLnÈbH4‹æ&Æ%¿äúÒ‰^L‚/ÈE‚DAE`XFf`fÎÒ]¿?žêsª««úô™9KW÷çýzÕTwŸžîêç[]ýt?ßú>À»K¶Í/~bè4þ8·ÄÛþICÈjÂ\åË{´pðYÃ,Ù’ìÙ’fÀ‹€;)ïï7w/6Œš þÈ9Óúuйœtñ1ìÿ†³óóo‰[%'nQ›¸µ‹]QÒGL~âGSc¨Õ’n q{.‰ã&xæ¾[xìæpÛyÛ_ªæàµ‡Q¯­e`Ái­œÿÀÄO2¾íb*Õ/pû¬Œ!I½Ï¤í¨E„3p–”h›o1tš#»39I^™Ü¼Äð;W#®Þ IDATÀçzøõ9Ud?H²d?Hš §–xû?œm5ü‘s&9è\Nçܳ'ËVËÒ%§0E *B¤ãVIÅlªwM6áZ§•è$~ÙŠMq¬Ãø(Ô1Üâ8ºFžŽÙôÐ¥<÷øŸðý¿zh»Ûåг}æ(ªÃ'Q>¢Õs”x=µ‘+¨\ÆÐ²ë¹í¼10’Ô7LÐŽ:¸°dÛüà†NsèàM%ÝöÀB*À÷€Wõðk<øSC-Ù’ìÙ’¶ÓKQîßn~ø¢¡Ô\ðGΙà s9}$ޏýK¿Åa'}‚EÃËLâ–]^uˆ¨ø åT‰ˆsâçŬ“ÄÆåñFåˆmɲ%‰ãfyž[ÿ ]ÿ~Vüy¾ý';6sèÙUâú!<÷èY¸â•T†Ž ªì9Cǘ¸þõћغá,Þí›D•Ÿ:ý€$õ-“´£¾¼¹DÛ[ö"œñ$Í•³€/é¶ÿ=ð>C¾©·NYèUÿ üvò-X’ý É~ý ©SppdÉ_Ç>Àý†Ssõ¦Ñörй¼N¾x5w>KË0L$zTiNôÈÄ-Ê^΋áSKÄõL “%.šbbÊäñTòGzÚ‰M0²6­»šõ?|7w^¼~FÛð ³v¥6z CKöƒh_ˆ÷€h°*¹Çš¤ëÀºä¶' ÞÑÃßÇèæ{©ÝÉ_|ÌŠ$)óIjZÛcWࡤWWߎ1tšc;ë e¬Ëæ `w`Ü0ð·ÀŸôøk¼x'°ÑpKöƒ$ûAöƒ¤­Î/ùk¸x‘¡Ô\° ¶Óɯ&~î|^uúœ :G9ƒÎQ%¹œªÑ± ,¸…Ê໸ã‹×ÏX;†þÇ’/x’$I]ÑÓ£\?”CùJ«7< \œVÂm_¼øÃÀG€Sgêöª7?Ž#üp*É~d?HR;{Ÿì×q¥¡Ô\ªÚÛÓ¿ê(=îë,]ð2ƒ„¤tâ@zºÆn+Uˆª©u¥16Ÿº<ÅÒnÀά[DëlvCkâT‡÷gá.§±pÅ­<ù“J·Å‹–þ>¯>óBW—O${¤cW™\G©xUR—sbÖ¿¨õzKì*´&!D“É$…ÉQ^p+©ÿ˜ù[¥•Á¥,Øåt¨?Íþ'ÞÌ#ßó},IêV)Ùö~Ôu•V—h{·¿ Œ:̓-„¹¯Ëh¸Ä0F˜Ûø,z»úÍ.À»sÒþ°Köƒ$ûA}áyÀ6wWMSø*p`¼–¿0¤š+& L‡ƒÎåt>õòAV½àÓ¼èȳ(ª2Èd²Gµy‰²±Ë&zÅ0ÊÄ.j[aìÚT¢˜ç‡gâBºDAS¬OR­²tÍ[Û²‚;_ËSwÕ}SK’ºÐGJ¶½& tÀ•l›ÿp‘¡ÓF¨¾Svsȯ/.Í “:å syO¿|ݽˆ•+ײ¢0Ù#/n•êdbG¶JDa²G”¿äÅ*›ô‘ú )LmU&ïÇáb§Ÿ¼ªdÛü¿°Ô¶æOP¶óU%Üö*aÞî› ã„€ã)×YÆÛ£ ¼¸Ølè%ûA’ý ž=®½x#anúà6 æî«6N§7¦%ø2p¹!Õ\Šl‚N3—²Û¡±û>§0LHÈNCÐ8Y?o958e…[§ÖÙ¥žŒ×!®‡Ûâzêz-¬'.7®×&¯“ܟ䶦Ë5 6ã#0¾ jÛ`l Œo±ç`ôYy¶=OÝy)›ÖÁ=—uuìθz {½ìJV­z}SeˆÌQQì*™Ø‘Z网âü6âÕÃ̺)޵ɅÔõ¦¸µÄ/†ñ1¨%1ßš,[BüÆ’ný%l¼÷6Þ{÷}ÍY$Iݤlg ÚŸîÀÔk°ìI`7ID¸ÊЫ c g·Û²$ÙêþãÚ#ÀªÌíŸ>§Ôê-ÀNíÇß2¬šK›` g\½„½_s-{ìs ˜¬.|ŽÂMKcZ‚ÔmQºê@Ñ™í•ü3Ý›*T›Ït¯¤«¤.O €'×Ó ùK*ƒP‚ÊT‡¡º†eh'^Ë÷?…¥{]˾o_Òµ±;ýòÁ¦„luˆLu(«Æõœª•L +é¶NÇ+]E¢ÚŸÜý ÒúXÙÇkŠaK,#¨$1LâØX’8.1\º÷ëYº÷•ìó¶Aßè’$©~(ÛÙµÿ(×ü» ¸·¤Ûþ zcžÒ™t;áÌÝ~±øð9`©áWåÀŸJ‘_Jë”ý ûA²d?¨;kyÇëÝO뀻¸+ñ:Bb`¯$ < |Û°j®™4ÐŽƒÎåt>5©‘Ž]ÞTÕÉ䎦X Ç+Ê‹aer7-EÓTÓd§:¨U@È‹aÓ¥2W“¥‘2œ‰áš×³øù±÷›M$Ieöë%Üæ ›ºÄ—|ï÷”OÊö÷‹ˆ0'õÀÛ ¿RöþPÂûc„Á§ ð?ìÙ’ìu½©æ£_A˜ÚpðYàwå¾ö«À×E=ôš."Ô™–æüË•òœzù {z{¤¦$È+kŸ¨Ï™š Ê™·¾¥´}º¤}cÝ(mŸ”³o)sŸ-k_ÏLI)qŸ]òËÛJÜ×jaz‚ñ‘T‰û­aš‚±ç`tsRæþIxêç—²ù¡3xàšî˜ªàCqDuäY:üž¦êéØe*8äÒg§–ÈÄn:SKLÄ-n3-A=5-AzЉ©b˜Ç:ÔFSSMl…±dš‚±-aš‚ÑÍ0²1LU°ù¡ÏR¯Ãmçžù%IóÌé 4]ËÇámóÝÀ‹ ºÄ Ÿ—tÛÖàjY+æjî7_þ€Pú\ý§¼ø=ÂYªy'K]¼Í~ý É~P×Z¬'L+3ß¾IH»Ê¾a_Y ü3½Sa ±?|^JsÞ™VÖ‡âˆý»·I¨N¯¢@S…€Ô™äé³Ï£‚äƒJ¶â@›3ÐÛ=NáÙêyÕ*•æ³Õ«ƒ“ÓT‡CÕÁEÉTûžÂò}?Å¡gwÇæ7ò=,~ôL#A¶JÃ@kœšÚ°š© Pi­îŽe%ל¸íh•¦¶«6Ð4gF#†CÍ1XCK`áŠ÷ðË;Þã›_’$•Ð;)×å6u‘»[Jºí»o2„-žNFúðµŸJüyoòkŽúÃÀ_WÇRü›ç1„)ûAöƒ$ûAÝé$¦—0áñ7%Ÿ÷¦kZíîÝÓªÀßçÓ[ Wc€æñ¥¬EKŸùa29%Áö:7‘£är”3(%·çU&H_'uÆ;9Õ Ú\/ÔæìxâˆÖò9eÂàñ›6°ù¡›æ5vg^u¯>óBEU†hN¨4Ǩ’¹Ü´ä þ7Å0µäÅ.¯JA:†…ñKâÅÛ»ì#¦ãgÊÔkÍ1\°ó›^ö]6Þû€IÒ<úHɶ÷£†lÞý#°gɶù7†N]d1á¬Ü²þ®q™!lñá,½ãúðµ/$”©=xòžAªö†€€sÏ’–wðÿ€¦´°d?H²Ô}ÎöÙÿ¿<ùLøCààäxs¿»yOÙøà´}}ï!$BJsÎrªYg^u/yË7XTìxйMiûvåí'‚0ÕÔ9ÓtTÚ~Šé âñ©ÊÜ×a|4™¦ ±4¦*أφ2÷#›`äixnýn ÷_}ý¼Äîä‹Wó²“oaÉÀî ÑZ!"ì‘^gã6ƒSKNMS<µDzj‚úÔ±k\n_ µñdz‚‘ÖømižjbÛ/á¹õðË;gÝuë=H’æ‰Óh:ö§|øß~ÅЩËì šF©ù©ÊÐWÒÙÙíÊ·Gm;j¾LîeJ*d–l™û᥃,ß÷Ö3÷¥>GtÜù,Ø=w:‰ÊÔ •Js•¼8U¢Lå¨}²A¶ó’J¢¨àÿWŠ+ä%9äOQyáéé *©)'ÀàbZº;Ë^p~×L5!I’ÔÞY%ÜfKòª=\_Òm_H(Ï­|ïÁÁò£›ÿ$ 8«|ö>L¨ñßÀï±cƒo¥7¦¯°$Ùêµ~ÐéÌΘÕ^ÉçÈ/€ë€_vr×/•½’¾ÜEônÂÀ' µæ“I :—{Ðùö/ýKËM•š’=*ù±kĬmBG^ÛçU'(JÐ(ŠOÁ}¨Ü/›èQɬɋaz¾ŒtæK*–Õ!¨&1^z,ïý- ’$©ËEÀ»J¶Í£À%†N]ê¢oû¯¾B#À;"ýî­„ço¯µ9ºÞÀû w¦°zá =ö2B2‰ý ûA’ý îræ;&TXOHdz3Ž“u³€¿îJúr½ìnL®Ó<ó`Øà syϹgO;é ÓZ"‹œJ•ê4*=D9±í4é#ç6ÒÓäÅ0—ìRð\­1Œò_tS‰LòÇÀBxÞ~Ÿà€S÷ôÀ I’ºØg”ÉUÀS†N]ê2`[I·ýµÀ~†°ÐCÀÛ€Í6¾ üáŒÆ!›¤kìN˜ƒú{„òÔŸ^>KÏu¢ý ûA’ý ®rh²Ì•EÀ„d‡¿Žð­Ð5Ü ü° ^óGOKóƤpйìƒÎËVË¢áe-Õ!Ò›^m“ÌM‘ ‘¢Îª:s™v ¶gI%ŠŽa:-;gºrD*ŽÕá¿ÁÅËXx®I’ÔÅÊxFg ¨›m¾æ1¡gÝ œ ŒÙ^M8³tðW„kͽ½¾KHpù{à5d~ݘÇÏÁsx̳$ûA:wæ<>÷®„¤µ÷Îl?ķżØøsà~àï€Õ}òºoþ¯á×|3it.ó óIÃÒ%§0HaÂÇD•ˆv• *SL1„Ž©ŠãË4'›Rt{kâG5³NWŒHU¨ŸÂšcŽñ!I’ºÐbऒmóFÊýC¤úC™Kó¾‹rÎ…k§¢kµøKàä8}Fò9£Ùsa@à‡I»’p¦ì\¾‡Ÿ¼Ê~ý É~PW¨ªÿtƒ}g¶ßF8Ëý\àWp,m¶½8@ø7ôO²@Ãûº»ºá`Üßt.ï óã*û¿áã EQ6ÙƒJû ¹Ó;TÚ'mL÷o¹ u6†éëД¼‘“üý¢¥kز³ädÃT²I C!ù£:±Ó®çг«*%IR—yanÃ2¹”0·¸ÔÍ®ž.é¶ïE(×­öþøÍk€0Ã…ÀÀÅÀÿÀé fÂâ¤-ÿ xp6Ý߇Ïóv•uŠûA’ý ^ëEwVüÙøcàFà1à_€S€•¾]fÄš¤} ÜDHn]؇íppµ»ƒºA' 8è\îAçŸåv~þá"ÒÉQ›äŽÊô“5(ˆY£"Š7&bEÎíL¶{Ó}Èùÿéû?DKâG:¹;n#ù£±$ Õ¡2¸Óá;øSàû„jCç÷q{lÞën¡nÑߥûN¹ôT^qòÅ,"äBc:=~Z˜ŸXçMSP”4@jmô8¹-YÇqr[j‰ëÉåzò÷z¸-®ç\®%×ÓëìåñÉËõôõÌš‰¥µ1¨BmŒ$ëm0¾5,c[`ì¹°Œn†ÑM°í)}6Þw^ûåÝ_ÄUê~ª± »FüR±«4®7âVmS)"/©£·(óƉ3qŒS·¥ã•]Q k“·5Ú¿)nxÕrb9ÞËÉøÅÍñ«„Ø¥c8¶Æ“Ž>â7²F6Áè¦;¨.x ·Wó)Iš±ýiMaÏäÇ…2%@?@(s>•Àë€JºíÏJŽ?k§TÎβ)¦íà„³¿O8ègC„€—/#”p>„pzGœÄÔ~ý É~ÐüX<,-ñ~w7¦Þ¹¸•0 ÜïöHÞWo $îe“4ù0!ÉRê }ûÊàó'¦%hTh,í¦èpšŽ£æ–¦³ýãä.Qr9 Éqêñ›.Óü¢ôõÔ§Wî}äüôS¢€¨õ¬õJºÚ@r¶zevÚõƒzö¥3:è|ç—ãˆSb€¦ äT€ ’' ¦|h‰]AÂG”ŠS6ŽqúÿecO~KŠRߘ¢L»ÇQk¢l<3ÕÒÚëL9„¨Ò¼Óg«4¦›¨Ta`ÁA<}ßq„3+$I’æÛ»(_Å´‹ð‡r•ÇÀ:ÊyFõbBÉØó ã”êÀ»“_Dΰ9¦å dù£äú/ÉÿE$øaà¦× ~÷^JH8p*GY@¹’ìIöƒz­t<åN€ð#û‹’¥Q5a¸3ùŒ¹3éÜ ÜC¨jÑ‹–H-{{X)ôcàc6ƒºIÿ& 8èÜ|Ÿ² :ï{ÔûlŽ[îÔ •ΦÈ"Õ.- „Ì}&☉]ã±ãÔq¦ý!“BN<³±Ê[Ckã@¦‘ó:TRÓM „ T`§ÝÞ‡I’$©;”±$ï…†M%_þ¬¤Û¿“:UOŽ©à4›c»í“,g¤ÞC· î œ}øáLÊn<]D˜OzÔzOÂ|ÎûÎ ¬ö`üNþÆ~ý É~м9³G÷¥Âú!™ÛkÀ}„¤ÃS˺dýhrŸn5”ôööKú$¯s!!$ŽÙê¶Wrй¼ƒÎôôaqQ³D$.º½m väFYtåˆJcî"êµµ„¹˜$I’æ‹g×Isãà'ÀKJ¸íQr¬ø°aìXp–|D(k¬ÙÓ(ñ¿MÑUNþÑ~ý É~М;•~>±5_…0H¿Ò¦èYßεÔ­ >4?ƒÎQêìþ(ý1žs¹i:{¿‚ÿµ»CΟ¢v·ÏÞ óŽù_ñ ËVžF5·t[µKþ MûgÚ>;ÕCQ,2ù&…mÅ…O·CiyEûRÔñãf’?¢ìüÕd ,8CÏô°)I’æÉ0ðÎ’ms ¸ØÐ©¤.*ñ¶Ÿ…g@M×8aŠ‚¶)Ô‡N´d?H²4/ÎtWSŸy˜,S·)Ôú/iÀAçÂç(Å óÓwÅ@e%Ur+Dd“9š¶2Ãt£(?ífk˜2é §œHß^t[”Ä<šbÙ¡} *xeQNÛe%£ÏåaS’$Í“ãå%Ûæk€' JêK”÷Ǭ½7Âi«¿ü•M¡>s$¡ ³ý ûA’ý ¹óBàw5õ‘QàdÂTRW꿤s•fÐyÑ.'1Pð¢R±#oj šãVô¢sc˜nßt\²—ãœûç=~ÁcD9qï4VQáÿ‹ów¨l,£ì"U-¢ëêðI6%IÒ<±$¯4·n(ñö¯5„ÛíÃÀïâPêÀqöƒìIöƒæ”UÔoþøÍ nÖI:—wÐùOã*;=ïøôt­ Mk5ò7˜æmÄíÚ¨ ¦mš/ŠÛÄnŠ&/J,)~ΜŒã6œÎ¤I•ä¨Ï¡gW=tJ’¤9ö|à-%Ûæg¯:•\™|Nv2„Ûퟀ_Fl õ‰ìÙ’ìÍ©3ÜÅÔGÎÅiÀTý•4à sëö•iÐ99„jeuSüÒÕ r:ÚMãШÄ@Îî@<Ùž´QQSÄÝwÊXdÿ_Þu ö¯˜ilD¶AÒ™3Ñjâú!:%IÒ;([ââÿ¶:•Üe”wÐx1pŠ!Üáø¿ø¥M¡>ð`‘ý ûA’ý 9ñZ`w1õ‰/ï·Tý•4à sëm™ÿÛÕƒÎë¾ýƦi%Úņi$z¤+<äµcœù?™ŠQúÿÅ9í—ÀÑî¾íš9.Øž¢ýªq!Ž“ÿg7žü{Q£Lƒ?÷è=tJ’¤9VÆ’¼6õ€g€¯•xû×ÂöàåÀm6…zÜBB’Œý ûA’ý ÙçÔêßÞÍ”jRw诤Ë=è¼Ûá¯Ì­‘ŽÉTSFÄ™ $R´´w^;%[%}ÄSÜ7žâÿÄSĺåö8‰3•#âuáŠWzè”$Isèpàà’mó£ÉR/(siÞ#ñ,¶™ððàR›B=îDûAöƒ$ûA³nˆ0’Ôë¾G˜þhÔ¦PYôWÒ€ƒÎÅÛS†Aç…ËŽ˜jâ‚êÙD èlÚ‡¸Ã¦ŸÄ1Õ}ÛýŸlXНq!n»˜)ç³h:j á¡S’$Í¡2ž]÷% nèÔ#®ž.é¶G%=†t£ç?ðÐã›zØÛûAöƒ$ûA³ê­ÀÎîZêq7¿ l¶)T&ý•4à sy÷Ñ]سãQ»ˆN’1òî›×†© S6OÞßÓיƾÑIÜ›þÖ¨‘ZŠ6¤icò·²'µ«‡OI’4ÓJ¸Ý:õQà+%Þþ³h3k ¦ío€ã %›¥^³3ð:ûAöƒ$ûA³Ê© Ôë¾ Hœ½œŽwaûFÔFôð)I’æÀqÀŠ’móíÀO zL™€öŽ2„3êkÀKïÛêAÝ4Eý É~P¯õƒ–ªºH½ê? ÏÙ*£þIpй܃ÎË÷ÙoboÍ©žµi«hºU¦“hÑAûÆëvâ6lSþÿÉy¸žº­>õåqhÉ~>%IÒ(cIÞ ›zЄyíËj­!œqÎÈþk fs¨‡o?È~d?hÖœ »K©G—ô#¶Ø*«þIpй܃Îõñ}[n+JøÈ$zL'Y£]»O\®wþ-÷­wüÂq§ÏÙÒô©¤FìÒ—›vŒzNÌó9Ú×ç$Iše+ úeR'Ìã+õš˜r,1Œ3nøKÂŒëlõˆ=—Û²$ÙšNM ^õAà·1™V%×?I:—{Ð9bÂXM#)£ãXÖ›/gs$ₘÄÏ×§ŽUö9·gŸk]ê9;@fƒ'âXoÞ8¯$ÅDÃïááS’$ÍÁJƒ%Ûæo:õ¨/–xÛ¿fgÍÀK€Km õˆìÙ’ì͸½€#Ý•ÔcžÞ üM¡^Ð?I:—|Ð9ZÑ..Ä;özã©>ê­mÚÔ49ÉE1‹ë´hÈÝ/ÚIJ($Í›“=²ÉÔ›cçÅ´±Áñ$Iš=e,É{¡aS»ø¯oÿZC8«6$Þ ¬·9Tr'Ú²$ÙšqgЪ4à s¹£íšÒ!‹8¯ÍÓ ™ûÄé˜äÄ'·s’;š*EÔ)œb"ý·vûGËþ’™b"ví>в÷M7¢$IÒœY[Âmþ`“¡S»Øæ±ESxø àrª\å IDATà>›C%5ŸÕìIöƒzñØò›ÀõîF*¹-Àïï6Ûê5ýTiÀAç2:×Ç×t4DÜÜÖäµéTÉÙÙ²—ã‚vμôìs6åO¤÷—̶¶4[^RH›i.ÂåÆkŬím¹Ik<|J’¤Y2œ^Âí¾ÀЩl®(ñö¿«¿~™wß>ŒÙ*™ùJ°$ÙêÕ~ÐGo¾ë8 øœM¡^Õ?_–t.û s¥£©#êùq̶g¶`BK•‡zN5‡¼b qN…œ*Ù¤8§E^ÒGËsí¿-ñoW ¢Öy÷oMúð‡6I’4[Þ ¬,Ù6? |ÃЩO”¹4ïÂÕš;[?#”{ÿªÍ¡’¨7ز$ٚߎ$T$ú¶»”J` ø(ðàn›C½¬ÒW¯ÕAçò:×ÇëEIy• âl…‡¼öIÇ-ÎÄ1Ή{æ>d6šâ–ÙW²Û”m®¦xe¶›‚íÎædL>N6á£õZr½VÏz›X·Æ¯îáS’$Í’µ%Üæ/ã†N}âàñoÿ» Ἰ—pæö€Ùêb×Î"ü3ûAöƒ$ûA³ê[ÀQ„Ø+p~\u§—ñ³Ný Ÿ* 8è\æAç8Z—;ÝBNòC^‚EѬ qNŒ[Ú»MO•;‘—HçT‰ˆ³Ó_älcÑL­ûP=‰W»J©xÖ3×›âÝxÑ-YçáS’$Í‚•ÀÛJ¸Ý:õ‘pQ‰·ÿD`™aœ77/' Z@(m.Í—ë7¯"œAl?È~d?h~Üü&°ð×Àw5̓1à3À‹€Å ê3}TiÀAçR:×FŸMË MSKÔ‹×E³'P¨1e;Oñ8SmO^E‰¼ý¬(ñ£³„Zk|Z*Hä$}4Å;÷sñ Ÿ’$i¬-á6{vúÑO[=Öhm>ì ü)°Þ&Ñ#œ)|8a~ïk=6Ù’ìuõÀ_k€ßns—Ó¹88“VÔ§ú'iÀAçr:×G7P¯å&[d_k»öo·ÐAbFÛâ S<Ü6UÌÚ/ ÙJõÔR˜’zŒÜdºØMI’4Ó^J˜+°lü±\ýªÌgÙ½ 8Àv-À¹À>ÀSî¹¢ÕÝþŠpë™ÀìÙ’ìu­­ÀyɱñWÉ^N] Ùpp$ðà›Cý¬* 8è\êAçÚèÃÔj­•ê۰RD&Ùë…ÚÅ®Ö&.5Ú'‚Ôrž£Ýö.q’ð1žz6$çoõ‚Øæ&}D{ø”$I3lm ·ù{Àý†N}êK„³uËê݆°ël>IHø}BÙsiGÕ Óœ ì |xÌ~ý É~PéŽ7g{ â.¨p-ð:à Àwm©¿* 8è\æAç˜û¨çN‘ÞäiÓ±hI¦¨5ߟl;Ö21Ë\hľh?hÙjíF “?jÓHøÈ‹]='Ù#Ï\ÏKúûBá”=ñ}>%IÒ N/áv{vúÙ“À×K¼ý惘±+m>K8 ò­É~æ|²š®;€?'Tx p0n?È~d?¨Ôý  „ׇ <âî¨i¨W*n¼¸Ñ&‘&õOÒ€ƒÎåtÞxï½ÔF¡VÏOzˆÉMúHdzӶÌþ=7i£–¿äÅ:/уv±«uVÕ¢9á£V»¼¦û¥ã™Ä­žÞ¡sŒn¾×ç$IšAoV–l›GK ú\™Kóî üª!ìò_ràjàXBÁg€Í6‹Ú¸øa0éàär*%Ú’ìÙš¾ŸïÖÇŸÃ)ŽTìàïý€Ø$R«þIpй܃ÎÕ¡;ß·L1ѦJDnâE­¸ÊCn’E­M슣ƒX&´I I'™4'{Ô‰ë9âñÔz|2>餎‰ØO&ƒ4®×‹ªDSºÓç$IšAkK¸ÍWO:õ¹+Kþ>pŠ‚ò¸8Øømà¿l%~ |„0çõ ÕÊV¶Ú~d?È~Ðö«ß~/é'¼øÊ‘4¦Ù÷Ó¤¹ð>à6‰T¬’t.÷ ó%Ç<Æè³1>>QÙ¢é"²•"2U &þ­ D»ëµ‚}¡hߨµI4©lofj ÚÆ=žlû‰xŒ§b—W!b¼ é#û qý!îøâc>%IÒ YI(?]6:‰QàË%Þþã€] c©lÎ^K8Sì¯l–¾²øOÂàÐ^ÀaÀGÛìÙ’ìõ}?¨|øC`OàeÀ_ÿüMýá)B…ª—¦±ø ð¬Í"M­’t.ÿ óÖ'oj©‘Ǧd‹LÜZª@ÔòãC§qªµ‰IQå‰N¦Œ¨1eÂH£BDÜtÈxf:‰ñLEˆLLÓ•"Ц–¨Þä¡S’$Í 3sù–ÉF€…¤r—æJŽA*§{ ûGçOÛ,='&œ%øIà-ÀÎÀÛ e¨×Ù²$Ù²ÔÆ­„ÃW«³‰Oºëöœ-ÀW€SÓoœÜb³HÓ3ÐW¯vë“7±xõjÃP­L:GÉÒø6A5™6þÇ„T‹dÅáþd–(yœÖÈùêg.ÇÉó4.×›×ÔÃß[ª"ôú ó·þ€åûžLm!Ô†B¢$†9Íšnút{’ŽaÄäãD©ÿ\Îî-O»–ø5¦¾ÈÄr"f1-(Š*RL&KÄÄØå%l¤¯§ãÒ¨çÄ1Ó¸ ~[78ß$IšIkK¸Í—#†Nà&à.œóeônB [•W |;YÎ&”%>8žp–¡ÊÏ;€ g‹~ xÂ~ý É~ý ´P%å¯ÿ‡Gǯ–¸;—γ„$¶¯¦ÍÙb“H;¦¿’t.÷ óŠƒ¿Éø¨íµ¨TšÛ>ʉ_œ\Žs–(Çt²H:–í¾Æ¦›œøÕs.× âØnZŒ¦˜&±«e*;ä%|Ô âZˉóØä:nS­iñnßôÐ)IšE‘MÐw^jH¥w M .1\—,燒Ž' ¨ûŒÎ½1Y¾K¹ç·$ÙR÷‹Ÿ$˧ãd/'$¼&YVÚL]é.àëÀÕÀ ˜Ä&ͨþJpй܃Îqý§ŒlZÏÐÒÕT‡ 249ÁF4E3Å/nŽ£ÊDã1ãvÝ&ñ#¯RqN¢G½MňZ^aŠ¢ïwÛ,ÒÜ鯚ƒÎåtÞòäe,Ý|6ƒ‹ 2?¢œ†®¤šv;â“ÿ°mc˜»–øuP)‚¢êI²GÜTb:ñIWƒÈ&Œ¥3n¿ËÚ$|Œo»˜Ÿ]0æaS’$I’Ô'M–¯en_ÅdÁ>ÀžÀîÀÉzAI^_P)àIÂàÿ#„ ë?ð7Ö›Ü$IêØ/o'KZX“ôöM–5„ÊF«çËKöZ7¦€z,é35’ ïOÖÓZç[R—꿤Ë?è\û£›Ïa`aDe¢*0DSyˆ¸M ë©Û"ˆêIœ¢¤:DSL4*P4âXT‘"ýœMÉõLÕˆÜ仸6ÖArÇxq"GÑ剸†Û‰ÛµzL¥ú™’$I’$ñD²|§àï+˜L X<0^ž,#Ì‘<˜ü°1˜Zׯ“¥–ºœ^Fgë=[°l&T x2³ü2ù•D’$;a0ý~ຂû ’I+“þÂÒdY’ºÜ¸ÞèK $KÞåÆó×Rý‰Æz°%gÙLH.|*Y7.?&b×aÂ@mÛ,ß÷JÖ]çS’$I’$I’$Iê1Õ¾}函çF7Äð’UDÕ¤Ò@cÄ8çlõ‚ª¹·¥‹Sg¥UÈ;[=}fzaŦ¿eª Ìú sr¶z}4Ù6jÛî`Ѫ÷±þ–xÆâwÏå1KöxŠe/89L1‘Š_ÔÈ ¨L¿Fl u?/.Ùª9UâœÊq:–™˜†¸ÕSqË$xd?r+EäÅ.]Y 5A£:Dm¤³„Íý!w_úS—’$I’$I’$IRïéߤË?è|Èÿ¼“‘§ßÆÐÒ݈’jM¹©ÒÙªäÇ3ÎIèˆ3qŠóâ˜ú[ÛØ5ÝC­* ¤§"ˆsªBÄÄ/;D-s¹–Jø¨L=¥Àø–[f<áC’$I’$I’$IRרöõ«wй܃Î÷]³x×ûX¶æ]T"¢¢ QfMq¥ˆ:ù• ò9’ŠKÁ}›bVšâV³)c8V0½Äh~ÜÒK}¤³i fÓº³¸û+÷y¨”$I’$I’$I’zS' 8è\þAçõ·ÜÏîG¾˜ÁEQ©&Õ"’06±ËƳÝyÉÙ¿çM/Å.†ZL\¯g¦Š¨5Ǫ£„±Ì圤t’GziÄpêØA}ôRî¹ü&%I’$I’$I’¤ÞUíûpйüƒÎ«ÿÕ¡ß :´ $~‰azÞˆTã¨pº‰Ü:ùSK´I SG„é#BÜjÍq‹ÇÃmM±ËÄ-‰KñŠ'ãךã5‘èQ+NöˆÓqËKú+˜^"U)b"né*ãSÇà™_ü!÷]y½I’$I’$I’$©·™4:÷ ó‹Ïü#›Ž :¼?•Æ4© Ä©ù Ò%â8³ZS·Æ+®'ëZHð˜ˆSª*D:飞Iú¨ç%}ŒµIúÈN+ÑHô(Jø˜FìêãW³pųþ ’$I’$I’$IR3i ÁAçr:?p ,Üå›,Üå4*ƒK'¦“”lw}2–1m$dÔs–x2æ-·'—ëÉcÔS±ŠS1ªg¦ŽhIà¨åL%‘S "Ë${$‰édÆå‰ø¥>êcÅŽú#<óÀ[¹û+ÏzP$I’$I’$I’zŸI :—ÐyÃíϱpÅ­,Øåt¢j¢LµˆTÂGöòD<Ò±¬eâ›®øªö0‘Ü‘¿¼˜ÝÖt=•ÜÄ­žª‘NüÈÆ¯Ódâ16?ò¼æv’$I’$I’$IR0i ÍAçò:?ù“ þ4K×¼ubš‰¦Øå%qÅ©Ým©85M‘Ç‚%.ú[:vã±Í™V"S!¢>Øn/]‰I’$I’$I’$©˜4å sù÷?ñfƶ¬ 2xD¸¡‘ô‘T‹ÈÆŽúdœê©xÕ³I91Ì&}d>²#šª@Œ7OѸgbXT!¢>š‰[#É#YǵÎc×>ËâçtN§”$I’$I’$I’4ïLÈã s¹ù,ØùZâ±XxÐd Ó"j9ÓKdcQOÅ¢]üÒIã&}ŒåL#‘“ô1qy4?~éx5bX›œ££›.eËú³ùù%5ßü’$I’$I’$IR1i ƒÎåt~ê®:;íöUâúë¨ïÝæ)$ê©øäŰÖ“¦ÄŽZ&v™ TƒhªøZ×Ç 6ž?¥D¶2D}¤9vßz[7œÀ׌ùÆ—$I’$I’$I’úOd´±ÿ‰ƒ,ÝëZ–îýz†—Áà"X•!¨Ae*U¡R 먒,ÐX§šºq½i@¾QÅ ½®T6HO‰©h®TÐR±`¬5á –7=Áøô·¬S×:ïûö%,ÝûJ–® 1HbXžŒ_c‰*Í1$Jâ•Z·ˆS±LW£ˆ;‹_Q¥‰Â„‘L²Am´99¤ÓDFì¶n8Žû¯Þì›]’$I’$I’$IêOVhç©»ê,Zqqý5T÷R•2g¥ÇõÖiÒ•šÎPÏTÏ\ëüLõÚXÁcÍÕjIrÀÄåteäòö:?ð­]çïeÑÊ‹¨ÀÀ‚ƒ&2ê­±«gb81xŸ©.EaµìT©ØÕ2 µL@S2@ªº@ºÊÀDìÆ¦7•„ê[7œÐÕ±“$I’$I’$I’4ëL˜ŠƒÎùÊ4èüô=u­ü*•êΑÃÔÙþyS´LQ“Б;=A^"GQìrb˜»Œ„é7Êqí³lY¶SH’$I’$I’$I2i :7+ã óÆûê¬zÙÕ<~Óìü&¨W›¦hÄ-·òC-“ìå±üjqf*úX¸-¯:DÞT•!F2ëäoSXt¸16Üþ^?ÿ£üü’šolI’$I’$I’$I‘M0 ‡žñË;ÞÃn¯ù$ÃK\ ÕP‚Ê`²T!ª&ë P ë(šlî(Óì¿qr¹±N…'’©êõT…ƒZ¦šAz€»Öš`^O~5›|7ë®[ï›W’$I’$I’$IRšIÛËAçò;ôìˆ÷þÏÛï .^ªF 'qLÅp"ù£MâG¶‰ä‰Š1¬çUŠHOa1>Óí[\{†gî?Ë÷û|©+CH’$I’$I’$Iš5& ì{çîÉÀÂs©ŸBu8¢:˜šr"©1¿d™ˆ_¦dD6†É9IqÌ&|$›öô© ©^Êø¶?á®/?äU’$I’$I’$IR“f‚ƒÎ½aÍ1ǰӮgp§ÃCÒG5™jb03ÝD‡SMä%~¤c7·ärú¾Ûk|Ë-<ûØXwÝu¾1%I’$I’$I’$MŤ™ä sùzv•gî?…vý  ‚Jˆ©„‰ëQÁtéi&ê™ÖZoÛþäŽIµmwðìcͲ\ÊmçÕ|3J’$I’$I’$Iê„I3ÍAçÞ‰ãÆûŽc§ÝÞÇÀÂ#(„)•ð‘»L!£8ß3¾õFž}ôS,ß÷Jã&I’$I’$I’$iºL˜-:÷Žƒ×F½¶–§A´rþ7(~’ñmS©~Û¿p«’$I’$I’$I’´½L˜ :÷†CÏdô™£¨ŸDuøxˆVÏaÌÖS¹‚ÚÈe -»žÛÎ3 ’$I’$I’$I’v”IsÉAç^Še•¸~Ï=úF®x%•¡#ˆ*{ÎÐ{*&®?D}ô&¶nø‹wû&Qå§V‚$I’$I’$I’4ÓL˜/:÷žƒÎÚ•Úè -Ù¢}!Þ¢Àªäk€ PÖ%·=ñˆ†ø>F7ßKuèNîøâc6¨$I’$I’$I’¤ÙfÒ@7qÐY’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$I’$IR«È&$©k¬^œ,Ë«lI’$É>»zή©})½¬´i$I’4—lI’æÍ94ÿظ‹M"I’$ÙgWÏz_j:xžM"I’¤n`¥I’æOìçµ$I’dŸ]îOîO’$IšO›@’$I’$I’$I’¤þdÒ€$I’$I’$I’$I}ʤI’$I’$I’$I’úÔ€M I’¤.·x ð``?`` °°¶¤–G’å^ààçt>¬$I’$iÇ-^  ì <X•ümPF’e+ð$ðð8pOò]îgÀ@Ý&•$I’$õ’¸ÃEêG/> |ŸÏÀ² øðAàXuK’$Ùg—û“4öÞ|¡ïsïtßþ8ˆljI’´½®™F'ä¢.Üþ ¦±ý×nÍ‚;Üÿ¾cSISò#©Ù"à=À™¹•Ú-OŸ^kÓK’ä÷Gûìr’vØÑÀÕ„jsñî1à€WÙô’$iº›F§eØ·‹¶}¿d›:Ùö:ðRÃÝdðzàwÏ× Ô¹¦Ùq?À&“ïÿ¶üÁH –ž¼/ãyZnÞÓwI²ï"ùýÑ>»ÜŸ¤é:„PÕ-žÇåVàL¬(gÿX’¤i¸pÏwÑvŸ?í¾À0ó»À?&Öõ~›7ÍÎú¹6™|ÿ·åFœÅü& d—{€wIö]$¿?Úg—û“4¥ ðÌÜ”r3±|Û°Ø?–$©S´gÇ IDAT{#v2F€=º`›_0Î×6¼Q~ó‹ØLžœf'ýÉäÿI¾ÿ=NIYû~̉»p¹ÍðH²O ùýÑ÷§ÜŸ¤¶v¾Þ…ßç>oh<^J’4ŸœÆϧ»`{Ï›Æöþáµc1 Þ¹õwÚtòýïqJÊ8ØHw& Ä„©$É>ä÷Gߟr’ò=¸¹K¿Ï½Úðx¼”$i:vžîðƒg °j·uO:¯ŒðtòÚdÇb¦]·õoÚtòýïqJJDÀÿ¦{“˾†J’}Éï¾?åþ$å¢{«ÆÝix<^J’´=>0ŸÍãvþŸilçû «‹Y°/PßÎÎzØÇ&”ïSê{à_èþ„› •$û’ß}ÊýI*ô™.þ>çoã/%IÚ. ‡:üðy†Pvi®ílëp× «‹Yð±ì°ÿo›P¾ÿ=N©¯ ³ã?ßO>—Þ¼ ØXž<Ç`°ðfàw~ Œwøl¸$Ù'üþèûSîOR®£Ùþİxø,ð[À+5É÷¹jò}nYòïpàmÀû€M¾ÓMõ¼ãÀó ‘ÇKI’¶×»§ñôáyؾOOcûÖN;³`xŒûÑç±äq$ßÿ§ÔŸ>·ƒŸ#ßMúlKw`–¿|‘ Ztv㞆K’}Éï¾?åþ$µˆ€Ÿ°}Ud¾ ¼zŸ—ä;Ý%À³9Ïs¥!òx)IÒŽ¨·Ñyµ]æpÛöF:ܶے×";3íDf¦<Ø 6¥|ÿ{œR_zï|v\¼|¶ip p-Íg«|×pI²O ùýÑ÷§ÜŸ¤\ïØŽãùÏ€#fa[v~¸)õ\'"—’$í¨c§ñ!ô·s¸]ÿ>í:Ö0Ú±˜%W33?úü§M)ßÿ§ÔwÞÔ¶ã3ãQB)ʹ°?a ƒà÷ ™$û’ß}ÊýIÊõõi˯#L=0ÛŽN> ‘ÇKI’fÂ7:üÚJ˜Wi¶Dç?²ÝðÙ±˜%kؾÁž¼¥†%Ÿåûßã”úÉrà¡íø¼øàyó°½û+ ›$û’ß}ÊýIj± ŸÆ>üs`±Í&—’¤2:xŸžƒí¹¢Ãm^løìXÌ’v؆ÿÖáý>l“Ê÷¿Ç)õ/2ý‚OãtK’ì»Ø'ß»ëû£ïO¹?IðkL/ñëp›L/%Ieö¹?ˆÆ€ýfq;^=ÅÏ6;³¤Jggˆ>,Öwpßp0H¾ÿ=N©¼…é' ü­Í&ɾ‹}ùý± ¿?úþ”û“ÿ0ý÷2›K/%Ie·x¦Ã£‹gq;¾Ýá6üþØÅß}ÊýI‚ÓØØ\òx)Iå3`´>\ÚÁ}ß¼¸a†žûtà¥Þ÷O’/ÏsiàHàW€ýÓ#ìDHxxØL˜Çð~à6àFà–yØVí˜w~¦òo™ë篘âÿ kwñë_¼ˆ0µáG°]UÉß–&ûý`² $ûø–ä}ðaþÍ»ïÿE˜ú¤l&ï÷#’öX¼ö…ÀVàYÂ|¤ww%ïùï&Ó숒cðk’õÿßÞ}ÇoRÕwÃÿ,»ì²°T¥ÒD¥¨`ï`áö6>vALLr«I4£Æ˜sÇÇhLl{ "–ذc‚tQz¯ ,[xþ˜Ù‡…{æwÍu]sͼ߯×õd~sΙr¾çÌœ9g§$;&Ù4ɆIÖ¯cÙÍkÔÉ¿«ÏÏR=œ½y†ÊÛÇØ³}ªÙŠv©ÿy»TK$m–d“ú˺¾-ÕrD—¥Ôx^ªƒ¿NrZÏå³ë2•zg] UŸëÙ…u Ý©¾oï_ÇÒû­Q_mT—su,ŸäÖºl×Ô÷õùIN©ë¯ÓZÈ×’$%Ù;ÉCêã¾Ù±}Eþšñüœ:–w9žo˜êëÝÝ“<0É6õ1¿O]¯lœjpôê¶Ë²ºŒK“\TçsR½Ð;¹®WA,f,ל}ëÔÏ–]džëët£$Ô×çŠ$Ëëëó†T/¯©cß…uü;½þ]§Žé”½ê¶Ì¾uY·©ãüâ$+ë¶ãõul?«.ç×ëxße]¬W·­ÛV;Ô÷Ñõñ^RßKÔýïuêöã-už.¬óóÓºýxAOê–õl»BU<3$Ù§~Æôºÿ¶U].®ï»Ûê~Ú5ußôâº>=·Ž§e6Ÿ{Š]úÿ³Úÿ¦à{)Éö³ºq8ªÅI~_˜æ·&x6HòŠ$߬;·Ïáwm’Öp’nŸÂ¯æ¥lʱ›ë»¦Mê@[2SÆ¼Ž”wë$‡$ùë$_¨m_+ëNú‹ÓýÑÖë¦zéwBª s)ï²úïŸ]ïofåþ/Ý÷úIž›äÓI®1ŸËRM{Xº;xp–cÏÝuœäMI¾Rç«­knEÝqü§»ï6Èÿùæ(}©gïúÀã ©–ùúXݹ¿m õì¹IÞšj_ÛÕyûîˆùZ™ä«Iž?åã¾8É#S-Uö‰º]µªåºå{I^=‡c=XÞ—ôûÖwËg7–ë?v¯>*1?É“’›f_—üÎKòÉ$¯Mõrc±þÂį§“üíˆÏ+NKòÇ©^ÞD½z·v©ÛW_HrE‹yúy’¿¨Û̳lyƒ2ÏBYÏ,,Ë&˜§6¨—Gõ„:f\ßÂ5¾*Õ ÷$yIªÅÚÇýmëÿƒ´oƒ‡o‡·Þ_5¨¬:òoRWÊW·\Ù/Õì ]êˆ4pgO*,ëÞÃß¼ðï;Å2]?ôøý®‘‹ëô»ö²va’W¥ÕÙfy/LrÔW}4pÓ˜ò|n’¥;ƒxú{’j0ÒQI¾4Æs·æïÔŽœ¿‡6Ì÷á–¾Õ³¯Jr\]Lº¾½5Õ§¬åx¿ Õ¬ «Æ‡óRÍ6)ÏIòîT_¬-Ÿà±¾-Õ—À»Máž1h`6û.bùlÇrýÇnÖGkk_™fËCú[žjö²w×ñIa|×Óþ©Š¶Ù–Yšäí©¾úŒzõÿwòò´4É»ò?PÍŠ&’öŸò¼³A·dByº 0Oï!CS ¬çµ¾*Õ‹qíãþÄ.ýÿÉöÿŽúha¥qÙˆí­4˜ÿ}å~qª©†ÆÙpøÀÉ ÌÍg Ëú¸{øû'þýÇgà¡Ï8?M5Udû±\ÿ±›õÑ=94Õ2dÓŽú 㹞>=æóvY} MÂ,Ô«gL0o—Öu߬9¯Aÿ|ʳ_ƒòÅó½0É¿f²/Þ[§ÛÇs<Ë×âêó˜)\‡bÏè¿—w$†œÓ Ï5¶¤zv2_<«ÎÓ“3/.¨ò áx_›ê Ž.µ×ú’þ,÷]ÄòþÄrýÇnÖGwwÏ}®C±Aavû€·'y_Æ?cÕ,Ô«ÇO8+“üÉŒÕù_kP¾ß¤;3Þ“y©f-)ÏßO ?¯lpí4]fdßT…&yÿÓŒÖb—þúÿ@‡ýYƒ k._iî“ò)SÆÙ˜|Pšmëwe’Ý{̆r½¿e-ûy{®éY餯Hò¼)=àûþ”Êü½Œdƒæ¾Nú3&xŠ=íüöè@üسaž‡ÐÁRÏNv ý§œ‡K’l3ã½úë½E¹Æú’þ¬ö]ÄòþÄrýÇîÖGwmsÛ±˜ ¿0Û1ýöTk6/éÀ=4Ízõ˜)åó53Tç¿«‡e+àýã äåScÊË#3™%Aîú{¾ö±Ø¥ÿôÑÂ$gVŸÃþ¿S¸ï_g|k ?$“›ÂåžÖxÇ´Ø 4wvAW%Ùn-ûÙ1eƒaNïøCŸIŽ’|ÔË¿$gN¹ÌgÖùèÓ9îË£›R h7±§½ó5¿ñãM òü£´Õ³Ãüý4ã{‘ÞÅò~-Éú¸Æú’þ,ö]Äò~ÅrýÇîÖG«=2É Œú ýhC}7Éz=iÇÌ¥^}Å”ŽûÊÜóò-]sÈžuíÙñ2•.‘³"Í¿îob^’+ óò7 ö»c’k¦tmï8£õ¥Ø¥ÿß…þ?ÐqOnPYÔ`¿‡5Øï¸Ö¨Ý>ã]W§ôwjÚŸJ× fSXÆoîïÛ…û;°Ã}&ù»0ã_*I6Ïd×ê[ÛÔY›÷è÷©Ñ}n’ ÆxŠ=í>Üë‚/7Èó›zÞnTÏû÷Öïï%Y<å2§'éÏZßE,ï_,×ìn}”Tnìh,Ð_èOês©– ÉëÕƒ2Ý—|Î@½¿Aš\º,ÉÞ.Óº©–ß*)Ësǘ&3÷\¸ÏuR ØŸÆ5}•ö±Ø¥ÿ³iCPä¿S­mõ¬‚mÿ9Õ:A«Ö²Ý¢TS_•øt’“ÆP®“|)ͦ¯½-É I¾’äç©Öp¹1Õ4f[¦š–å)IM²Sƒý>,Éß&yËmjŽ(ÜîC…Û}¸°!{D’vô˜\—ä©fú8/ÉEu‡ç²º£tK’›ëºtÃúúß³~€öìú+õ€ºN8jÌuþ§“ìÖðï.Iµ×7ëcqy’¥u‡ñ~©¦¾zB]æ­ìw·TÓ¯=)ÕèzÖneª—€¿Lõñ™©Öˆ½¦þ-Mõò澩¾èÚ·>¾mówLòŽŒg X±ç·¤™ü“úÞ:­¾¿®_£nY\³­S­O·g’’ìW·%~Ò‘kó ¶ýVÏÛÖêÙÿKOK5s×oS ’»2Õ—4WÖ×ú-©¾DZ/ÕzÕ;¥šç¹©¾ÔhËÒ$_¯žýªÎË¥wIÓTÓIXï‡7LãÏê¶Òï¦t¼¯Jõ"ÿ´:^ü®>Î×Õå¼­¾Ö­ëÐmëëäàTËÓÜ¿azJrl’ÿÙ@‹X>ôX®ÿØ]Û×ϤšNc’/Öm¯Óê8|cª%Éæ××ß’:önUß{{¦zÁ·o¦÷ÌPsïýÁ“ê6ã)IΩû7§šýg³$»ÖõË¡i>ƒÜsê²3Å2N«^=û.ÿ¾¼n/žšj–“óëgB×Ôíªeõ6 S}òÀºÝxHª¯×ç5H{ëT«ÿ¼ãuÑÒ$køÜjËTƒÂ^Tߣ]³¼®'_T°íS’|fLùx|ƒsprá¶/®ï‰&.ªÏÓ·ëë~õóÏyõ½µQý¼iÛ$»Ô±â‘©ži®éíãÁÆ.ý`0XW(%#ŒŽ.Øß› ÷uÓÝÞ¶—òQS+S­]zßû?¬¥i,Oó‡ì÷ÆLå6«ƒåÚÊw]Ê¿&Û e_B,Íd¾°ŸËµ1o„4ÖOò†õÆêéÎvc¹ÿ¡áõ|QÝqZ·pÿëÖ’‹¦sÌÏñ¬Ì4ðïõǹ~}°M’¤lÚ×5×Û^ìÛ9Ý¿Á½uwÖKòÔº38m;6(÷Mé÷ Uõl»±4©^d_0býüÃ$¹}pšÏñž=ÞóëãýÓ9ã·L±ÌÓn/±ï"–÷/–ë?v·>Z”jÀp“{ûÒ$¯Îh3‡-™b¹Õ1wÿµöÓ|é©ýR½0i’Ö²´ÿeø¬Ô«çÔí¸'g´%˜’æ_xß”d“¨ÿ·¯¯‘¹\ÇéhŸQ˜ÿ ǘ‡ÒõÙ¿Ð`Ÿg587g¥za;„kþ©^ÌÞžämÚǃ]úÿÀ üuaEqmªÑ`÷ÖÀº¹p_oSYš,pfš}Ax×û§¤ub4Î’?)>™æ_²¬¶aªÑ×MËû÷èÁ^—óyHƒøs{ªbس6ÏmPî“Ó_êÙñ]ë›gn/²OI;kÄ.I³î7¥ýZ“®[ŽL³i°—§úÒ¨O±¼«ƒ¦M,×Ôœì5ñΆ±ï¸cÐ4Ê­Ž¹óï†$‘Ñ—zyš}ÐprFñ3‹õê:-ï똆çûO2þ6s™wE’?ÊhƒCÚ¶0Õ ·’üï>†ô¤|Ù‡ÒYÙàœ|.í.Oy`’‡jkëÿC°8å#ºŽ»—ýœP¸³Óþú3«ËqQa~’Ñ×ÂŸä£ *Ú¶`ö”;½ðX5mÔ<ªp¿?ëùCŸ½tÐoCCcÝçøöT_ʶáÝ ÒüuËFƒîÙ3R>ãÀêiÑıçÞüY¦7¥+Ô³ã¿Ö·HµŒCiºÿ–vün˜ä7 ÒAâÅI~ßð[0ãežfú³?ÄrýHýÇÉ^M5(«4ý7Íx¹Õ1wþ”jƸ¶ìŸfëÑ¿ ÷P| Aù0#eZ”;¾(ŸëïÜ$‡g<ϽçâØÂ|ÿÙÒ> ÁqÛ®pŸïhÐ~_ÜákMûx¸íã¡÷ÿòì•ÅcïæïŸÞàïŸ6¦2üeƒŽx[/‹Ô±´’×)™œ4$çâìÂýï3Á2OãÚø‹é¾¼å´lö´œöG¤}ÄŒŸãYÊç{¤ýb±GìY‹÷6(÷÷4–ªg's­7™ÕâÇpžÝ ýÏö$^lßà!ØíI^Ù£XnЀX®©ÿ8íkâK Ò~GÊ­Ž¹óoþÎécR>åÌ´7ÛÀëÕ…IÎ/,ÿªTë¢Ï‚“\•ÑÜžjÙµ×gúË”.Qðý1¤ý–´Ïh°Ïoîóe¿Î´‡Ý>rÿ˜1ÿ]XYü&w1¹^’ó ÿö„1å}ÔM¹tc’ZN{·”}m}]ÚiêaO™§×Îqÿo(Üÿû{Þè\/åË|¦Åt¥ü+Á_¦ýQÞ‹R=0,Iÿ‚´÷¬A÷n³TÓg•¤ý ±GìY‹”û9=Œ£êÙÉ]ëó”u\_¡~³0ýË{ôÀlÏ”/msQÝæéC,7h@,×Ôœæ5ÑäËÓo¥Ý©ä§QnuÌäê˜76ÈÃ3Ö?—ç78ÍP¹öKµDoëÈ/M5+ÞS*Ké+3ú—âwõ£´ÿR´´ºmǯ1íãaÇ®!÷ÿ³K’e…Æ×ø»·þÍ-IvSÞ_S˜‡£Æ”þ?¦ÿT’‰Ø¨n˜—¬S»åÓ¸’iÜv×ÐêâµQ:=Ø5->ôyiƒò<¦ãýøyxáÀJL3Ÿï+Lû ±GìY‹_6(÷=Œ¥êÙÉ^ëZ˜îÊŒçK­&}Ø£fG5ÈÃËzRfƒÄrýHýÇi^Ÿ,LsYýŒjÖË­Ž™\³0Éï óðåõÏÇeAÊ_®ÏÚÌl{¥|&…Òß7SÍÔ;oÂe)òý%-¦yŸºßR’îãìwiá>vüúÒ>»†ÚÿfÐßV7§šÖsÇ”¯iþ–1åy^’s2Ù¯Ðîjç”­¥ÝÆWö¬Ý« ÑFLçË…é¼|BåžÖµ±wƒ´·k)Í“ Óûô˜ùç óñÝ=”˜f>3¡†¯ØÓÿØÓä!Ñö=Œ¥êÙÉ^ëÛ4HûÀ1¤¿$åÓú¶¹ÔØ´ë–yI~\˜‡Ÿô¤Ì ˆåú‘úÓº&î›òUÞÞƒr«c&_ÇQ˜‡å©^jªWG÷ñÂcð‘,Û& ú"M~¿Iµ Üâ •ã©…ùú\‹i–¾¼)Í^ð—DØ¢ã×–ö±Ø5Ôþ?0ƒ§ü!ùS¾ÝY©¦™‡ý ópô˜Ý· òðëÒÑ)Y»Ÿ£g˜NéD' ÑyEaÚOn!­¦µ*ɃÆ|ÌwipÜwÐý?Í|ÎO5EÚ¸§”{ú{.kPîûô¬ìêÙé\ëç¦ýŠ1¥ÿ£)Ôk]¨[× {ö Ì ˆåú‘úÓº&Ž.LoiªÙf½Üê˜É×1 R½È*ÉÇ+Õ«­(tõý.ã«S6U{Óßå©fòÝd÷EÉ3»ÓÞr\ǃÿj¸ßÒ™ÛñkJûXìjÿ¦f‡`ÎniP<#å#ŽN5¢|+ØfEªÑ¯ãô½‚m<ÆàÐí“êË÷µ¹2Õ —Q|!ÉÕÛíŸdž÷Ò¯ïvm!­gn÷Ã$玹Üg¥úB±Ä³Üž±²Áõ¸›ØÃ½X¿Á¶·ö¬ìêÙé(]¯p·1¥ÿËÂí¶ïÙõþ­$¿(Üö™ªÆ^ËÑœ¬C ·û\ªeÔ1꘦V¤üké'©þZqfávÏpß›j¦Ý÷¤ú2·-[¤Zîó÷IŽIr¿1ÞŸ)ØnIÚùÐg^ƒýœÐpßWn÷nM±Kÿ_ÿÖdÐÀh¾šv§šýXªu›ÆåЂm¾“jTè8ý¨°á´·Kl¬JGß×Bcÿ¶¤#z~ÜKGw¶1hà êžI8®å|3ºÓ ·ÛAìá^4™.²oƒԳݎ¥Sú¥}ûøÐà#…ÛúD,GÿqrÖKµŒX‰«cÔ1#8±p»ƒ3ùµåûè¼Âí6žñr^j÷×uT›Æm˜äõõ±ü»Œç%hiìyn i=,eˬJóÁxçn÷ò${¹=Å.ýý =[%¹>£OµtMÆ»ŽÐ} óñÚ ³æå¨Ó1ýÙ=[¿ÁuÛÖ—{5¸Ösù§ym^˜ö7ZèL•¬a¶"“›.|ó:½’ PÏNÏ•…Ûkz×ÒA ‹{zϯp»‡«{A,Gÿq²Jgj8U£ŽiÁY…Û=D58²•…Ûõu)ˆe©–¹Ú+ÉãR½ÔnkàÓ³S­yÞÖL7¥Kü¯ÒØ4É~…Û~qû?%Íf(¸_ª%>™d'·«Ø¥ÿ¯ÿÏp4ÐŽUIŽlÐ\ÓŠTÓÃŒ{„xézÔ—§ýé¢îú+}¹°…Kk,œjÊÃ’ý'ZNûc©Ö§\›G%Ùµ§ÇÿÚÂíF4P:}`W_f=Ø­Ú©ëq®_;ˆ=ÃÐd¦>}9£ží~Ý5®A*¥ëR®ßÓ{¾tMÉU½ –£ÿ8Y¥õOQǨcZP:h`è/·Hòø$’ä?R  <-Õ´î×¥z¶{cª¯aäø$Ǥú²~¯TKAp‡“’<3Õ—ÏïKrsKuç’ÔR[·¤Oõ¬Ì}yœ'¦lé¾ó“œ>Ç4þ0ÍßU©},véÿƒ¶¤î¸•Žû]’ &”·33þ‘mmÿ®±Ì¥é É¢Të——')O-LÿªŒo„à4¯õ Ó^1b:g¦3é5­÷)Ì×é¹ÿ§ÏÅ…é¯{Äž{ñÍå>¤GåVÏv?–Ž+ýE…i¯l1Í.Õ-{æåŒ/ó¤ÓïjüˇÝÔœü5QúUâ$¾üžD¹Õ1Ó­cv/ÌËÙ©W祚rþ”)_cCµ$ÉëRME>Êñ»,ÉýGÌËI–¤u¯³ÒºþÑ#–cAîX b”ß²$ŸJ5ãÆ$—ÐÐ>»†ÚÿzäY *±gN0_—Î`0»~Ä2kŒÿOPxL.Ìøf"™Ÿä¢Â|üAëN(ýÒÈŽ¾Ô “7„ûÚù÷õ”“(x IDAT(ö #ö|´A¹îQ¹Õ³Ó»Ö 0ý.Õ-[æåÒ/³Ab¹~¤þã4®‰ Ӛă“(·:fºuÌv…y¹rõê>I~Ò‘klè6JòöT3ÚÍõ~;£¿ÜþBA:·%Ù¼á~Þ ¿ÖFl]”äk-^Ÿç¦šIc“<3»ôÿ»>L”å Úw|ÃÆÇ¤Ìâô(‹\N­+ZòØÌýËâµYYï¿D—(X>¡tnwÄËCËù§Û×£Ø3 5Øvו[=;=+žþ´•®;kzÆ~Ëõõ»Ù¾¸¾'ט:fºJ—[/ýöº$?Jõ2—é»!É›“ì’äËsÜÇÁI^>b>J–(X7ͬ=­p»ã[Š­Ëê4ßÑÒþvLrLýà=©­k‹]úÿ÷¢‹#nËì€[ÕÃó0M;ÖÇ´ SîÔàxPïÑI¤¿¼0I7K§tZ>û¿ ùgÄžaÄž£”ûk=*·zvX_O;ý.Õ-¥_ZÜæ÷"~ˆåÃíGê?Nçš(m_ÌïI_E3Ý:fáÀûçó’¼·ƒ×wö’”ϲæï¢ûb “\]Îî÷Ç…ùÒŽåAI~Ñòõº<Éû“ܯ§ÏÌÄ.ýýÅLÃ1ó<ÏikÕ+Ó³ÇÜP9»Á5ð §Ä±§ÓNk°íÞ ¦©¯)–‹åúúÍÝR¸]_¾üVÇLת Ûߦ_˧õÕG“<&Í×d¿’—ŽîmI>Q°Ý#’ì\¸Ïû&Ù·`»k“œ4†cùݺOþ‚$ç´´ÏIŽÌË ¡&v½åAÎp,›Á<›ú¥= Fl(OÓKSM÷E3¥›6šp¾6.Üîf§Pì{fÆ/S>¢zóôg‰õ,CµaË÷b¹X®ÿ¨ÿx‡[[®‹Õ1ê˜{S:ø¤íÆg&ù ÕýÌ85ÉI.iøw/1Ýn÷âÂíž’²÷1'f|ËIÞžäãu¿üÐ$ßhi¿¤Z¶àKu¿_ûXìfAÃqë æùF§­5‡d<ÓDM–u#–fºú2k£–óØ#öLßMiö•£ԳêYfÚ’ŽÅ€N‰X.–ë?ö¨ÿx]áv[©cÔ1-Ø` íÆ S-KÐÔªT_j¿3ÉsR}1¾u½¿ù©alšê ÷ý’<7É[’|5³ù’±kÎKòÂ4›!c¿$ÛæÏRMç¿6/LÙ—ÜO+L÷s8ž«’|1É“ì–䟓\ÓÂ~Ÿšj †­z|-Š]4ÒÅ5NÎ/ÌÓ&ÎC/}9³·ÖÒš¿¯öìÚ˜Dúg¦1é©Â÷)Ì×¹ÿ»ÏqæAìNìùXƒ²¾'eVÏZÓp¨ëÝïžv§¿'¥k©/vŽõ#ÅrýÇõO*LëÐžÜ ê˜éÖ1{æå7=«Wß”æk¶¿;É#¤¹™øÒšw4</1½W¦sÐZö3?ÉÕû¹>É¢)Ûõêãõ“bñ¯Z¨»µÅ.éÄ™i`8J§oz CÕ;Û&yòŒ—á‰mdð]X¸Ý}'œ¯Í[Î?bÝðõÛ>9ÉúêYõ,3kËÂí.1Û ·ÛÀ)ËÑìQÿ±4>?DC ¶jùºœë¦z \êì$û'ùÓT/ çê—[kÞ™êå{©FLïc)›mãEkùïû§<²6Çgz3SÜšäØ$¨K²rŽûÚ#ɵf‹AÃqqáv;8T½óòÜëë$9Ü©l¤´S¿ç„óõЖóØC7|5壪×O5í±zV=ËlÚµp»Q ”>,ÝØ)ËÑìQÿñÜÂíöUÇÐ‚Ý ·û}Êüè”/¿òÛ$IrªK¥SnJò©Û?hÄô®KòÙ‚íž›{Ÿë©…é}ª#Çù§©–]Ø)ÉûS͸ÑÔs’¬} 0[)†¡´ãÙ§p«œö¬“ê¡O¼<ÕT^”9³p»½&œ¯½Zοû_ì¡.KòóÛ­žùz–áÚ¥p»sFLç†Âí6ïÉqíjÛE,×Ôœ¬Ÿn÷ØžôÕ1ÓµGávg÷¨Ì¥3©,Kõ’÷R—I'ýwƒmÛ¨?þ£`›“<ï^þûS öqmšÍâ7 ¿MòªTK”?‡¿ÿGíc€Ùê2 §n·_Ê\:²Ï/¢Ÿ’d›ž”åþ)•KùHø®¾Ì:Åý/ö0s>ß`Ûƒ2ù/ðÕ³íÖ³ Wé ÓFLçªÂí ï"–£ÿØ£þciûb“TôÅ£Øn,m+8ÉY.‘™¯;’dÓÒûnÊÏyÿÿæIö.ìS/ïè1?'ɳ“ü¯íô¤šg®}bíczáöÂß$=¸0Oצ?/Ñn(,óú=¾/<_™r>¿Z˜Ï/ôäDú›¦‘»¶4V$¹Ï„ÎóæuzkËÓª$ äþïB¼g†{ºØ˜”ûÞã«ÿ5ãåz=;„XÚ¥ô»R·¬›äú¼ì:bZ¥íÃ×õäwµí"–+–ë?vãš8«0½õà^PÇL¯Žy@a>Veô¥€ºT¯þ¶0/O_:mIƒãyKKi¾¶0½»ÿü¿}âŒÿ“\Ôàü¥ö±Ø%}`ȺX‰ÌKrea¾ìÉy(m¼lÕÓëp«T#2KŽÁs§œ×çæsE’­54ŠR˜Î«&tžÿ°0??Ðýß÷ACŒ=CïHœØàôá¼¹žõÐ`˜ƒ_˜+ê0Š-LëC=9Ç]m»ˆåÉåúݹ&þ¡0½åI¶›ñ{A3½:æÿæãÔ•9)ü¸…øÒi ϶¾Üß,Õ„µ¥÷Þ»ùÛüÝå™­Ìû¦ü£/j‹]Ò‡Ù`y‚á¸=ÉI…ÛÖ“2_[¸Ýæ==ç/K² `»k’œ0å¼_x¾æ×å¢Ì‰…Û½`Bùyaáv_tÿ‹=̬4Üþ}©ø¨gg¯že˜žQ¸Ýw2úC“ÒµB÷ÑwËÑìYÿ±t6¦IÞ¦¿À½¤p»zVî ·»Æ%ÒiM^/m)Ík’|ª°Ov×ëìI÷É$+g蜒ä? ·}ö1CÖÕ‘G/+Ì× ©ÖÇ›uß(,ïÓzx ÎKr^aùßÓ‘<¿·0¿çgô/׆2:ñ¡)ŸnpÇ1Ÿß”{÷Ýÿ}Ÿi`ˆ±gè£ç%ùešÍ6ðw3\Þ!׳¾4ÞL “ü¾0G´Þ ÓZ9¦ø1écÞå¶‹XÞÿX®ÿØÎ51¯ÅòÖ ñØ¿Ô1“¯cžØ {÷¤Ì«ÝZ˜—zzîûâ€Çów-¦ûˆÂ4\ãoö(ü›‡ÏàyxRʧé×>»¤ VW+‘S6ÒíIÞÔƒóðá²¾¶‡×à&ÜlÃÃäùI3~N2ýŸ¦õé1ŸßÏæãäÝÿC40´Ø£#‘<;Í ¬Lò¬.ïPëY †7hàU…y¸-É}ZHoÓåþzpŽ»ÜvËûËõÛ¹&–L¡Î½=É%ig†iÝ ê˜ÉÖ1ë¤|‰­Ÿõ°^½º0/;ˆ/ö— Žç·ZNûÔ‚4O_cû×l挞‡­ô´Å.éƒÕåJäS…y»:Éfü<üUaY?ÕÃk°ô<ÿ¢cù.ýšâ3Å^Ñ ½ƒÆTÞÇ7ÈÃKvÿaÐÀÐbŽDõ•Ý)i6p`i’ýf´¼C­g=4Ö E)_SôK-¦ûëÂ4OìÁ9îzÛE,ïw,×¼w¥/Ú|q¿^’ \¿N»k°?yÂ÷‚:fruÌ«äá=¬WÏ(Ì˓ŗNûUƒãù¯-§}xš XûZÁ¶ožÑó°¨ðX,Ó>»¤ Y—+‘ýäïû)[Ó°«+,ç•3^λڼnŒ•”ý;–÷צ|„ê3|N2ýõ’\\˜Þ/ÓþÚâ‹RþÀÿÂzû!ÝÿC40¤Ø£#QyDªš ¸>ã›^wœ†ZÏzh0¬Aoi‡§·˜î1)Ÿ±dç?Ç]o»ˆåýåúkwIa:m·cO³¶ÔIö1Í­’üGªe&y/¨c&SÇì•òA0—&Y¿‡õê óòÏâKg=·aÝØöŒTë§šn¿d íâÂ{î3z.¶-<Wi‹]Ò†¬ë•È7äñŸfø<ìØ œ‡öèú+}p²¬~@Ô%[$Y^˜ÿ×khkò%Á¿·\Ö7Hû¨ÞÿC40¤Ø£#q‡jø0çöTkŒ>å|Ïe=â!Ö³tsÐÀü1”õñIV¦ÿ›´»¦÷ Êþ…?dzÐvËûËõ×îôÂ4ÞÐrùæ§ZV¨I[jy’w'Ù²aZû$ù·”¿Pǽ ŽoóÀ”t½=Õ}¬Wÿ&åƒ&6_îd³TƒÇM1[&¹¢Á±\™vgaYí Ò^•ä ¶ûÁ ×gÏ/<§h‹]Ò†¬ë•ÈÃÓìë¿wg< '¡´Cô“TëºõÁ™…eþlGó|aþÏÒÐ(¶0ÕCüÒtÿ¾¥tßÕ Í3’¬;ÀûHƒ†{t$î°A’sÒüÁóêi„ï;áüî“äØ9vä‡XÏzhÐÍA'¥Ý©/™äÆé? Çúôé=ã×X×Û.by?c¹þãÚÔ ¶¯ù]3·ùË’üW’#R}]¾Q]o¬—êÚ>I^˜ä=IΛc{­í{A3¾:fÏ4[îâ7=k7®éI™Þ ¾Y/GÖù»$É_fíèö©¦òýVýpïŒ1•ó Ëøÿ¦Ùôcóëè—ër<Êçõ¸Âr^’îŽj\äòÂr§¡ÑHÓ©Â/¬P•vþÖ­;5Lç]¾ÿ‡6h`±GGâzfš½L¿ëïÚ$ÿ’ê+¹6lŸêkŽ¯æž§4ÞK=+–v,ý¹Ü;—¤<ÐtÖŽG$ùzônK²÷˜ŽõÂTët7ÉÏgS}6kר,´]Äò~ÅrýÇ2‡6¼æßŸö¿À}[†1h@sÇoñiÌOòŒ$?Ãù|ûêÕ÷¤ù ¾Ç <¾<`-}º+êºï™ioY‡û%ye}Î¥n:yÌÇäàêÏcÇ”·äÎÈ¿ŸjF®­[Ø÷ã’ü0ÍFŒò‘ö±ö±ôa‚æ9c«Dfáøï‘äG™Û|—ÖOI5eèEuñ–ú¡áºõ¾MR}Å·Mýànï$ÜÍC¼•©¦1^Ör×I5E`“‡†W%ùP’o×Aöê$7§¼qÝPÞ½.dzrçµ?ö¾njjÓúaNÉWeÇ$ùóßCïJò ¶»µnð^;c÷è´Ò_j­­ƒþÝÅI>W7>OOrY}¯/®;q»§Zïø°9t@¾SwVŒá8ÏÂýß…x1é<ô=öÌJ`Ò^]wÞGuy]ZwÊÏ©cÀÒú^]·¾_׫¯-“l•d—$©¯… ÒyKª‡óêY±´+éòby}m}«¾wΩãÛêkì>©¦¿Þ/Õ³}çÆŸ×íËqy^’O6ü›UõýøåTÓ•žŸäº:^¬®'6¬ï±ûÕ1~û$;¥š¶{›)\c³ÒwËûËõËmVÇæ&Ó=ß–ä¿ë8|J}^9b9ß–äÍ<þmß ê˜;®×S“ü,ÕÃçÕ÷ìÕ©–ºµÎß‚T³Pm›d·ºzh’ûÏ!oÇ×íÍU=k·ÝÕ¶u{haÿ» >F«¯¯KësqKÃç×ûÜ þm^÷EvHò°Tƒ…g5¾¼¾A[oy}|~•ä´T3¹]R¯êkwY}­>VKê6Ë®õoÿTÓ¾ÏõX¬HµÌÖOÆ|\~‘ä¡#üýãR-Ó¶_¦Z–äîüª®cO«ïƒËê~öÒú¼,¯Û‘‹ë¶ävõ5|@ßæåý©fÓ>Ö>–>0X³4òèuéÂèô‡©Œ/`Κâ¹|Mƒ|îÚñ{h÷eyÍ Þ£ÓL‹”¯[:îß™ÿšå]¿ÿ‡6ÓÀbÑÇ÷쨌6ãÀ$§¨gÅÒŽ¥ßåûås™Ìú¡ŸKÿ¿°¥¾‹X>ûô›ùèˆ×é-•õˆ”­‘=Ëõ :f:¿¦zÉ4”ç¤ïÌ0fïhËÏf¤·ú÷† ——Çó3žŒ¤4Ñ…óp]Ú™yGûXûØLÀL›µJä™ h/SùÖI5%դʱՔÎãi :‚³àÇ…å9MC£±­Ó|Ú¬¶gOè^éúý?ÔA}Ž=:÷îÅi¶Fú4÷WÏŠ¥J¿«÷É÷Rö•r6«âõýÁþ,õ]ÄòÙ¦ÿØÌC2ÚàÇoµXÖ½2þx¿éÀ½0ô:f’¿o¦úÒ{HÏI&ùy (±kfkÀÀ±™Ü×¾‹R}©?—|þÕ˜òô˜‹Ã´µ¥0›•È©¦Ššf0{×Ë·KªÑ“(Çó§pþh¿#fä>:²A™ö×ÐhlËTëòMã^ÿAî<õ׸uùþò ¾Æ‰µÛ7Í×'ŸÆïUêY±´CéwñùïŒ÷ÃÝÙ±qcר,õ]ÄòÙ¤ÿ87ïá:ý—–Ë»N]æßµ|?‘äðTS!wá^r3©ß‡2þ€]­Wä÷1h`mÞ–Ù0ð±TËDLÒ_Î!Ÿ+S-“1Þ‘sñZícícéÌv%²Uª5?§̾>æò=>“™Æïߦpî>T˜·¥I6š‘ûhãTëM•”ëƒs²0Éû&|Ÿ¿/Í× ìóý?ôA}Œ=:eî“äÓàôõ¬XÚ¡ô»v¼?ÍÖönÓviöì¬>ØŸ¥¾‹X>{ôçfÝ$ß™ãuúÊ1•{A’ÿä‹™ûlNK“|*Érç¯sKþöϪf6¦_ŸñÍø9KõêöI~ƒîMgzº»—ðožÒñÙ,ÉM ó{âóóù)Ÿ‹[’¼\ûXûXúý©Dž—錴½|e;0ÕZ‚]]ûh.6jÐ8=vÆî¥ã ËuS’ 54FjtŸ7æûâ¼:iêâýoÐ@ÿbŽD3O™@ý3×ß êY±´Cé—¦÷é Ô™Ïì@ݱaª—~}°?k}±|6è?6ï?®é>I¾;‡ëôÀ ÕOIòÖ$ÿ•ä—I®L5˜beª-W¥Z¢á‹Iþ&ÉÓ“,¾›}mPX®k=«[3ÎßqIîç9éî÷g´%HúždEGûmg%yä”Ñÿm˜çCƘ—‹§x.~”dOícícý€þU" S„?wAì¦$ÿ™¹OØÔ©FÑ·]ŽUINJ{ë5•:ªA;c÷Òã”íH ‘ïù£“\Ôò}qQ½ß…¹¦ºvÿ4пأ#ÑÜzu=ñÛÉ1I.M7 \žäO“,êȱ)TñûŒw …=SMMÿ» ž‹Ÿ¥šõfÞ@Ÿíiëÿ{Ö ¦™—êÁù¿µÜ(<3É{S¬\<¥²íUÑ2Zcâ'©Ö‹ÚnJå8µ0¯¿`ã­Íë¯ô%Ò©­X7ÉsR½lX6ÇûbYý÷ÏÉô¦.ž•ûß þʼn¹[äI¾•êk¸I=อNó5IK;šþ\Ò{P’w&¹`„ûã´$’dÓŽ×MòÑ$7f<NLµžï3“l­ï"–Ïx,×lÞ¼'›$y}’Ÿgí/ˆfÍ…ÇñϪF²E’C“¼#É×RÍ Ñö”í'×±|+ÏI‹íšäïëëa\}’ü"Ég’¼=Õê{¤;\¬­ßö´$ÈtÖm?5Õ Ø :v\>Q˜ÿ¿š`žžjàïÏÇÐÇþMªÁ ûx¶§}¬ÿïYý1Ï! ¡SMù´G’&Ù!Õö ’¬_7n—§z˜}Sª©ï.¯;îç&ùU’Ÿ&¹ºCeZ¯Øû§¹]’û'YRÚyuynLrYýàðôº‘úíºS}´~’G%ytÝiÞ9É–kÜ·Ô÷ùåIή©ßKòýTS`Î÷¿ØC7mj¿§¤újºÍ¯›—¦úâ‡õïÛõCõ,]Vúâžúw{%98ÕC½R}AºI}­¬¯³ë“œŸêËÇSS­ƒyጧ…Iö­cÆîuÌØ6Õ¾ë§úmeª/Á–×õÁõõïªT¾/®ãÇê{îÚŽ•qVÛ.b9}·U]ÏîUÇômRMÿ¾Q}ï2cåyjªµ˜×æ„tcÙš>Õ1['Ù­¾Ž¶¯ëø­S àÛ¸¾¦¥8º`xvSÃÎOrNªiÂO®c£½ê˜»G}­­>ÕרÊú<ÜVÇßëêã~e}]žêáÅ©fçø}âÙ¼úØTÿö«ë¿6Ýœê¥îWê:çÌŽ‹—%ùÐZ¶YQß×O!×}ë×ýí“lžjÙëzea]¯¬¬¯ç¥õµzåõå/ëúòRíc± èƒè²ù©Ôí›êËéêߦugzƒú!ÁmIn­KS­sxIýû}ª/!NÏ_]Ã,uÐ4ñ¶$o.Øîÿ¦úŠ`µÍ’<4Õ‹ÐíR VÝ&Õàèõë¾ÛâÜñBô¶Tƒ¥¯JõòöÒT/DÏIõRô´T/Û»îëIž°–mŽOòl—0¦C`’¾Qw^êPdÇTÓܯ­Î|ªCÌ•ALʦ©fm*‰;u¸òïõåIÖq¨€¹2h€IySa̹2^€ìšjù„µÕ™or¨€Q4À$l˜ä²Â˜sœÃ ܼ$_+¨/—%ÙÚáFaÐã6/ÉçÄœg9dÀÀ½®°¾üG‡ •AŒÛ;Ä› “ÌwÈ€;,Ém)[Êe‡ •AÃôÔTË<)É‚1¥qŸ$oknOòz§°#“,/¬/v¸€640L·FMª—û/I²] ûÞ&É[ëý60pA’õœ`Æm›d׆³_’o6¨/šñ ø€ÖÍs:­t@€þ@¿|;ÉÁ÷ðß.Nòë$gÔ¿³R ¸1É õÿÎKõ‚³$[%Ù9ÉCë}î3Ǹqh’/:5ÀŒ{]’Hò³$_Jrr]§^•de’“lšä!IöMrHýÏ¥–&yX’³j  fžùInJ³YÆý{·ÓôÄçÇXW®Jò‡h“Aówº5`às1Í6Зޱ¾|½Ã ´Í €áyUº3`àIÖuJ€žØaŒõå›^` žfúƒ–%y­SôÌ ÇP_ޖ䇃†ç¬LwÀÀ×’ìì4=ô¯-×—ç$y¸Ã Œ“AÃóÂ$_H²4“(°¢Nó‘?Ðc¿h©Î¼6É“,rH€q3h`¸%y\’·%ùV’ëÓî@“|5É&ÙÂáàI.¡ÞüI’?J²¡C @ŸÌs:­t@€þ@ÿÍK²S’]’ì¸Æo«$K’l°Æ/InM²,ÉuI.OrY’ó’ü&ɯR}q»Âah—$M²W’Ý“l“dÓº.]žj¦—Ë“\˜äô$§¦¼u©C½ÎTIDATÌšÿ5(þrØ)IEND®B`‚yacas-1.3.6/docs/riptestfromyart.cpp0000644000175000017500000000344512346146160017424 0ustar muammarmuammar#include #include #include #include char* indexOf(char* haystack, const char* needle) { int pos = 0; int needleLength = strlen(needle); while (haystack[pos]) { if (haystack[pos] == needle[0]) { if (!strncmp(&haystack[pos],needle,needleLength)) { return &haystack[pos]; } } pos++; } return nullptr; } int main(int argc, char** argv) { if (argc<3) exit(-1); char* inName = argv[1]; char* outName = argv[2]; char* inbuffer = nullptr; FILE* fin = fopen(inName,"rb"); if (!fin) { fprintf(stderr,"Could not open file %s for reading\n",inName); exit(-1); } fseek(fin,0,SEEK_END); const long size = ftell(fin); if (size < 0) { fprintf(stderr,"Failed to detect size of %s\n",inName); exit(-1); } fseek(fin,0,SEEK_SET); inbuffer = (char*)malloc(size+1); if (fread(inbuffer,1,size,fin) != std::size_t(size)) { fprintf(stderr,"Error reading %s\n",inName); exit(-1); } inbuffer[size] = '\0'; fclose(fin); FILE* fout=fopen(outName,"wb"); if (!fout) { fprintf(stderr,"Could not open file %s for writing\n",outName); exit(-1); } char* pos; pos = indexOf(inbuffer,"{{code:"); while (pos != nullptr) { char* start = pos+7; char* end = indexOf(start,":code}}"); char c = *end; *end = '\0'; //printf("%s",start); fprintf(fout,"%s",start); *end = c; pos = indexOf(end+7,"{{code:"); } pos = indexOf(inbuffer,"{{test:"); while (pos != nullptr) { char* start = pos+7; char* end = indexOf(start,":test}}"); char c = *end; *end = '\0'; // printf("%s",start); fprintf(fout,"%s",start); *end = c; pos = indexOf(end+7,"{{test:"); } free(inbuffer); fclose(fout); return 0; } yacas-1.3.6/docs/autocompleter.css0000644000175000017500000000052212261607322017026 0ustar muammarmuammar .suggestions { background-color:#FFFFFF; z-index:2; } #popups { position:absolute; width:164px; } .autocompletertooltip { width: 200px; background-color: #FFFFFF; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:9pt; padding: 2px 2px 2px 2px; color: #000000; border: 1px solid #000000; } yacas-1.3.6/docs/gpl.html0000644000175000017500000005020712261607322015106 0ustar muammarmuammar GNU General Public License - GNU Project - Free Software Foundation (FSF)

GNU General Public License

Table of Contents


GNU GENERAL PUBLIC LICENSE

Version 2, June 1991

Copyright (C) 1989, 1991 Free Software Foundation, Inc.  
59 Temple Place - Suite 330, Boston, MA  02111-1307, USA

Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.

Preamble

The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.

To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.

For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.

We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.

Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.

Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.

1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.

You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.

2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:

  • a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.

  • b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.

  • c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.

In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

  • a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

  • b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

  • c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.

If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.

4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.

5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.

6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.

7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.

It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.

This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.

8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.

9. The Free Software Foundation may publish revised and/or new versions of the 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 Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.

10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.

NO WARRANTY

11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

END OF TERMS AND CONDITIONS

How to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.

one line to give the program's name and an idea of what it does.
Copyright (C) yyyy  name of author

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this when it starts in an interactive mode:

Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details
type `show w'.  This is free software, and you are welcome
to redistribute it under certain conditions; type `show c' 
for details.

The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:

Yoyodyne, Inc., hereby disclaims all copyright
interest in the program `Gnomovision'
(which makes passes at compilers) written 
by James Hacker.

signature of Ty Coon, 1 April 1989
Ty Coon, President of Vice

This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.


yacas-1.3.6/docs/recentindex.html0000644000175000017500000000324112307133254016627 0ustar muammarmuammar Articles
Download
FAQ
Credits
License (GPL)
Related links
Google+ page



Coverity Scan Build Status
yacas-1.3.6/docs/homepage.html0000644000175000017500000000661512307153534016117 0ustar muammarmuammar The Yacas computer algebra system
yacas Computer calculations made easy

Home


Tutorial

My Yacas

Manual

yacas-1.3.6/docs/faq.html0000644000175000017500000000632612261607322015076 0ustar muammarmuammar

Frequently Asked Questions (FAQ)

What is a computer algebra system?

A computer algebra system (CAS) is a program that can manipulate mathematical expressions, potentially reducing the time it takes to perform cumbersome but trivial calculations. It does this symbolically, so a CAS can return a mathematical expression as a resulting answer.

Why cannot Yacas solve my homework/integrodifferential matrix operator constraint equations/ [insert another problem]?

Yacas is developed by a small group of volunteers and does not yet perform many of the sophisticated tasks that a modern CAS can theoretically handle. Ask the users' mailing list (see links below) if you have a specific problem that is covered in the manual and should be solvable by Yacas. Yacas consists of a small kernel and a library of interpreted scripts in the easy-to-use Yacas language; the scripts contain all CAS-related functionality. You are encouraged to contribute library code for solving a specific problem.

I want to use Yacas from inside my own application. What should I do?

Yacas can be used in several ways:
  • as a command-line application that takes text from standard input and prints text to standard output;
  • as a server listening on a port (also on remote hosts);
These options allow you to use the functionality of an installed Yacas application directly from another application without having to link to any Yacas code.

What platforms are supported?

Yacas can be run directly from the Yacas web site as a Java applet. In addition, the C++ version of Yacas is very portable and runs on many platforms and OSes, including Unix flavors (including GNU/Linux and derivatives), Mac OS X, EPOC32, Ipaq and probably other devices running embedded Linux, and 32-bit Microsoft Windows (TM).

Yacas gives an error message, a wrong answer, etc. What's wrong?

Most probably it is a bug in Yacas, especially if you expected a correct answer after reading the manuals. Please let us know by posting to the developer's list (see links below).

Is there a mailing list?

There is a mailing list for developers, but you can also ask questions relating to Yacas there.
yacas-1.3.6/docs/about.html0000644000175000017500000000231212261607322015430 0ustar muammarmuammar YACAS is an easy to use, general purpose Computer Algebra System, a program for symbolic manipulation of mathematical expressions. It uses its own programming language designed for symbolic as well as arbitrary-precision numerical computations. The system has a library of scripts that implement many of the symbolic algebra operations; new algorithms can be easily added to the library. YACAS comes with extensive documentation (hundreds of pages) covering the scripting language, the functionality that is already implemented in the system, and the algorithms we used.
yacas-1.3.6/docs/journaldescr.html0000644000175000017500000000452012261607322017014 0ustar muammarmuammar

yacas-1.3.6/docs/back.gif0000644000175000017500000016322212261607322015027 0ustar muammarmuammarGIF89a@@÷ÞÞÞÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ,@@þH° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦Í›8sêÜɳ§ÏŸ@ƒ J´¨Ñ£H“*]Ê´©Ó§P£JJµªÕ«X³jÝʵ«×¯`ÊK¶¬Ù³hÓª]˶­Û·pãÊK·®Ý»xóêÝË·¯ß¿€ L¸°áÈ+^̸±ãÇ#KžL¹²å˘3kÞ̹³çÏ C‹Mº´éÓ¨S«^ͺµë×°cËžM»¶íÛ¸sëÞÍ»·ïßÀƒ N¼¸ñãÈ“»€'såУKŸN½zÙç;±[ßν»÷ïàeþ2o®s|øóèÓ«_Ï~ ùòÚÛËŸO¿¾ýÐãóëߟ%ÿÿüÝ'à€hà_&øžI *xàƒF(á„kõ—“…f¨á†vh†7èáˆ$–hâ‰!-ˆ“Š(¶èâ‹0¾ߊäÅhã8æ¨ãŽ<öèã@)äDiä‘H&©ä’ÕhÕŒcA)•”LViå•®Q•–_qé”—X†)昚ٔ™[¡©”šd¶éæ›…±H›XÑy”œpæ©çž}Ù‰”Ÿ Z“ DÊ硈&ÊžSj“â5x£A1ªè¥˜fš•¥$‰Ø)¤M‚:S€ QZ‘§)šªéª¬¶¢¨þ'¡*’ªœÂ¤ßBªN$+H¹ºêë¯À~ +ƒµzDk¯íêÞ°%)k,²ÁF+í´A ‘³Ïj„­KØZëжyKí¸äŽ+.|Ýza±çÒXî»ðÆ+Q±P9ºßºf¶û*³òö믹üN0C÷Ò˜ïÀOéûï 3Io½—Ú¸+m«°M7¬ñÆy^üªEØQœ’º¸Fü¥É§¬²•„Š\ЮrÊ 3Ê//ëñµûé2A3ƒ*s­7¯,ôÐ#fÌ3€ß’j3ˆMòË4/k3¾³™`ÒM ¤tYkÝ5ÔQ-öØ7Úé©Ñ\k‰áN?}4EÚíkÎUÇL§¥koÍvþ a“í÷ß$¢êÙ°âwÈ ¾÷³®NÊÝlÆKI8B†×¨xâˆ{‰6àœwž¡Ñ=?Jyåîµ-µ×TêÜøæÄª fè5OJºÖ¦{½tÉ}{®ûî÷YÍ)Ó…Ï©…ñ-^íð¬?î:¿Ê?ºÚ!ƒM^ñìæÎûõØ+ä@«˜:ôÏÍx¹ô£ÿhò#¹Í7ßš{ü°ý‰8ù¸gi}öøS4b¾¿^¼Äð òx¾VKv†BßóLÆ¥nýïyLù D7ûåï‚ôQàf–¹Ó0€û ×DX¾‡HNêè@80Ì-0‚>3O Ñ´¿Áhƒ8<Î /ýÈM€þï;aI(;6(w_;Õ Øâ1B!ëךæðŠö;âÖTC7zÅ„@œ!ž~W·#ªÐŠi»[[(C0.PŒQÄg´¸7,Ú8tÜ"ËèC)Bð…UóêöD%Kol¢ ÙWȶ ’{ÉcïHI¢Ñ2^ìbåXÅG6•à‚ˆµM†uB,c/YÉV¾ÆqŸé£"ÉÈI(þQbc,Se6RÎò“µœ¢ÓŒ¸Êºò˜s4æad™ËöÓ‘¶\Ÿ4O©<@âÌš¸cø<™Jb²†•È 'j”¹LÿÑ–næí¦YBj¦op›ûÞ9™Nú©ó–{þ§>÷ù¶l–’}¾¼gsÉNl¶Ž‚¬“'jÐuЛüŒ(µÈI›îùP—ÛŒ&ƒ‡ËfÞïx„ ›B‰Ñg:Ôž%µáG%j–•nÊ¥UY)EûNâT/`Y`5J?"ð—* ©w ÐN Ÿµ#¡6aÚÒš²tQ3JT³s¬FÕÉpAe*UæQºð¤`k(*ýXDBsdE¢I‡™·¤>”§¦Ã©V vUèEê©[­ËTו¬¹ÞõI3ËêU&×´Z.nöLì0YÐ4:s—p;\K*Æ£’Õ±b(cé¿îË®1Ù+^¡v§®I«¦}‰hgEFÁ^eµ}-þå׺fJ³:pi³•ÔÜR8¯Âê‘¶µm&]ÓÖ†Ö³£U¡Wn˜Úùµ¹ƒ-¯ŒÛÙºrÕˆÎü©­ëÜr6¬ÇE+wi2È¿&w#¼¥"T?*ÝP%Ô[íêkÛ.¹¾”°»¯"Ñ¢0Èjëfñ}–6Í{^÷zPŽ]I/v™òÕó’Á®/}Ñ»_ënI¿¨#0YúUG½ÝcœƒÌWàP¹µ™Ëõ¯fÿ´ºþ½ÃÕd‰ŠgIÐÿVXÆÐµlÂ8 ã’ñÃ9Fqg{¬Øûذü0çäÇ@%OWÁ¾“NÌZ"³–[A®ÞAÙ’' ¿Âåc¼]"+ÓËêí(þ’ÕZbCb$ÈS1œŸüf}ÍÙÈ8æqëÌå<÷øÎh%óvÇæðËz>2’MÜfÆñyPÕ$ά[ º(äD3Q+â>G×Ã`Þ2iÅ|–^±¨Ã F´~‡{Fë9™lÌퟧ'çWƒ÷Œ»e±…½æöº¢>°¡›Ú×Õ‘ººóõt§Ýh*»ÒÚC¥½l­ãÈΚÒþõž­Íê—b;ÚÁ–à ¾W–¼f¦¶r}ÝÛi+Ðë‰5¹)7·³âZªÓ¾¶”wÍëN ª¡N—¦ALh Ë:Õ€%䢙­R(›È¿ðƸ¥}¿ˆ·úч.”ºåËnóYlÞ]Þø—þµ}#;×ó…è²'‹Ÿ²óÄ¥q ÀüÎ.gùœ"&¨Ì)›ä'»o©M^ï“Vå u7ÿrþˆÃvÕÜœ,ѱ[ñ 1ãíV+øšä¾ößI¿8R1 ×ó5»Î çö¦ÇZv¤Oš½Q‹y£DŽG§7Yž2ÿÔfÕî‡ Ù»ou'Uiv5Ùž:§êÓãÈ{[m5{TÒ<üÓr«`JRñù‹'Ò Ïdà…Ôq=ßaÿü¥«[gÄY'©a¨÷7j}êa„›OýÛ·¿T¡¬°›£Ö®ú/'Y¶3žÄîïwÛ'7v˲ÿëñWÿÙ'=~uný–÷wTÑÇwh×Uva}Ýqs½Ô8¦+ÝWTZgs´3ÞÓ€÷=TO´“Y+Öbç–n·mÀ·TxY'¶XdÕV ˜{ûe¨Øvƒd'n5Ù§sfõ¸v·r¨õ€Þ—vƒWuq§8â‡<‡Ný$ƒš5@´v‚‹7…7Èi`•XÁ¥]Ph;Whv-xM€ÇSYøV[hƒU‚@%pþTZ=xzò¶l ˆ|–§zDHurHxo˜zq(Ô×HÿgKLÆ…]Øq5‚‚þ(Bh†gx_ø]kè‡%x;‹Øy‘åo6vˆ<؆×G)ɳHYw‡ëöxuÈy—×|5R&˜†}·„æÄ3V–È|—hBN˜~;8ƒ4èˆlµ…´è{ØN/¸i)A³8CX§}™ÈpÁ‰h„"åTžÅAŸèŒ¼˜„9Ø­†D5†²¨ˆ¹h…eUdÂ(…çlŽä8ŽÁèx³§^è85•UYµ˜£ŽM€8bwÑh-Óxw€"wÅhøÂ€d{ôSÜ”Œ±÷|VøqÑãN)Šëx´‡|Üv‡Ù‘ù‘ ’"9’$Y’!ù}‘8{ H y‹òÇŠèþ’%÷6Ù;òÖÏ5]I§:Æ©ÎqQ@Lay0ˆƒ ‘îHs]E”{GqG¹v¦(Ii’Vy•X™•Z¹•\)’(Y”MYŒ )=qTʸŒd¹Q§#Óz9ùqx„=é‰èS¯&”M™fäX‘sŒƒè…i™—±(…|¹<•Ò•ˆ™˜Š¹˜ŒÙ˜t“CèOå'V…ÉféLY!k”#µæ–¼—r©yÖ™Ò‡“|8ŒøŽ÷T™÷XŽæÈŽI–+¹šð4Oí¨—2 •‚W›èg–Ùš±Yz›¹m‰“suœÆ‰q&p)75 š¨ –R9ˆ?ãj¦‰Møšþ9+؈+æ—·‰‹Ìhoõ×Õ©ƒª©†¹Ù%Û{>XœþvœÙR•—‰ntÉ“ïekæÔ‡ÜÙˆ¬ œÙ¹žŒØáX[۩➀‰*|+øŸÉ(š6RjÁ„œi*ÎéM2ŸYŸ¢$S ¥¡é”$ø›¯)¡(:YâØ  *¢ ;\×E :˜Y£š¢å›Š–Êž%JœOº¡õå^ççžø“ß2¤#”)Ù¤æXï™-j£Ê¢Á)¥™I3º¢.š¥8º¥J‡[I †eªÎòœõ1c.Ó~ÆRi­E¸e(ã¦j0Pz Qù aº‹h|/)‘ÙE™þ}ºŠLÚ¥šM“9…Û‡‘試˜öXliE"C=F2EÊg8§ÌÙdnÅFÔfQ´‹,ˆ‚ëèD¾©‹yº ¨êz¦úª²jžHH£]z¨7U§ê Zj¨ì&TÐYž`‘¦Ö8—Dª—µ6Úbp#y–xjnTT†¾j¥“§mt8Y¨œÄ¥Â51 F ÚWày«x¢„­èš£äšŒv󻉤™6‚fèô®œˆ•&)¹r¯µç¬Jø£I•81ŠwOù~d Wvyc9;¥ ©æú ‹9›ª)*«j±ÈEOg a”Ewuׯô”Jò }$¹¯ÇE²!»þ–«„ª÷y¿H›ñHb…G~ÆG‚”÷®ÔÔ3?7±U*›2‹Œ„Z³fJ~­§°Åúb![©L5Hb9nú:|û2¶Êª4¦q/»«ë.\kz"K ¤p*ÛµX뵃¦¤ëe@K¬$©>:xV›U'›µÊs·Wš´L»²—¢”bgr‹žÄÕŒ(ú¥£ž¦NƒÛ¶à'`VÖ¸ZhNúµ”«Zz»!7;“­³Ãf¸'”¶t«¸¤QSo+eñeºVwºýYlžktUæ·ã„¦œ:|eËo±Û¨6ô‡¶èBp¥ác;º|š‘+²9ƺÊ·x†¹™ËÃëh;É.Š»tþöº˜Ë»ÎÃvÏ»¼÷&Ò¨¼ø¦·áëaÝû’³–›»k¼ç‹”®©{ô¶§Ã uï»»Ú[|CTnÙ¾½Ïª¶Æ+^,S‡'…ËœAKÀ”ñql+µ$bt%¬s ­{[¼í+[t»*ÁÁ lë¼lÁ2Uîób§k$ì½\t+lÂï›löõÀâ‘™åÊ ­Ëžý+ˆØ‹e˜±ì»€Í{&8z²áz½%Ùľ̆lxÑÌËË mŸ8,ºšúÏÊ™{€;þ­!]½üìÈýÃÕçÑ ]Æ+]ÏÕ·ÍÉ û ¥RÓzjmWlQ2MÆÜÜyìÚ]Ú«–sìÓ=ÒšÓ²€‡\:óëÓØ·Í¿Uyè‘.°»\É×wI̓„ÌÔª±ãyYŠ&J°'öÇ5}Õ’½GÒv(‡]½Áêr³\lÖ,µI®ŠxÍÖ¬ª¡ ×fÑÎö]<¾BëmtV˜zÏ~­(€ÝÌ%ýd¦©ˆôˆ²uÝÐ)~É<Լʛÿú±•mG>ËÉ{lÒ'=Pe™Ú¬ÙL´‡]´kœ²]I«ÝÈóÕ¿¹£»MµÕ¼`¡ ²=k ¨=Ü”¨Ä.ÀͶIþÄÈ· Ÿ¯M×۽ÍÒÌÝÜë‚æÚöøÐ”A¤IÐÛ|š¸¯åÝÝdµ€º¬â=×½z^ŒÙξ½Üˆ›”T¹Ã4›ÛXz׎9à^à~àƒíÞÖDÙÆ»Ù^ÝÏátß-ݸ™ß®·Ö+¼—Ê-á‰à â">∩à@M¯þÛó °0jß‹9Òµ ÏsÍëÍ^Fâ8žã:¾ãiâ×ái 7Ñšõíãú½ÜMÝL̨F«äF^. ¶Ð½â$EÆNþˆl*šùIÚvÍ›ìÍåOÞ&™ôŠŸIåD>;*ÍÜhDûíá$šÜMNÎaÎ'c^X)2äéÙ«`~Eþ7.8‡ä çÞæsÞ9‚ã$jÛC?…ànƒ[ŽÜ5î„WÞèÀ2‚ˇ¢ ©í×}n˜'%ª`ÞáâJê–Ž=šâü~T»Ý·N)­üYÀG}£¦~ê¼s~ 1í-QÚž§má‡9F^nãrŽëcr©FpÈžÞßÜI.ûèEí¸uÖÞì¨.Äô ËØ¾àtÚº£4Ô2î›7brÇ/î³ç±éÛ~aìîÝp‡Z€–îbïåy½ÞÑ'>«ÅeäŸ-ãß>dñþ ~Lnï„Q—D+taþƒK>¯Ñrð®T«Ü¼\ÜûÞàÃítÄήð5‘vÍþ¬eB=Fz®sWðòΗ—ÖpbÄÖ™¬öKñ‚±Ä‚½ñ#¬àoÐ Ï*éªðbn9Õš-óïöé<ßó>¯ë*¿á@ò´Fô6É¿Ý\ëÞôQB»¸îQ/õ/ô_gõ<e8?¹üìa?ånÞíeƒHS<õï+“ÍòÁê((¶ç öŸw! ÷;B8gg\/F÷Œ±õÈ›Ÿ¦¾ò«õª.ø1Ré´MÓ¬l «Ç¥6"è!xf‡Où¶qÇZŸÊ–ÿötíéñŸ„h>Ìöòg‘ |fOú{¤Ô)úç\ÊvÌØ©¡PŠŸ-;Áo·~OÜÔ½ù@Žûþ‚òij³ÆdZ·²Ç6÷±{­¯¨Æo·#cÃà¿™ ±RTýÎÔêJ_÷K­Èóïï%»ýˆNÕÞrÚ®µ„çoðà Pp`dØÐáCˆ F¤qbEŒ5nt8±àEŽ!)‚T(ÒäI”)U®ÌH²áÇ,eΤYÓæM #ÂÔ)çH—?_Æ ITèÍ =4zÔéS¨Q¥N¥ZÕêU¬Yµn…Ú”)L‰D{rMzÒ+×”ÏN]»í[¸Çv×î]­s‡º%H•ïÓºÿâ-+!ÃÂx/fÜØñcÈ‘%£åË3¬ÁÄV3çÜdàªþm;O&Í#O½¥U“N]ôK¿£‘¾,¹ðkÚ«uïæÝÛ÷oà¥ÿ¾FŒ™pkÁÈ…ÍýS´òà¼;[Ž^nk±n¡ÏÞî¼ù^Ï@I~·^ÞüyôéÕOLü«ìÐ+á;vé¾kPòëF­ß¿wºz"n>ùò«É¾Š Ä º³üïA#”pÂÿTj8)Ü ?sÚ‰Ã5Œm#êD4ñ4æê³,C•X”É»Û0Ae<ñFsÔqG§Úó1DJ Æ´RsÈ ¥‚¯¿$sD ¹'5²@‘œÉ¾-Rh.›ôòK0ÃôF"»óEì¦é2½¬<Ó¦ùJ|“Bmþ„ÓÌ3t³H9/ »¯èšsPB 5T: iÃóP¡\T˽Ú|”Q‹ìôsRJ3½4«=‹³4ÏϘ”ëɦjö½”£”VoCã&•­[6|ñ¾q¬û\“ÛMXòÆ+·ï¦|WÂMwýõ~­]×ÕÑIïðÕ{µ=nØ#D}rÕc»½wâ‹7þxä“ô÷È›W’g壗~zê«·ÞDæY/wøÃ²¿þ{ðÃ|òqò¾Ûí[‡ÍÏòÛwÿ}øã—ÿâÜSw0²ç×þû÷öó%'}õ£à˜ò?&Pþ dà[v÷À‘H}Z»ßÐu6¥4Pƒä`=ˆ>†ðp@#`äpÀÌi®„da ]øBä‰P†)¤°î…ÂhA†•Óá}øCþ­Gê"á é7Br %Q@ì™øD(6PˆQ™¢Ýtý(/[Yäb÷WE*‚x«  £Wª2šQküÃ8),Ò$l,»ŒHG<æQq4|ÞÉâHB=þ/]w d! /7ö±U„Ä#y¹49ò‘“¤$«F@.G’•à9ùIP.ω#bÉkJ =0uŸÛ&QùJXi”ˆk•&ÅgÊ/íî\Œ[,}ùËe]2t¥þô¤¯ÇG!¹ò7HêaÉòVL SšÓ|Û,1ILeÊš=›ãPÀÔœfÆèˆÊ&¢¨yNtÞª›÷)'6oɽmîf:u›'.§Æ#1¦SŸÀ¦gâ ªñañŸd§| ÚK|kŸ ¥f?!cO¾óŸÎAÓbѵóŠehG5èPúPT$uØ:‹“KŒš%¥š “I=úÒZ“="MùâHSy¹ô[õIKI S ö¤!m NAvSžZ'œØ4jŤӠF•C-jR“P¤2j©vÛd>O•1qýTªc…UÓTœI”§h•§N·:RµxPø+YíJN7y5RjAþÙ 7ªWÛX5šåû#[ÉøVàn_¸C扠zWÈÆe‹•’© {ÈGÀ2–•ÜÉìCíbØwQç±*œ[ËøËvvB£lk3*í ±2m[’l­Bï4ÖµE Ô«JרB!6±¹ÕXÁdY×Ý&W‚vüÕà ô´mÕ­r»×ñ3­¾†„\Õ°Öºã5ˆL¥NoJ~NŽYÉ›^ìªó·Û=“pM˜[¿j¼ïåïUãË4Êr)M 4LN«ÛßὌåmÈì ×Ó~W°ž0‚-ÜWÊ&عîiD+¬ÄÊ^˜}l°„)ZïÁÏìšÀö+bK ÃN‘þ_\DñN3QüÊpƒŸÚÝÖ-U9Žq‘¡+@¶ÑvQDn¤jßû£»Jr(©ŠÓ&—'ËFæ²|[ãËØ„¤c§“›w'سÓ-™\Œçd“—™šË®Ö–$fº=û¥»r¹þåL×ïDÒÜRšB›«Þàº:Ü»…·¥Œ˜8Ó{TÓ·çe¯óº;aX»­¼›­í¦ÁyÃð½ó¯÷Ý_À‚Yœš¿F첂ç1bªVÕ,¾fÆŒA)gNZüž!‡|z¢6ÜÅCsð‰k˜v(2 Ú^-s<¾ìã0ß8@á]/žñùáÒ=²|#jpƒæ5׺¡HÃçä÷¤.'ºÆÙûó¨?’äõ&zÇ®£N¶é .ö¶¥luÇýŒSŸ/ÈŸtãæœì{ç»±j$÷wylN\Oé$]}¯£®vvÃŽ¨Ç3Ä8žü2Ý+r’‘¸çÿEw±Ùö“£²Š`)1×'þç,\F¾êÑÆj®µézê*ø• ͼÓû­rR«~’X—Ä Ä­Ô‡>•p_àw9ZØôÔ³ggÉf|Äé^Ú±}»÷¤oy«^_˵O›w“ü×kW¦·9Ä¿  ŸR¾HÏw#ЦDhñcøòŸú»Žú‰öþ¿’’p[ùó´Ó““«-ÿË¿›@Rê?rÀð( d#Å »Ë“ Ö@”a@ a½ã¸‹ýƒ— Dšµº¸ \@¿ >¸â@ÓðÀÕAZú>ÿ)Á™Ò(¥„¶üûS›„AE BÊÀ@"| ¬v:Âéc$}Ë@mêä¹ÃBIƒþ·³"¥ö+§¹²4G*8(D)L?úz¨Ì3Ášé.$›9&Ä>*‚”"óˆ»#¿Ï?„* ²B,éöʫ¥¾ŠÃõCÄÞè"Ь†[—×¶BäC3¤Â LB~²§AÌ—FT4rÙBë®êD©šÄPY.4ÔëøÁ– .EÜ'"ÛÄí¨»ò¶4TLäÁã¾»Š·ˆK­Kº1|@²˜EÈ{ÅtŠEYd1Íj¤ODÆ|Dnª§éBÅ»E2¬Ä‰9Fi¤ `IEK\¼!²EP¬/A„ nL7jÔ¹Æç™B°ŠGIÌEÑÓD™ëµfÇO„Ã×J¼tÜ>[þ8î¸Á;œAJì°õ¹Æ 8)¹Çjy&W"DhŒÆ…ì¾$RãsGüGÍÂF šÈLt?\¤ñFO4Iå¡ÇŠ„¼‹ºL"È5¬Æ}¼›ÄþSINb-›Ä+’ÔG”Lœ\ÉK„¸{ŠD,Èa27u3¯1´1ÊÎ;3¤lÀžÄ?k4…KI„J9ô8™|I˜\CNL¸ß 42³¡4)Z\ Ô¡>^Ó!–ÛJîâÊ€!IJ«ŸÔHÁÊ«>t³rÔAºË;h3D†Ü)‘™ÅÀlÀÁäE|ÌÆŒLÉ´ˆœL˼Ìy„¸Ùùº³;Ê‘,ÃÃÌŸ;C€”ËPºLU\Åþ%£5d¹Ÿ|4ÔL¹~¤Ì@ŒMÛŒÍʼMÝü4í‰+üZ¾¿ ¿ÃJÍdÊJàÇ›2,]S7E< iC ›É»=}SF¤—µ›SJ3¯4%ÍÜËÓAeª…Tß3N+5}Ô—BæJÄDÝÔE5utTLuR…H=¥Ôç‚ÐQõÐQäQeLŽTSÝ@]Õaµ7ÄÃYMUAµÕ÷TLä¤>MA6EUÎCõË2õUýÓB™T/ÕR¾ÓöTVì›­ ÑPNUOOu<]ÑF¥ÖÜ3í»g5V$41½¼ÔÚ¹Tuåªú¬ÍS%*ûӥͿ4"×qÂqþ-לÖWý+’Ë: X\¤Ó,4XHU¼À35îÂ3l….,CNõøL}¥Ág$Eól1ÍTXuVÙ+ÕR;ßÈW¼b›•ÕEVó·%QóÜVõØ‹ÕÕ¶ãEkMhW_™ØÄdÖ«ƒ-z4YždS“N{+Êp:¤›%½š-|uÌš­ÒùTJ=8òh5ýǤ5Õšz¢m•Ž•ÑØ3Ú\mº¦‘«v•Ô<4W%·JZìNMZ9ªO*ÝPnE=£˜5g»:› ¬±4ÛÐUÄÖˆS‘[}¼x‚Z¹ «­#H[úÔ`Êgû[&r¸E|Ûó,\‡eÙní­ãÜ uµþÆu”ÇE;Ú:JÖ¥;„•¥ZÛiLÎüR®%Ýb±³œÕ\Ü“'\BÔM]Ç‘”ÉUBš½Ä®}FF}iý1ÓŒ«0j«ÜÍ]ßñÌ-õI-ÝM|G³­ßjÍ;Ô2ÁðuÝçóÁæ3ßþ<`jyÞ1¼„X;$ÆÞ­U4|£@eàyàð¼à*Ë_†­¾53“ÝÏÜjâ?9šáml¼UªjQv: FZ”»¦6a”³­‚ Û®Úº„DŸ%þ__ô•³`>³+9Ö~}W“q_~Gâ«.Î^šŠ“l*9#¾Ý͹Q¢UaŒE¤L ÙCœP1FU PúDáÖâ£ÅcŠR˜Ó½…‘bœ"ãÎã3ÆØÚ Ä]]á%vc̓[$«“ Æ`¼ֆʵäU½=[Ш׾¯Zc.UÍÕÇà=ä,ü:Ë 5eê>GZFßê´s©îvx‡ÊoWözþ÷q_SÛÝ'7ðë˜jWu÷Bw‡öx_×b/x|†ôÜÎL¯ãY[7äÞq's2Æ›ðöõw_TTu€¯CÃFðDGø=Šîí¾FjwËØ†ä ÞÝÂëÛ©Ž‹ßéR—›‘\÷S÷øŸây°Yh(qÅÄ´sÀî»®v¢Ìâ××mgý÷_×xmoS‡±K©¸åy×­LÚv|OOTuÕ͹ßmr{Æò¬³ökråÜ3’Zó¡³z¯)𯮸]íÁ$oE{/ûާ\«Ö¦ßû +õêp¸7šUC÷eehñŠx‘%z½ÿû›Çö’SjÑ®´Ñ¥z/üsm#Œ{þö­oòÛ—Îçø6Ç¿Ûó†µ|·)_»òZÔüõã|°Ït¾k´ßpñδÕ>·¿‡­Æ6²ÆZû‡¥ùpŸ¿ƒ‡}ëa|Òçàx®éiî-šúm—GÛ§SáŸ4rYïúøbn‘fÜW:G~Áœý¨·]‚Ïáœg~¼oþgO}¡Êþ;¿@Ûoâ_ÁíÍCR~ÇþMȈ,hð „ 2$àaC†D¬(¢ÅŒ7rìèñ#È"G’,™pâIŠ&bt¨’åË•2gÒ‰òcK–0cÒ¼¹q"М„Ö,jô(Ò¤J—2mêô)Ô¨RŸÊsçU¥@nêÔgþG°F«z-kö,Z³] ’ YÕgÖ´r‘® «°-ɺ‰æŒ;÷/àÀ‚.lø°T±b±BÕËñÈÅñ®” ù2æÌEÔi¹¥_Í¢rÞ{—²[ËÆ =ú5ìØ²gÓ®ý•g[Ôcߪ¶]°wCÝy]û.θqÒd…Oέ’xòÀȃŸ†Ž“9Û”:£sïîý;øð_b¿uºñò¿­Gf/þ½Å ð•Ÿw¿×ùöù€ÑŸ®¾Y}DÏé7 x lòIÇ›}¶Ø]"¨¾qÖ`E¥Y5Ô„gi˜áBþ$"ˆvx"Š)ª¸bl’‘è †Žh"‹ßÉØâb4‡þׇ5þw#‡)éà‹Ô é#’I*¹$“61X`y@Æwd“µI9ZŽ5õVd•3ºåŸ–Wr%f—ešy&šòv vTfèfššq‰™‚zùuçgm 'šu*–gk¡ÍÉVWvºcœ‰*º(£þÉg‹&i£†‘9X_Õuç˜ º´Õž•Þç’UzuÕ©Ê Ù©…¦º^Š:+­µÚj)n”z§ë­ò*ƒ™žÚ㦯:÷k’ÁÖ'ìZ.^©l§zª]¯ÕZ{-¶»©Ê$§Ù²8haË5;ì´¬õµm©„¦dµâJº .„„¾›ŸnÈz»/¿ý¦Y.’Ýú{â¥þj*¹Ó⫵ë.Äù©[*Àד ¼1Ç{œbÂô~,[ÁÀK&¨Ðåv­jS,+W;‰çÁ0¿92Î9ë¼3É!—Ì3®úzµgÁ( Ý(Ñ‚B$h˜Jó¸ôˆ@K=5ÕUGåóÏVﵕ”ÅÚ\Ö³÷!±=y´ÅGk½6Ûm»ýöl__F¬ÈŸª­(ÝO?=SÞN›x7Ü >8á…öTc×mwÕŠŸÍ£Ù®õµá•[~9æáÊùx󺸭“3Ì´gŽ÷"✫¾:ë­“Ûº‡Ižú¢dǺ%ß²_#ì½ûþ;ðÕ |ç—ìòȲK¾ùp~{8ñÑþK?½Î`!O}eº›Ôðζ›N;¬Î:öå›þÀËB?½†Kÿ2Ðíkê5ü“¶<¿äõ£¿?ÿýwoîú¤W÷>R þH·.û‰KÙÙ‰ÿ"(Á î‹flÏšÈ*ÆÏY4—µâA ÊŒ|ðíñƒ ÅŠÍñŽŽþ|$$·æ£3îê^It ‰µþ„°i˜Dè®O…2’¦<%*Õ’ÇÃø1•ÍC`+mV/Y:²‘®¼%.©FIÄ<‡y¹|“ÂF+->ò¿<&2«·Ê¹±—¶$!4ëµLÖUq—ɼ&6W4MÈøÒ‹z¦,ï'±;ÊÑšÙ”dt¤dNˆIÛ<ç8µÙÌ~ssó²á;3w¡uÂ3-ü\Š;YÉž½]'ŸÙ4¨@ÿ¼zò'† D¨å` Ñ~/9îœèîvdCv*Ô”±Ø„ºÙE†¶‰”BÂháä×QŠ2D—´¨›æYºÓ‰ó:6aéítÉ´$u´JiG䉧GþË'í¦É¢â €KeêÌžª½1tƒç,§R Òžòï§Sê$U!é=”âÔ¡¤ÊêSÓóI©rÕxR'“X’•²ïIm|Ý ÛŠ>¯Þìƒa-æTš8)ÊlFdÍH z8ÔØÎ¦s=,ìÞ%HžÒµw|MÛªÄj:Áóxùê£^[PÈÚKeg㨮*û»š™I±@¼¬—Ö³.Òâ­±<éòT‹ÂERê³UåÎB;3.£¹;&,û$Ü">\…t­.m NCž”³uào…ÚœJ:VsD¢©q›KK– º*„mxcFNÑY€jî褃ݪ¼iCÖrëÊ—üª•¾«Coþ{•:¾G‹º‰e¬e;‚!X®aræ~iËÌÃMºÓ=$£•[ ï©"ËÛ‚æËá¦ó¾?rå¸(,óîÕÂ"ºp?çÈâ[ëYŽÛFU\Q†™Ø“©ÔjíøË¾æêاìÍ0v1¸aƒÑ·È·!f©øc!‹gÆ'p†eLå 6SË@ðö¬lUín9¾ÃÔ.Áv_ä”9²m®¤“5çâ9Ó™­Û#òˆÑZç=SÃ|þ3ŒïjÛûlÉI-Ö,F5ÑT¡™"'ªUºõuTjŽWO)fÊæS€þ4 ïüÊN Ô¡v«©ù¼f Ús†Vô%ñÊhâ 8ÌdE0³þn]ÍÓBy»Sª\5=¶½G©>¶tE­dRÙªFµ³]ìi½Å¹ˆókgùØÛbÖ©Ú6Ù§ž 9Ëo¨l¬r«R<¿z‰6ô¦ß[ÝïªJÌñNÍu7tï×Ö¾þ*03íTf¯Íeêž6Á‡å,£ Þ׬™_˜=æÔÙÒ`’øw¥MhiÖóßùžµ·=Z.n;áfw»&p†‡í{§­¿¸…§†ä•S©Éè€ïåGÛ÷Çmè¥Ìä`w^¯¸Gühy/ý¼jÒ.î¾éõhùËp³§ý™ål¿JÃ>úÓ?èx8m,eýQq¹!Ÿ,hÞ·zÌ+wã»_ìߟofÍ…£!Üÿõ_ädÍ×4RæiÞæŸ`,`Øé]ù±FòåÎm๠ š,Zí• ÚȽÉÍí€QþKB‰P¯Åß]° Ù¸[N™ïuÈ•ÀäÑZàîÅ  Nþýν\Î%ÆZuÚv߯©ß†™ðñ` ‘È®í b)X ‰µX9a&µî¹Øt¡€˜LÈ5ßùVÞS¶õD§ˆW¿H¡êu“ú¬PÏí—‚TV `1 ÿ­Ü†_«å^úÓZ¥  ^]gi`i]áL¹¡ª ^ ^ÆÔ¡(Q^VžŽ ¹=Ϊýà%\Š_!¢Yì]˜ýÌ'6"­ø’ÌÅQË*Ý!Ï #&ÚÒÅÚ@éX°ØŸ®F'ÆÖ/ú`-ª¢¯ð‰,>Y¶ ‰ûcþò`¡Þâ¥mFÏ Qn™ê 1¸I£’âo4c"­X2Ö]õ}I³¥ßTY¼¡!]c•ðÚêK–pc7*Ü7Êá2¶`,ž£²Í[u—Ʊ!pQ£0$ûa#è)"1æÚLå£×Á4ª#$¢3šcE~ÑF`ìÕFš‘BþZÕáCö#ùØ:n8J¤#"cH‚](6¤'õÄôÛæñVâäí£aßA²ÐœÈ”¶äxôÜ0‚`­5KV˜OÒ`+"ʃÕVÉ›2v ­^ãÔ„,—Q–béDÝHšãIF^RÂò[S¾ ‹}eDÎ$0†eú¡_%Áe4)þ“Éd„À”kU‘“´cÜÄäT®ábåJf×Z\;&;…S”¼à»Ñ%øõådš”lE×EqÓFRéfYvÛüQQTÝbNŸÜ$¦Q"T–šÆ¼å\bæàeälfaez QÝÑÈ—aÂHÜñä˜ám¸¥Câåá)ßEªejvO `׮픊èP”ÙòQ¦G¢åeâfvb‹Á] FúSêu͇u2ÂÈhÒ&H¦$Rª]úDÛÍ |Î'}:›œ¨å'jh6óÁ 9*gZBgí"%æ‚-gÉU›c·$•VTb{¢–ÇÔ'«É§…f¨†Îì$r¾…tBIþbPvd$†ñŒâgxƤ‘'@NgƒÊ%i–Ü„:èÆlè@B›Žö¨n(Þf]‚HqdÞY‰šh¢èæh¹ÅáŠX6§’6'/™Jò¥•¾'¤ég·mÒ'jFiV™GÞ•söb"Šãor'¢µè3ç–^gÊ|&½açœ:©¹­©kN–ˆŠ©ù¡è].Ö’]gάè€ZåÀÝSc)êÙŽ–^žfR«èd0\ŒN*œ%©ò bxœ'’êÀjÓ•ê =i¢ª\ùU)›½X|–ÞŒºäjŠjªžªÅê§RÛó¬òÈç¡¢*Ÿ¦*Ÿ6éOžif«­ Ôþ¨] êê²â²*+còj‚¤µ‚婪)È ëÕKrŸRk´> kŽ©¾ej¹'®n'áÈ ¡„>Ô¼ŒaÚ .åua\¨"넩뺪§¾R(ÌÈiÀrf¶Šª76N«Òk½:,¿Ü  v©º]þ¬ÂlÐéš !Dz ¯n˜Á:ÊÝc›šfX¡,rrLVæ'ç}äÓeìW’kÈÖ—¿&a€Þ¬È&¬©.,uÖ% –cfÆëiÞ+Ìzk·úÚÑìÚìþ¨ÔN-ÕV­Õî™ *êK•,Ï^)~(†½N$`>†M*hM^ÆÒv«Ù1-¶¦aÆ]hMâ×ÕÖþ­ÝÞ-ÞV-‚jíÖvmæ‰É«áÕ i^ÎmtîPÊF#£JQ»þ¬Râ!†Ú¬`Þ^.æf®æVœÃê_*²åçå­®,_ì-èbj ìüEÚêU™•æ‘àí5”ƺ«ßN£Ïb´¶–§vèîâXЭéžî Ö!Ô>lÊ>ëV†ßæ«Ä’(Üjdí–ë¯:ën9ê}rm²Ë{•íâÞî*ÖiÅí,¾môfïô.ëXÁIúz'DöŒönïsžá¶/øú.öÚ®Òâ£Æiüʪ8•çÿêáóZÊáê·°‘UÓýVPQ) óm¢Qo­ºxî׎Ùvè¿éƒþŽ’ñVi/ S•àýÉ܇î{,Â@ï­œ®³fð w—´mÿ~$ȪªüÚ¯¦Ò›~¡ÿ%HÃW 7e á!¦¡i¥° ñm2ïΞ/—µä5 ð ߘaâó0þÒp>.ýìHížëZ`7";Þéðâ–'Òì‚þ®Ntù°“¾aiç‡`¤êpëï2бhº§§f:©í±r‘ï±q×q<.â‚j Ý^Nòcæ\µ¬D¸±î–.'Ÿ_[ý S°¿dòÁg)#ðÙFÆ÷Ò$œB_½2éõŽ«×Êfv,"ã²Ç%û.Ëç±iþâ “0¿š.Ï/ãñ®úYk#åâè2›F=6*˜ÒrâélÑ~ó5³œ–Œ%úÒ±Ž"¤ú)5ÿ±Öf8ƒÈ£Á¤:›¥(ïžò;;¥d†&üâ3ÿZ¦âÉYCh>KŠ_® I&¤êæfA—*Ë&=qDû*h©›ì6P´ÊˆJí§zEtù&ô’â)C74EyÖÄQ©Dû¯]Ú3’o;ç)=jÛ¬aQâÚ‰‚4(w0I_UÇñó`Bs<{%h])·&Lï©ó¢nþNX7׳äqwî4Oi'³«97ESŸÚªÞx¬þÌó3ÖrS‹5KµuVg¦ô}>êˆ"H¨dô‹fþ­‡ÝO‹µ]ï/T«µYïµ ×¦[¿µúzµs`we”ðæåñ5c»¨?‡f>öG¿ôœ"uغæÜ“H¿¯ +´¿špc‡ö`õá4ï>67Ã42šѵH¾ö:*Öµi×¶hßv,?(€–$™%XU޵QWvÖ6ïÝ<ŠãV¡Mª2^Oî@¶mã6t÷Þõ†Ïøê6^Ë‘aßhñkü%[B󸃹}Ë1‚[²7·8[[ø"ž7 Ó¸“׸’DŒ~?ù­iEdèÅÈúí¦ %‘+…gx/øe÷“Ÿ9’˨àæ8‚bM]“󺂭·íÒ –¹D‰Þnón?·Ÿ£ù™ëuS•¹ƒ'6ÓÂùüðvÈro¯³ÿõ_Jp:¦9[ : ×p/Sª™ƒ³¡žøÍl×2z_›wŒ#y¤› bù¥¯ú úµsv§º”Ê^wwù¦“º”›ú‹GpýÑ6«:i›æ»sþTçxaoà]õ5LW‡ô¨qkŸŸzkçú˜ÿ: [:Ns;Ǻ˜Ï:xϹ÷NñHÿ*2’°v»¶ªl…'¹µ§7¶›ë/§«¾±”Jø/ð°¹y±3〆9¥»´€‚8¡·ûŒ¿»JŸø¼¯;¢:õòÝ9CµKáù¹ÿ{µ<§r8Á_{°6}/´³ûÂß_hß2ä%¦¿÷¹³Çí¥¢;Åg¼z¼ôNv’ƒp®'c;<å|ïÉÿ9z×{iÊ»|Áo|È7ù_ÓóуôHvIÛ•g©¹S{@Û2ˆy|Ï =nÃ|Ì·(ó@;¼/½²cÎc<ï·²ôwdv;(Ý4Öþ=Ó“9¡oâ,3YVß¼ÓG­v]»öÇÂsNË´·½Û#Í£'=›·ò—‡ý5M|||[Kô܇xÅ ¾»=Çײ=8Öý^ï|P¢«ùRþ†k}wä¾'‹â#“ç¾b&§èüoëãtÛ½×oj0óñëÓ>yƒîìÓ¾ÂÃïíËyîïô§Tê³T½;jéi¿î[½@ÿ1“´ò/u¼ówþîë3{Kÿ/U¿õO?Dg¿ï“~yy•'ÿÝÏ·+:ù‹v¦¯2ú#´öSö{”Ô·¿¿þOìüK¥ïDxaB… 6tøbă"R”xq¡EŒ9vôøþdH‘#I–4yeJ•+Y¶tùfL™3iÖ´iÓàM%sîôùhP¡?{ ,:iƤK™6uújT©S©Vµz+Í£Yonåúlؤ=½Š}©1!Z³kÙ¶uûn\¹sé~-[wä]¼{ù®-ø·¯Iµ6|qbÅ‹7vürdÉuÿV¶<sfÍ›9wöüthÑ£![6­—tjÕ«Y·vývlÙ³™ž6MwnÝ»y÷öýxpáÉ7~yråË™7wþztéÓ©W·~{víÛ¹w÷þ|xñãÉ—7}zõë£fÿ~|ùóéׯzÛ~~ýûù÷÷ÿß!þ‹.À <Á¥«LÁ|Â%ÜŒÁ -¼à 5ܪ 9üÄE‘ć<,ÅU\‘EþNlÆeœ‘Æé^¬ÇuÜ‘ÇÕnìÈ …’Hº~,É$•\’I¢kÊ(¥œ’ÊŽŽ¬Ë,µÜ²Ç+¹üÌ0ÅÜÐË1Í<Í4õ+SÍ6ÇÐÍ8½cSÎ:«´ÍÎ<­£SÏ>“´Í=? ŽÏA ÝñI£ =”QÙmÒ#(ÑH-ÍíÑK5qRJ;ÝÔÔ2 5,8IÅíÓJOýÈÔUTÕÕ·Š 4VØ`­U"yÖX zˆ—M•¸VÅ­þàm/ýûÛßZuî›GøÇëƒg®|õ+^?tj[nßyùý2éðå5¿aü/\UØËžWŽT¿¥0WúKœø¨w7Öù_l‚¿r¢À×<€7R^6? "ðw”šè£éEy\ì°õ¾‘ðc0¤žJdH¹R†77Ÿ#´ôp0Ü OZç ªË(Æû_s'Z®Büû¡ Ÿh¢±ÚþÂVß76jŒfHñaÁr¸°|QŒ=ü¡ b®"ªqH¬îYÅO&Âs;þÄK5óÒÍ‚.“žägã&IÐçÅÍ þæÄ"J­`&3† Uƒè>ÛÉó>æ¨ò: ÒG:,æ<_!‹v@“þj¡=#JiÖΧ ó™ÓàM‰QvÑ´ŸÆÄâEû¹O fñ†*Ô¨kTÒ|Ã×êÂe/¡â²©Ê<§˜6wõªLœXã9Å')’‹Ú/¹ÑâUnGÑYЖJǺŽÏ®qôdQA3Òy®ÍCY}ÝK1¹¼vE‹¥D¥R× FV–x¯tf6yÈšèÏw !W#[Kr"íJw•¬7íZÕš}1±›-fgµBÖPšV-dm^IëRÑ®–¶YÌm3?ãW”¡t¶ßlP {X±5÷dfþ&Ï @ô)÷dD›mV™+[¤Žvµ¾µXAëZÛ °ž*#åºÓ’zõ²Þ-%òâ×0¶Õ{·uå^qK_ÞVM»¯ÕápsxÔŒúM©<-æe·ÚFÕÚ7‰ÖÄëxUÐÖø¼ã{&»¸ÛÐî°‹#o„õ*a¶ZÔ–øQù޵‰ÙÅZ¦ IWôuçÌñ5®y{ªD­ýy¥–M±‚û\49ŸúÐõ42gWí$Tß/^M¾tv/IåX+™²Š^tWnDS êZ*¡v³){]ëðR¨Pæh®|]¿ Ô€Nö£&]ä]»Ûsr©¯ì®¼Ù¾^Rvä*húž=gºÃíç‡8ïu%±­Ô-»ÚF”¶„9màe[[ŸÜY7¼ÉWoO«ÜÎf5Ÿ)nçk8âÁ­¶[Šç?'ët£~'8G~@ªš¶Áö5¶ñMÍ’cšßJ,¶{Lwd¶åëš^}þìUŽOÔæÎ4¬¬Îå6笟ø¸+îòaÃÜW=8Ó§RÝCú¯+/É·nòyO›êa—|·Mö}XŸÐ¥#+3C¿I—¶´<ö±Ê4›…§zè&þ7Ø…-ÆŒ?½éék¥àøèœ—ðzóøÕS;7­×íì•w¾ùþð©ÛìYÎ<Ì#ï^Ëýò¿Å ½d‚½s§ûÝEõsÍûLÝ)÷ºÅ¿ô¾7ÝÕö¤§á¥~pÖ?Y¦--¦Á«at«üöÉgôð«Î|(ÎÕõ›Õc‹ìåÜOæÖ‰.³îþYØ]5è†3½¿opj*Ýö„ç™úwåZŸè÷À§ÌÌâïþx2Øð>îÊMÎéÝÖÒ†AÏô®ï78.üf£þ*©Ž KìüŒòj/ý&Hùr/ˆ*ê"ðâP¯üÂæ³„/7Â’®ò¤°0ëˆÂÔHŠäkøï¾|;p°Š´Ro±nÓȯü0ëíX0ðD'zÒùÚºîí›h¯W0šÚ«Óô- ƒöjn޼ïñêïD0áš04 aЩ–*À¡T¯ñ¶…ÕlBÐQx x˜­ÙZÐþNL‚Îí´ïΊíó¶ôÒo i ÙíüðÐóbôHoeÒÿöàâ°xúP ‰.ÞÂ( [- ñóqÏJ%ú^®ÍþâŠÅ€ØÐVFe¨øƒBàH׺n»î0Oâä¹ñöhåTÚ`Ñ/…ÿðÇÚ  ÑÁpËÞ‘1ô(ŠÑpƤF•±í‘‰Kq¦ö¥Æöýl¯7ŽÑ”ÜRŒç.ц͜ëX¦£ wÊúD/ç11øŠ¥ QLÕÐð;NÓqË*ÕN›Ï‡îñK—KÐ PÅ1"[±Ï|N£Â§€@ÐÛäÎÆÌ !ûŽ« !ñ$_°»¯Ú2f*…ææ©–ÌGƒÊ£Ü6ÿ±OQúÄ"ÍlˆåþæpŸ&ã샟ˆ2&ÝñìpG1°ôì‚!õ.мM%R·˜Ú°'·o s2ƒZoÓnr …¨+‹²ËR{ñ ™p(Áq²8ñç r#¡)q,?‚+)£R*Or™Ü&¦.ÃppæÉ”ÊËåqõFr Ó×Ó&SQÐR.5£Ò¨°-ÙÈü¼0.ó‘ø¸r53ÿ*K/ý%o2©õþòÁêëÖ.ý-ÒtιÂì(ím1ï‘«Ò2W÷ŒL21¯î@ ä1Ê ¿Ì«9ÝÊ+ÍQÌTs0œ:æpñ •+4³361¬:‡æ8‰Ð;…r)£ÄŠ/AxsþIQ1—s—`sðpÊ:ª ó1íñ$UhtÔIÆäsÍÇ@{3=W2¸t»1¶tºþ42†lÓÊ Ï@Z3iÒ80uf²i8´& Ó—Bn¿ðC‘k@Û¦@ÅòC…ñäL“óhÓí’5Ë«6› X† O C7l8ÿc¨þo,ËÎGCTDkjÁpFGûÓFÅm3{ÍH§T.´¨D[‡e˘´´úª1JßoKÈ+{k{”íS"ÝÓØžSAij+ÅBe-IK?eNGsct娓8S'ÙBý+qÃV·“¼Ê4ÒU!4ÕCÓ95”O¥sMûK;ßþ KßT?ͯ¹°’/ÿfI÷“G¿ŽÉÆb²R «mP‡1ô ê>uú çÔuÓ:-SNçëUïˆåðÒV/Ì&•v ,]3¥Œ®=ðSHëËIƒ³À•*70YŸp †&m…¬´* ®jŠ æ"×ËÍ®µ<§SŽ,•XeÔL—/ûŽuû˜W RèÎs“HÆ¡vÇEïWºê^SÝbTeõ,2ëeO\ë•è¨ùÕ´b¬÷ÔsX6¤àõ×äU7§q8jHÕð&“ʺ@´ÂHG1£“c=sý'TIÖD]–—Õd¿Ó$Sv°þô-–;‹UcõRvÎå*¥ÐÒ¸ûþË%;SeI¨,–9Õ Õ(sQEw¶]y¶g±ò1 ÖKñUQµFI¹ÖûFkíÍT 9þeHÇVfëôH©¶jýòjÉ5uPK­Å„ÊvQÏ6¡ÔvY ‘Uuõnã6£ò„iiiGñöÔü£pç?Ã5!“NßHp×N7‘øvùU\seVÿžlÝvktÅÖXë±tSWuW—u­8:×A`WÍrŠh¡ŒHOjºŽ?UŒ[7c»vtóNÏ|—x‹×x…wr“—ØfUy±°êx‡gWûæwõ+z¯{±·y·÷±’ Џ÷>öTbÁ—|ߤJa–IË×{ ÐÕ×þ}³$O»°µÞ·6¨¦ é£äoõ4R›1‘Î^ï÷¸HŽfq—€aÕ9d7X;^Í;¥Õ/„'Ø‚Dj#X‚/8B*˜ƒ?x9VÕMAXF<˜„O¸……÷ÄWØ…5õ…ïD…c˜†Ù´…k8…‡w8>-—‡Ã£>–mcdƒ8R|؈'ræöËh$t{X¦ì·ù"HŠY“Xo!hÿu†Jˆä†Û–w·Í\inˆ‰±X‰îF¹F`«‹SxþÄWó~”Q#WRêSq“,¢ ªj„ÈÒ£| 6wé8¾ÑŒÓ =5ö˜ûXäµõ:ät 'þv6)`]wìPé%Åx[¸‡EÓ‘åc+¡úœ8MŽÖ²zÙi“s³µ—.]ç´â¸Ÿ´”磹ÂJø„$­öQçŠEÌÒ73øEŒ;u—ᣗ¿ñ—½¨˜ÕІWçˆ+е¹ìpn‹y2䋟YZI:̶¤!šs ë"EX¥Ç‘v[ú7þ[2¹‚NÒ2Úýh:Lgô¦ŸYÇ8ËÂ@Ð0Î"Û¹[gU±¨A:PT•nªy©1癜ºŸñø'V¯y?·8U/­¢Ýxj‘zs¿Zƒ.%‘¬?ðª‹(HpUtmò–¦÷mgYMˆ£Sӯ嚇g2ñî®›ic ­OýÔ9Vñnkú^/{–)­ÑsŒ·u¨ÛZ±ëDª õµÜZh#›²k”S6Ñ—Š¬Žµüx…”ö“Y¬¹Žíù­‡Xû¯´wø¹tì ˸dQ3l3™7ø³5­©)VºÛPN›¾Ò5eš²°»“•õ¡“úO­{¸Q˜ ØŽ™¤«þÿ,Y·=™#Qû /Oµø‰Áoa¥ôšÀµŠêfÝ‹¿û¸ C½{£Mz¼]¸¸²žA›À3[H±;^Ý9Q7¯Cò¶ë;4®èðð±yÌòìž/ À3Ó½»oÄ©XµÑr´úÀõ¤¼…[°üª/ºÌ¦r;ÐÜÙÛ™½ÑµW|ù×ã®Ä¼Ãf6Â÷NdÁ»,i–Å[¼r»M­Ï[Æuj5S@_Ö·k7ñ<-‹«[­s\¹õûV\ȹn¿$™¡¹ÊIXʧœÀ‘{`µV0 hºÙõ¾ûÒùŒCÃÃüŸgG{»³«§k¬ºÍ?8öL×7º£X¿Ñ.·þº»W¹I»FOÎÏÏ,VÐ+0PËÐלÍý‚±sB’«üÑ)w6«|«)’ßOxêdÅœe=Y_¯ÓÏ’ÊÍÔ98$“/տПû²&;a}-3[¼§îÉÿ Oo}-6UÛ˜×6”‘ý׃}€/G͸Øú É5¬×¹ c±â0øÒ:Eq›Û;/oÜÒ•ÒÛxæ QXcÛ[ɽ£]=(5Ö±ÞóݳCØÖ©Ý›½|òÚ¶ê–Õ²Û÷M’‡èèÌ,‘µ¼ÀEÕ¬½ÑYß±Q££Á<½åÖ"Þâ±zrÄüäCNÔiã¤ð?þ{•t¯výŸ)>MW䨚¬ÊÉgÕæf]A™ß%ЛÓ\Ýs^S"k¾c³Ç׫m¾¯QñÓ˜¹é5ލÜÝ<ÞåT©ˆ’mí{§~'~îñ9 ±T,<–=V­€’-^œ8+J¤|èe íÓþå/>Àëý¤]*æ…S“bÝÐ=±«XÂñ>†¡×àÜÁ"³èïx£õÏð¸áÇϧëZÉ íñɒⱓžÝjàó•Wó7ƱlËcüÙQòTÞÜGT„…~xí¯ÌMÒ!ñ&Ή¼ï‡@Ÿ†ŸøE‘ñÁ´Éû·å÷8;/så•xÚ¡Zâ=63ݾþÜ5îÇ¿¹‹Nf¿ö½ÅüAÆMdÆFRL»Ôõ•:Q”;ä"€À <ˆ0¡Â… :|X€D‰+N´xáD näè0cÇ‘$R4¸±¤Ê•)Wv<©æË#EºÄxó Íœ<{úü 4¨Ð¡D‹=Š”¡Í¤—2} 5ªT 5¶Œ9ÕåÇ­U­ÊôètàV°a„-kv§X"»RÅiÒmÖ¹DÕþD›oO¹tµòí ¸éßµƒ‹^eZ˜¥ÞÀŒ;~ 9²dÁ‰ç.žŒ93Я(£Ô¼kC´ž;s%Í9mjÕ§»ŽÅ ñëê» 7—ÎyÙôÑʵãö†<þÛ·ÔÜ%ò.Nü·òåÌ›;'Ù:zr¿Ò[?¿Ž}­R»Â³¿ òt̳ä3Þž>Zvð½Ç½³n?>YÃò3¯w?týýüõÃÛåÎzø H`ÞUuH%¨à6¶_uW_·%•Ú~¸õç€r¨}øi8¡JÁ ¸!ˆþ±%šO–cŒ2Ί»ÙHcŽ5ÁעޖUH‰¶Y(¤b1zxŽ8Ž6`‘>Žåp*®Ñ‹ÈMùd–Zn˜•?:Ée˜o‰YºMU†X–é%r~ñ×äšYž(çŽF•Õ&Fu’ÉgŸ~B¦š{þ™ã „d†ê™¨š¾f¢Lþv&Ô¢}MælK^IŸ¦˜6zh¨¢Žê¦dŸ’Šjª•fÈꩊii”"ÉhwI.êêc¹>éiT›¦çéž¿ªJl±Æ‹l²Ì¥iZ¬þ)Ô_ÚšçvÚ¹8讎i«ãjÓÆæl•…}û­²æž‹nºê®¨ó¡i&mV9H«ž±jîÉzËmz‚ÖÈ»LpÁÌ*´ð¶Šë`åBXï¶¡öK#¿Oå+î¸ÂR|pLjÁÈq‡²Çë.¯¯)§˜×Ã]Flò†ûJ;òÂsΚ•¼mÍl–È³Îæª×2]+SW£ÏÃ,tÓ¼žÄ·A;MõL +½3ÖðVÍõþ˜iaÆlŠúM-¥Ë]ŸM­y©E¢qd£ ·WW“ù¶ÑuÇ}(ÓvÃzkƒÛË`ÞwáwºÆQK‚·Ì]µ†?é‘ÙjàÜ_Nr«ØVæx\‹wx瘮o³r¦7éª3.¹‹Kçõƒf¯N»»„±wŸèYë^{ï«z•ëUúN¼Ü*ß/åÀZI8Y5Ï^|í ãÎ9ï“ }ö:LY¯}áͦô®ÐS7¶ÍކÏþŽn•›'ø‘aß~ýHsÏò×¶Ú/ýøž—_§ó½ªzê[ÿøç4¢QJîIx&à‰Í$ÌÞYƒ˜î]0i,+ÂkéoËþk Cˆ@½ÈÏyfA!ñ6¨²¾Áq´œ !xBng†Ô+Ùç~Ä qˆD,¢ˆÄ$*q‰F¤!YÆÃ¦J€ºÂý2!å-LŠ\üP{:wÄÐA‰d,£ψÆ4ªqfdÝxÌ÷½.®.ŠDYh-ÝQŽ—s›88²q„,¤!‰ÈCJðÜ#ÿDÅ*i…üÉâŒ"ùH ‡’¯sd&O†—âï“óäá"‡Áž]Æ”uÑ")G—N¾L–¯4\(E©°ZŠOEà{‘ÛøÕ«â¯ŠS/Q#— y‰•ºL hy)\6³”·œ&§9Ecú‘žþý'B«yŽBÅäÑ6iØÍá}óŠ·Ãæ+ÿÈLÀ¹Òêòeâ‚wMzŠÊI¥™2«ºÿ)“CÞË'¸Ê©ÃvRƉµI@ç¥ÏLÂsž›3hDÙ5ÐT¢ï¢UóçÑ€éÆiTmçÿˆùEÞœÇmÆI 5Æ“£‹%4÷6Sšj¥ãÌŸN…fÓ`}&—D\A‡;Á౓J}bKŲH—.µ c£èOM&¼ZÕ‹½êÐXÚÓz5gϬ&â¢z¦÷©m©U2éIU™R§¢˜ƒÚßF¨Ñ¢„Š+avعW[¢¦vTNIuXĶM¦’¢Y]¿§VÝ•Ràjþ\ãÊÐÌâõ]ÐRdÙúÔnU{}ÕªwØ]zsm÷c_bGUÖÜI*¤ºñì=#HÙ¦Õ}­¬fŸúXÖÙv³"Ícô^KÍjuµ’ËM­±'MΆ¯¹MiaŠVqµðoÉDo'ë¾ä•õ·-¥«p-Û]„jr´ë=¨ ©«¬S!—¸€ºHÅÚ>ø¢k“«4yš(XÕ•2°»’5mú_Ënw·ä㛀ŸÕ^çø½ó“|ÙÛÔ7IXdB$m9û YÚf,½aK*:£cX8‰®*][pGé<ÍA8nDÜ0oO]®]ÃÀº•›Sc¯¨Åq1h¬`ˆ7É€R±|þX\B=VÀ`;üãïþ5Ç]“~Ûe¤,ÏêËû½îqkO†UYɲb2ŸìØ3Ó*ÍTfph{wÓŸ’¹‡Ç¥ò¿Ä0‹™@yÖ1‘å\Í41²e$Sáâft¾QÑxZìzyì sÓ@&œšÿœ• ·¹­ƒ&´¦óvè„ÚîÈï±3Xæè¥ÅÙ­¬vµB#Ýj\³Ùw{æâ©¹y®BÃzÂl2ó®K½åÊöÃR~±®—Éèh{z¥üœµ_³+ÝZ+÷×\â¶h9=@oÏk˜6sUNd«»rrm÷³+}ßQ“:Ö‚Šš€Ì{mW/Ú±^w{ÝCpÿ†Ë´®U±‡þ|lËLÌŒ=´”ÿ»o¨š8ÝØne?…ïMOºâ§ ‘¿ªð̈à[Bm´x)p½æ{Þ!Ÿ`–óÿh÷ÎoUð€WmëUÙDBÝ´kfŽó¼âQÚ ·>cd™Ü6;õ®æôõÉ.娤wmÛbTgƒ—…7ÓuŒeÛ‚#5ÀX¯uq·>Ì.êÁ,Ý£¨Þ¸Û1¾÷œvÓ»^<¤;á­„zb¾sÂJ|ìh«é†Ý`Ÿ“›ªS¢SàYk‡ýëI«ãÔ£j¹/\§$ZÍ É[jòítZšßÿŽhpbnã×Yà|Ùªo\°ÖìõW[ž^¢·› 9ÚþyÏ ý”~’iŸ5?@y‹ˆô¨?(Ñ'½oÞÝÐÿ2ò¤_qŠÇíœ7wë>£ÐG»ÏÜW~©ÌojÔ?O¿Ø×ðàö¶{Þß÷¿hð •uÓW誄~е¯:§só‡þR~qb@VÕ~‚fqÑ”AÈ—bˆG`ç´d—GS÷W1ù§xÃwÐpx]H;Ëå}Ù6qõ%‚õ–€ê'{ha#Ã~×§<%xk|7d“rA4Xƒô„zyÈ'Hx=èrH¶èKZ¤ƒggƒ‡„ïz¦†1d¶€UWIÑôAÔ‚åæJK¸?<(€qGbÜD*UK§… e€\€þ´„1çSOhq>3†Ó§s"÷‚¡ã‚+¸†Ûã†ÎÇ€ÑwMwˆ6Dx€„Ç›Å_GYžTv®gI¼ö…TÔ_2Ô†„x},èE,çvÝ69j……ñ§‰S8‰Äv~Ç“…G†é÷nÝ剨NG5X¶P#tвˆ9U¸ˆMˆp)8f#·1gõ2tŠºGR'™^ƒøv…ˆS—}2Týfs)6D‚¸`ZF‡WvzÀX‹Ìh®èSwÄ‹(؉a¸5ÿòŒâ¨V˜ˆØÔŠ#’qÈhô…„)¡yú¸|ýh^¹øô8ŒŽtŽvRQì•Oixݘ`Ü8òhˆ`3eܸbwþX.ÖsÄø(„þ?8‡&TZÒ‘2‘™}É|îÁøIu‘“†|¬µ‘oX’é[!™Í—’s"’©H|í莿9ùNó˜lVÇ…3™tI‰€M†r=§m6‚ƒŠè‹9gZwÖq:ÙryÇsJ‚L¯8–¨x”+g/Fö•[ÉGJ¹e&oN©(5‡Ai’ÕöP8buq¸„q‚W”u™:{¹ZÉ<^XDaYfõb7h[ àdeTécµèG 8Xˆ™h)• ù9M g1‰RQÈ‘kÙ‹;”Yµ—ÖX™Ãç– f¹Äš”yò$—ŒIw¨i‚ª™†‡ ˜cþé*ÌæG›À m.9‘is†"æQw=uó™qùŽGf•EST~®¹dÛÖ•hw@÷R³ÈXºùmÕ©•áÉYãÙSÖ˜ø¤–çž—‚ mxI0pi_É„À¨Ÿhš¤Ã_êY‘å5U„EPŽ©à¸;X R5vŒw„æ9‚‹E Ùª•¯É›Îèuơޣ¡ Ú›µœFdÅÙ'Zx¿sšèÆV·çF?ˆWî9šf‹8:X!Êwå—jG¡8 £Cø iå£ iš–:*™<êqHõ£ *GÿIz)Ú¢+*’ ‰ŸÝBœV7Ÿ'åYûc£é+ùy_ŠAaʈþ€¤™z톦úYbŠ"Ú4,Ž'mÄør:sÃ5¡¤D¥—W=Çڌʸ‹Ö5¨aœWÇ]é%”à‘{·¹¡ü÷pr3\;Ç¡mÚGŠê›Oº§!ÆuŠŽè¹¤$*]—Jvª¢”ú–,ÚiËÆ•9j¨]HŠ:¤âY¤ÚU†eXªnX¦“V2Š©è%¬êÈ©»”«ë¹«óÑ«Çê–Ð:˜!‰]+i“\­Ó‰jÚú€yJs` «% 'Ú¥NÕlO9N¸—¤fØšXšjÛh–6« ™ÍÙ…‰„¯ùª¯ûʯ¢ÖdË ¥L™xµ5¯Ñz¥b‡ªC'°F謮íÝJ} Kþ«ÈeP»,f–jŽ'i}ùƒc™‚LçЙk!û±©©UÙýê²/ ³1[H¯²<«ª‡ç±­ª‹fа$«‘&;™2 I‰± ø|K\µª¤C™„5eÊjBK–Óšjö´ZxRki !³]ëµ_ ¶þú«èÚYP»¡Z‹r¶ú!dk¬XµÔ†Y€ú°ô"©Ü‰*E»€—zx qp{ª› ·m‰I¬#æ°x›¬7±„¹° ж˳ëZ©¦s®ç·=vC²É?ˆë~äúç¶•ºhêªK©ƒ[U”oRš¸‡8¨{k¶$:º+­›:¹†º² ov‹C›þ¹¥¨¦t¿‹ŸÛ¸â ·êаÈz»[®@[!È –­‹7´°ýy¶—©ð69‘kº¬‡³›£ÿ¶™Ťû8 °i6KRzÅ›[8 ¿ê«oU[¾Ò •‹;©òk–ƒø¸8“­èû­m™»½ë—½¼þè¾ñ«½ëkE7—À§K¿U%y-Úˆö›¨ø ¾,º†»ð‹ÿ+Á Ìo¶B’Y¿>ù\‹• ºÎË0i8¶ÊëÁÚG­©k¹w³ì¤É°¡ú´Yª°Çtó1ÞKÁj²â[w*<1Lœyýs´'ƨ*k½[Z,®3Œ¬z;[T¼À Å:¬Z±‹²ƒ·ƒþglÅþõ«šËn)û?çÅõ¨°\ÂJ ±ŒÀN*<4t—¶à{²þY–{|¥_ܶ*)ÆÎ„¿.F‹“kÈܿ䢭÷ˆÕêÈrœv¬›È3ƒÇê­“…ÄW¹º¼Æ÷¬‘¶Çµ¿>,«›|¾! Ê"zÄ£LyÙ+¡“Ì`©lƺKËKÇ®ÌÉÇrÂçpAËÆ¸Fg&² Ö®¥ÛPœIªv–Ìš ÌŠ¼²Æ,É7ܬbg›þ{bÐ\œØ{¬Ã\ÍØÒÉJ`±{¢vG¼þg}N臌½Ž-Ò¯ ƒ3ÅÎ }<¼v$øE[òLÌ% wú¼~5·#mÓ’cŠrwÒWhÐ/ú}ÎçzHûˆb÷¼…_rÓI 7S«;‡í¹$IÍn ¯hì#LS2}Ô­Ô]Ýeþ’t«4ëÌìH5<ÙÎŒ±Ñï©I¼Â¸Ö=ÓÐ#)ÓíÕw­âUÖcÑsÈCûü‡Ñ[»È;+Ô:Û“é(Ãr Õ}³×Š×‘U`½ØŒ¨­E€­Š†½¼ºUмû̱GÆWMÙI!síØ•}Ù’ÍÚù)^óåÔ2¤š]Š¿¬ÅmýÙ þm¯œ”Z ½VÓ­MÜ Š} “I¨„çæ^Õ;Ð? ”¨-ŒÅMÝ®}ÜcMމºÜ¹ Ú·ý‘Ñ]rFý“ÕMÞåÍ©Ôå,ºbækÞí­Ô.íÞÅÞÌmªˆ-ØñßÝÌùÍßi!ôÝÜ<|ßýMà›¼ÌŽßúŸÂÄÝ·H^Ë„à^Î&LÛ>]¶)‰NÏ^9g≠½!NÜFŒ¹ÂáËJáÊDâ-.½#ìâÔmâŸZ€ ž«º ›ã;¾nZÇã‘=Í Îà'g§ñ¦¦S¬?®äa9ÜK.†PæÜ!››‡ª¶EµuâäYÞÄ,k`S^6Z~×ÿd]þ÷j‹T¾´©ä«¡ ß`¾WMîƒeN•»ÒlžÔbîà(nã0Z²*Út޺݌Ëûb;æpÒíçäþm")®ç¢JŇ~ÐJYáöÍe ܰeמ·3þÀß‘çñÙ¿š>Ò’žé㺲—yê†þ‚ -êo-àôš$Œ®–WÄê­|Í3éa”,±ë\]|=lë“ÍÂ4ŽçDž ãÁé•ë»Ü±ZÑës¾å¥®ìщ§ïê:ŸÞÎ\í® —ͪ{íN{)ÙîÝ®Ølûè‹®íî†$µŽîÓÔUçíu¸UÔ.ëñ^t-lÛБïî^–ú.1@³­Û÷UZJ…ÄïOþyúºÑòïLÉí /í³rw”Cïü.F9'yqñ?0þð›ñOÉé /% óñ„xð24X'¿ò(_OÆ6Ú¼Þî¿¥¿øán^w—ò3ÓŠ~c©Úç|²ðú¾æ ¨èV=îÆnæi\X4oðŠìÉòBïòé-co èáñ€“¬…¢Bnº(¥ G~ÈTv*Þ¾aÊ "¹ª²ô…½9Æ#÷ÛÊó]÷µD$±ŠhLNè‘ÍuÉö_¾ÙÿMÚ†ÿÍXÞÝÓ@c„É)öõZùÂl°ÄÔáT=nûv‰~øØ-{å³øŒO¹ ’¼‚Žð‚ÔË”¿÷)íË!çÀy[ýþNa¡¯¸‰¿v®þ½µÌ†´+~…»Û˜¯}‡Z­_ԵϽï…û?S@»ÐS–æ€<ÕH?ÃÿKÆ/±õô­¥æã¹çYŒÂÏ_Ô—ÔÛ Û™Àß'uÿ’…Ÿ.IŸ±Éî™×p}÷NHþqÂý~îó@à@‚ 0˜PáB† >„(ÀĆ)´ˆpaƈ /vRäH’9– ™Q#J†'¸dSæLš0iÞÄ™S¢Ê•&{êTèPœ<Š<:ÐbP£7—"ý¨4*Qª§VÅšUëV®]½~uxlÕ¤c…Ú<øTªX‚hA²5×£[¦tkò”›W§]½}7ªþõY—¯_Â\[m‹—è኿=ú¸ðÝÉ•-_Æœù,\ÍH;Ç”ì3rèÄœ­–ýœU1ÕÕ@§žü¶aÒ¦QF%=[wGÙ×ö¾;¬QÜÚÞPxræÍ?‡ ·ôƦÑ.‰½1õ¡*ƒóþõoî±µ—ß ùÈ«¸Ç£ï|¾åñïgÊOK<±ñ•ëŸã‡/@üÊ?å, 5Éè²Ë>èøò.ÁáÜŽ@™" +?ÿ0¬H4´Ð5Cäo.ìÄÔÂ;h¾ÅFÌî#À(LÅÝ T1GwÆ9œ¯µarÈÚBNÈÃ`”ŠÇ”^›ªÈ¹ÎsO¿)ßþóÑɈlÔòJsª-Å.ÍÃQ¹ »‘¢{ʲ¾2™{sL9ç °ÌëpÌÍ%+ÝdдË&éüK>‘²¥Òjôò/BY”Ð0Ó;T¢GûbR©37kSÓ/;mÑÏKG%u@ݺsÊB×r“Õ!=ò3O„µ/ÒìJBõMôKK5¼²¬8KµuÎІÐÑ—p5+Ó[Wåt¯_™¥¶Zk“ïÁöEÑÓVw"ÏLœ•Öd!UÅ^óÛ4HD£TÅÇœ½´Ø1Qq×e¯¥ ÙiãÍ7Ýæ·`ƒ®«ÇñˆVVŽ{ªJacë¢c­ó×UR×͵Ý`«›Zyþ÷D˜Û’_ÅH0wOfÍÙ…3ž`ßdf¹f8i¶ù.c``£´b¶pÆ,Õúº-gzá땸$9kÚi]¡&9çpY^0Z‘­æ—‰ÞÚ)˜¹&»h°ËfÏÇ%‹ó90 ÕMAŠÝ bƒ;[:©÷ÆøP¾Þ²ï¥‰É“l’ÛäEctí’Öœ7L6¿Ö9è·vplÇ7ÇTsÎÁ üÝþ0÷{_ ãN|\’cé =·¶ðè>ç/o¦'Gùß”5¤u©§i½ÉË\mW¢é>Q)M¾ùawÞõ˜O³8éÙMªA›bTúÜ_^cÚÂúò*fXj|¸tþòY^öŧŸ$ô/–;óßç¿ü¿íí_ý®·>ã% u÷SÔö$ç.Ž=ÎvÔ’dȾjihzâÛ¹¦%£ö”ëaý»à½Uœ·/~Òb&¸BÁü¯‚, D^ø*Ê)ŽOòóÁ?òE0x0,˜ä,§¾é™.Xa•¨»ýiiB$UD*ªÆ‡Ô”8¦­ûu1UW÷w0^ËažsLæR'F¿-Q=iÑ™½d§–юߺcÚ¨7µ§µÑ†Gû"Lj«+'ÌêcÞ|wÈê¬lU ÓÚYÕ©A2ˆ…œ èøˆ%ãeUË©cÍ*¹±QÂÊ’£þewÈÆõY/Eœ#ŸtJZê±–=*b.q轫‰¦Cv,e½‚¹»[+•Ð[eôx–ÈÆu-–®LI1¥9M±éR–»ô%6÷J*SRÞ”"5utLÛ%Óyäl¥))•NIVHœdç;CÇN9†MBÀÚåÄ€JÂñ3Tâ’§€–¹?Lrn µ‚ZÀèÉK24gæt¨ýx…P"¦m½¼ç«O9”˜ÿŒ(zþDPŽÚl¤åæ}‰Òh†ô,ªÓ—Uw>Š–ƒ÷dè÷N—R–´KÍÕò\꜕–¢Ÿ+jù¶’TU.>ÕÊý GSMµ+úëÆ„Åœé—e„ªþ“ŽJÁ:uE+u&Pá‰VZ§'4 [ÍêÎÛQ-ªrKXÑ$CÀyHhÐ|k6yÊB½ª«jbÛÛ\©£-ÆE§–d,(‹&}Iv¬Š¥^Uí*SÍÒTal]îXXÌ–ÖŠœìmxHr¥vƒñl-„VkÚ½v¶™ Ah¬hêÖËÊp´xå ËJ[Ó~”9.-ÛX_©5°aü]r‰û"à^5•5i¨mË[ÒV7vÞ ªpI;ÝLj¶¶Ä£÷ÙÁÙ"Ñ[ ežt›˜^ðºÔ¹ø¤¬!MH×»ó¾ýmY}Ûò[òøA=ûVº"&XwF£«Þ‚q:Uq0ÂÕ›°þÓã•ÞÊ—ªèR#‡ï;^gR7. &œ†UŒ­Õ-2mÊî ûÚ*Þ©Ã|J߬œx@;ô¿‚¤²@œÝ¥Ž˜Ä°4q³¼b&Æ{âqà'\dñ ÇF\òðÎ'ßЉpm2n Ô,ÒŒ1P½ñ ¶ ¶È=uÉa†³ÙB8d{ê­Ê]þ0s[è³>RsÛìjœ%¨ÝÛ¾ø] )›éææ} ÚÑÞñQß0BšSGžÍ”­ËW¼•Y=Þ°JS˜PìΧ/‘aŠjV·ÚÕ¯†u«ckZ×ÚÖ·žq@g¸\‹ª×Ò°Ä3¿0­2U?éÌ¥ÆÊ°E]9d¿w͸~u±OþËjCCÛÚׯv´ý—mnw›Û!-«¹xèë_/£ž)§%êÚùR̳㪫·S­A?£ºÚòÆw¾±=k}÷ÛßUÆ"b7ô×O•{@þ®nÕ=»cçHÙûèo›mpŠ?êlÃ-aÁ+.jONÜlEñ‹ð¶”ÝjÀDNòôŽ{ã:|øËe>Nïlr•9ˆ¹ŠîÚaÏ]&ž• C»|Û†úyk‚Þ@&i;矉ùÓ¥qfOç¼i†3=nžõzžÜj±Ð…üC-î1´_Ï'ЃMi¨ÈzꚉúÛå®·š[½èwŸûGNHIy4u>nÄÔ"ø8Ññ¹¾ì¹ þ0ÂC¸ågÏû7#?ù²]¼7:åÛyr:!}ñnçà' aPþ܈×& ÃéZÑ_ÍœܺæÇ,{ÚŸÌòÙrüØk¿wUkàT[tê]µÕJsõú=½ÑYÞËNB‹øÏz|žwÏ£¸Oßúz¹}ÈÝwýÃwÿ››dççFðË¡·Øeßü÷ÄïËŒ—´Üwxìá?ÿ¼Öäp”0yÎWt"Òæ½‹š$âë SáS¾ä´ê–ò+À…£?…‹À ´ û‹²Ó°ýÛ#Ø“?R? j>UA_ã’C@éSÀm ÁüÞ;> L4”Aš«:1S§ë« ¬Ó *)3 “þ¤¨Ñ1„À¶:¬4¾Ã¹¦îq›ôº”³·¶û·(, Š1þšÁ+¬ ÄÂ×é¿~Ú@³¾zú‘@C>"œBôªé C½»2È»þ£6(”Â9Ô4¸S¢\3?¬B'ëÀ[ÒÀYÛÂL?â&,C#4¾âKÁ1ÄÓ›ÄÌÅ´Z¾Gœ¥$";«>pÓÂ[¹Rä;kCŒ¾ÔÊŒIÂÌÓ¢cšEe4Aa6Ò+Ä7ùE³z°:¼´̾O|¹äF¨;E³‹D–þ«ÅuÓ=!LÀgd)áKÇV¤FܲF'ÜEì8pœÊÆž³Ä[s,A´ÃÌ 3$È4qµÚY(Bä@8\È¢#Ù¬hlG$Æ&L¾gœÇʉÅU,¹ ü³ÿð S{¶ƒ´µ€ä8}$+“–´‘Plªf$¥‡dÇdŒÈt u¬I¶ëÈdÌH!BÆÜÈaô2{üHúÛ¾æhŸ»³rÉZCIRTÉðzÊ£cÉJŒIJÅ/|CZÊÕ³BXlDGôI% J¿»®ÊkC…Q›©,®~œ¢‚Çn ƵL¹¬ô?Øã·l¯%Â!$òäÉójK\¿ŸôÁ ÄK\JC…¤Dþ jÊÊ“Kw¢ËÊÜœolLcû¸‹‹\”›ò¾¯lAuô>]”GŸôÁ{¾œºIr+ÌÍìº=ü²!§^lÌ ¤ËôL´ÑLÙÌKŠdÈ…Â 1龈<ÆÙAÍ‘Yt=BädÃÁNW¢ÍÉ„¾É2Ý|¢ÂHÄŠ³ßL«Þœ&­£Â „1›EóüŽëì,ÆDµ &UÓÙ+&9¥30{ÌýtÌøKL®iT*=TJÑ»SÕsÓËÔ(£½Âi³ã¬=ÐI•1O“L+í=·´*E þÕ{„ÂÍ!‘,Ķ›Ö@ËUΜU²Õ$½Sp]QÚþB£àãUà‚;±nõÄÜJÖ…ŽðØV9 Ô•,ÈàŠV´;¾"TžjµVz{Õ€­W=››qu²ùñHqmW#£b- SmØ EÕceÆdmHVÌÅû”4㌠Áª'”Òpݼ›ÌÇ­êÄL@lí:2œWô4X¨ *|Q?[Ø_-×^µÍÚHEí©>{W:• iÎ#%OLÅSOX‰Õ9[MPÔçáK¶4[%ØÌ@mlÙj=¬’’ÂY©eØ{AWv K‰û©.ÄX¼ëÑzýZ'ž¼®~QÅÐ{½<õÄ[¥ÕõÑ—•C;I[ê»-ör6²hÛ•µÙŽÛt;¥Â6þ½¤Î—|ÇL-U¡3¯v“Ü|¡ÓVýRc–-µOêľ«ÕTÀu>}Ë=c±¬¥ÐÕuÔ³í̾ùQiÌ }Z¥Ù¯‚ÖÌe½dóXDÌð¼¿àlDÆK¿LÚ61µS9%^ÖuÞ~qÝ×ÝËÕØª½Á³Š44šmÜo•FÂÍÓô¬[Í” e&š$ `U]ˆãÑ­µ®YmÞç•_µXG©\ÃÌšœ5ÌÁµÚñåOË¥ÞjN›_„S;È©ÝÏâÖcÛJô휛ݼM™å}R¾ß ¦¬¤ÌPÔ2.ÌiüÛÞ|Ï©Ù\¿º¬ó•Iîâ³'Ó2í4Þ=£rÄJ•"ªÕþ nT ÆàNIÒ¬^¢ºÜuáö½[VÝ×MÊWÞûÕYíµ±÷¤G¹º3@”3­E%V[bK]öb¥ü\gý°#‰O)*âã…ÚäT¾C«MøÒÔ,ãÝûDË¿uÜKû½\EK1ïuXû#Y²ÔQidÍ/&dœÛþT×k„*áøÔán`‰å•)Þ¤*Γ?jÚaÄä3Âc2Ñã™]¥Åâ[QÏžLSp9eÂ,äV¦_:¨°;Dªl#QõÏg“`éŠÛœìcÕËØÄ«xݲâ­c’œNbΫÁY_bÝ_¦á„­nŒRŒŒ_W¦Ð?FÜ®õ;¡2Ú}dÔþýÖ¬È$åÓ¬(Æ[óõ"XFæ¥dTæYö­— =D…f!^Þé bkæg;æ ÆIŽáHÝ9\fZqà¶A[Èó#Ž:ÙèÛä9uÛĪIuž8&Q(Q~hÞ{¶^¯½Cú\æ~ÓZ~§0cص'ÆâåFfO‡e¹Çu¶dc4H~Eaœ±ýXåÝE¤2.ÛUé}>-56j“Vj7¾iÖ:d_d@Þsi°õåÑLd$†V©²é_†PêzjŽã¢FèªágþhxÌߣ^Ï´^ê¶àv«¯¶V þΩÆ]Šá7Õ]^—9nêb¦¹~çEâ¤æßÓu8þefIÔá….J·†ìƒƒkARÖ !ÇÈiàöd’ÕhÐ=Í æèt™4‹hžVk±ö$6Þ³ÝQŽLa‘}áØþæÈ¾à.Oé½ë´[Ŭ四3U’¥V—p*toVNegöþ­Mí lžÞW|opÖäÑTlÉtn+ÿ9ñ"¯d¬nd,âÒÿ´ ·ñ³nfW¬qåö hq3\¾n—8ÝEðõò7ò1_›ÍŽkjšò(Ç\#fP¢EÀbfàŽZ5ŸïÀæo&§ÌÊ‚vvgø™ s·6ÄZ•14Ö:_sù³mé6öU»{ï* ^¹Mq.kþs>ŸmüËô'tÈô¡þôI¯j ÆNN:À!¢nfâïÞâì¥j-gN"W¬åbkEßoªºõªu#gà9ïõ=oKó?Ì<6vÐΘ—õn+ž«V§dJ‹v6öÈÖH-¾öþé°JîOö~ßJétDÏí«FBÿ¯ #½_¡m'óß‹jxT@6õb7™YwbŸÄtå’eÓ9õ¬ÆÀÜÃuzïgÜ›w„7¶ºÇo÷ö÷qç¡]§sC×f®åu¯Æìß½x†wå8l˜²TO?0‚ᲃöíå”~÷×jì˜xK'yçµò—¿ù1îÃïÏ—nE ¾t§ù7z Îyi?z`¥7åŒïqgw5Ákü^ú«×,«ßx­f¬ôƒ¿¨'U¡ïx9ßz¯Gû.ÇóD—]Oû#û°?J{~*š·F²}û¼7쮌jox×ûî<ðøƒôþ'üÃ?i)…ûrÖ[­ÇzÌžgWw ħ| Ç7aÒ¹µ¯|Ëw|iéüÐ÷‹®¿$d$}ÅçdÑ·3ãö=Uý×úŠ£ë7ØâÓÇ×·ýÝ6ÙóYÞvóþá'êÉ[pâ7ñ?Eþå÷oÊ›(¼g~ý-0åþêwnã¿VëeÜ×þîߨÏÏÍÿóþÝâþñ7ÿ$à‘÷óçŽògÿ÷W÷Ï#þ *t(Q-‹"Mªt)Ó¦NŸB*u*Õ§=«båˆs+×£wRt™u,Ù²f³Š=«v-Û¶n‚}+w.ݺ¯ÚUÛu/ίñæ ,xðØ´„#N¬Ø ×ÅŽCN ØdãÈ ­·àf…“-ƒ-š!æÑ¦O£^Y95ëÖKS^íz ì¯µI'ììöìÞ¾Ýòþ-|8âÛ¸á~&®|ùÐä3·îQ:r®—©3Ï®ý'öíÞ¿3­ÉSw€¾àÏ£ïèd÷ÔЧ¿'È÷züôöï'?ÿçësëf]–µ7 EÿÁ§ßCõÉUàFíÍ'‚R(œx¤1X¡†î¦þ`n,Uv!‡„M8â‚f„"g"–¡V.¾£‰3.–Vw*Ò˜#8Ö Ž:bU" Êx`‘å Äâ`?¦x$FBe]6bǤ”W.Çc€Õa ”X~i¤“´YYÖ˜•©Yš]²9•aÿ­Ù¦œ§©Ø#€Î •MyÞ‰gŒMž‰V bú©^œ|"*TOJ26h¢&Vg¡dN )Q{Zšä¡ æY›†å(}•fZªOoÂ)ª©«zI*Œ ²š™§@2Êž¨³šIª­º> k¬¿¢b•ª[l.ÊH¬±î„kŽÎÞµ)´Çòš`µjúº¬¶ yší¶ß&…b²×‚ Ÿ¦ÊRþ8­C ªKº¡’ o¼åÒËe~óÖ›/³|Ý&®„øê«&¥oX«µ1•·÷J¶pÀÅ~¹Õû™á¸7,ŸÃûµ‹aÂåmî¤ïjü±Ç$c¼jǽJœ²¥]•äà«&» `É4¸rŸ†¢,r¡ÎÌiÈ+ö\3¤:z“ÑÂL’Ì×-íôfHçL5Ñ&[½”ż)-ÎÕ}u¢YßÛµØs6=R¯žÙÕ/4ÙHÉ ›WÎÎ}uØmË™w´{ó­aÑ ÿ\)àKÛ=tzySíws†ËÖ´ŽŸ{xàWR.´å—÷78„†sn(‘›ƒô¾4ãͯ€'Õ½º™g:¦þ«¤¸ìøy^ŸÅÞ~"ØGÏmuꪛÇ:ä’‡M9í½³»ÇÌgš»Ÿ êG:½Á9¿ãÞf“¸TªmûòЗÚýäs|Ô§>r;3òÂæ×îêQq>°ûËÒOäþˆJÏCºÛËÿ@Ô!ëi/xó³Vþu<Ç)äXÿ…À e-c‰æV‡AqK‚ ÜXÖ*8*¨ýmƒ‹?xžñ¡¤….ôMþ„6ÃÓï‚$¡ÃLx¢ïÙUÂS o(%–¬BEÌ• ƒ²DÔCFTu8j°‰Ò¸|”-"qŠ4Ô¢½ª†©¹/0i”š¢ÄȲ*¢ ‹É#þ£ïW¸ ’§q⣣ÇÈG¢ȃm$]é6îXq‚OœÑ"S¾(BqB]¬^ä¨ÈBHöQ9|¤zPƒƒyÎ(qÙ¤»„…½„aò}™e"wØC¦òÏ;a5eIõýq•î ã¹öåÉÑÙL”:¦]¼HIf%–ä¥kHÙÁG¶R^äuJ3(0æR—tÊ&¥ùKÿÓ63©%ɹ¢H&3šÿcft^ Ku2ì|´$&m"‰?nj34Îf“Ü#Osös˜ä?Á‰¦tæÓ6Ête‹ÆÎs‹ð³¥=·Ï„.ŽqZ¨Y†õ1eâ³~ÓœG“„Ñæé¢”ZþHŸiPG•DléIk¤Ñ@ÑTOë“©sÊB)´¦ky¨'É&Ç’ÊK• !XT…M¤ 52*MP°²4=Giª§ºj¼´*Ÿšž½™êèpF@…M†I7"kå,JÔ¨’è¦]õê±ÖuÍ…ÒÕ{w4R3ÏW«.0¯JIëµ¶¶+·‚õ¯Szh™Ô*VDþe2lý"+°±&V±LUa[ÉÖ·±†E™])K)«Ù¼|Ö—ØJ¡i+kÙÕÆ¤µÆûÛegóÖÓþ°š~•&+ûjJ²ø-µ¸mgK­ô4;>v²A“r3³Â&×*².D7[Ñ9N÷q¨b"b³Ëá­¸NúÑmþc“ت&ºé=ïx0ë]êöi¤8d¥zµF¥úŽ pà}Ö(ñ›®ýV•½­¼ ÛÇT˱îõ/|OBž‘ ÀƒÌÉ{7Û]kÒ€.“0s<Ïâ —>vnˆ£åÞ :ÊÚoyé¶Û_ØXyÄðŽˆêØ–=±j¼cÛ¶Â(­á+ŠÃ1¼§›NŒ)ÙÀ†i‹x7K*ÇÐÊSÒr‡Úë[Ù‚3¦ooýØdÒB̘h¾^œdjŽÉ „ËkëÌ:.—“Îv…sÏ<äÏ4ôÈ~Fä WZ5Û¶ s³‹d\9_×l¦mà Ù*΢¹ŽÄ s)]þ×3C:…¦§F=TœF”¥˜‹²‡÷ ]ïVé¥r©«½¼EL¿™[²>+­5 š á%ÖEæti5†KA#úRÉî5™ Æè»(¡Fí[µgÙJúœbîl¶¯Ììo¬¿í{3ÐŒÉíg³ùɯ鯑kœ±Š-n³/iÖySP~ø.äšÄýÔ`™ÚÅ9µö«Á\nRÿ)·Ö[À+§n‡+ô_2æÔ¤odɛշ[T Á«ñ.qøã¦™VSÑ a¯¥õŠ"§4Ëãé”SÎøÞ[ƒsäš5í—&ç§C!‚c^󘧛ز„¤Ç÷}Ÿ½A¨æL/q‰rÀ4\¯Õî"¡t þt¥ž|Ï­!Ä;Ú¯wËÜ~ëöyg`þp¡GšèC¼ùwÎöOõ{7Ç®-™äÃÐÖZ»êÒÌ8õ¦g#Û™Ù˜Ìø¹–œ¯ElÙ»Šï°ýÎA´™Õ&G¹ÑÜõÂÄ=Ú(å9Óë©ò©ãQïeã;–Ûú÷ÍgºÖ)áCïxÆ”Ù×ÅQ±áÞ/ÈG>Ê“çmÍ,¯ø ãKAú.l0¯]l?—\ø†z»{ëÒòòЯ' /)›ŽÔÜv¯>îWøÔw­üˆÛ{»×I*|‡‚ߤŸ÷©¤Æ´üO¾Ð¥V=mɯðºËÿù6Œ”GµoËü¿\ë à`à" ¥ééZØþI[B`Jà¸Ü¡É14é˜ñ‘ò¹^RYÝ5êßD¹šýµ\É•Ùìe_LuSçåéÝÚÚà â`&àô!WÖê` !ñ Œrj^ÖM’܃µŸòåØv ç• ¡åÖµJÝM¡úU¡Ü¹à –ò¬` ÊÛÞ á¢aÚ 6_©¬¨aÊ!OéWÒ_Št'-^†Gò‰^6UÎQank…jÎ ZS±µ`\ÑžÅIŽ ra÷Í×ÍìÍî¹\ï Ÿô5°Y“ÙiaÐåWב¢$žÝ‚aØþa'Þ¸ NZàõà[€O ®þ!bÝ’<"$Úœ$r"ôTŸ;q jÇøý¢ÈÇ1ÊÁKóuÛäã’•—*z Z5 ".ÞLé-`2¡-†ãü5¢`¬‡é؈6N"%V”æÞ"Î&"¢t•©™Mí¡“˜ùŸ»áÉ4O5úá5†`ÙEâÜ› ªã6¦Ø8Ž å$ÞÚŒnÅ_ãÍ#^ ?Zˆ<ÚÇ×"†׉#_Õ£¬…¢gXY#JWâô¢AÆâA޶qA¾$#ÊžR–dÎi¤ìœãÚ #1¦deQÀœGf£*a¡”½hQSQ¦b@²$ z‘Hâ$f ¢E]0b%,ÚþD:ßL¦^/ý$Pößa½áQÞ–N3*åW’àIJØøœ\U[²¢®4VÖ^qÑÌQ’ëèÅ_’ÎC¶HâŒd!>%;îÜ¡NFžå—åd¦×ù="CÊàºc‘ñîåR dKvfVn¥L[E.f)šf^ê"ü-àÕ1¦cVb|adªfvøÞ[‚ain&U•e7ÚÚF¶XÞQi"\k&arúâ©Ý%5ŠÝŠ–X ¦oÒfÒX±`â­Už1ææñi¥pæbç7^†TâÂÍ Ny!5zcÐI!ܵç?Jÿ) :žßu"Ì.~nv'GzGZ–ç:òLxŠg9þÆvþ*_>aS^Š®‰Ô{êœ>~'þæOq^bz$„â™~ŽÞnñËu©å¢[nÕ{ H5qcŠ:Z…J¬MÒÆ[XÒèÑi‰‡þÛù§&h1JäN ..y}×¼‘—eVû…ƒâhXÙ!ÆØAfö]Тè“Wø‰fß)ÕÏg6)îàšUZ’*›>fšff©óeÿ¡i\‹Îišª'Ÿ阒©¿)¨Ýi£©i;ºe‘‚Y~œB"¢Ò™–bÞhݘ³Ñ\˜'Ÿ¾sî%²åè Þ›úè×ñ$ìm!LžÓ9®¦Bꑘ(rv©žªª‹Z*RŠ¢þÀiªÑê±Áê‚úȨ¾"£^’†éÖ©väûáX®²ª—¦Ô«Æ*zTgÅV 6R—£Þ*M.ªyVæXúj¯ò¤±ß{=š·ö᫲.«­:+²‰«´ª—’q饱ÄÅßÝÙ”®Þ¢eÅä°k‰å[‡%+t+º~•Q­*2Vkš­+ëMçýð#…þ£_QØÃ2\¾UX_.,»þX›<ÚÀvÎïaŸÏØk›~â}f¥A2¦¬Å"Ƭ¿‚‰ûe¬Ç6ZU„¬0B+]‚g¡¶i-IäeÊæ¶š"¿^왬ÀJA¡Í’)Œ©YA©†&iÕì)êÒn† À¢þª=õ Ò^­ÓÆj¶ ”}U­ÕV™…f­ƒRQ²õÛÎfŒjœù‰mF=j åÚ~}ßÚjfÛúÛˆbc@ «¹Ô­áÎPØâÐÎ'IB-9rã_ŒkÚÚÛÚ2îìØ^ä,ÀÈ­Ó!®ø_æv­™àƒ=IMJ.<êÚZ.®bîIy¥µÀí­.†ŠS”tÊíâ­éž.êjFùéíêò­Ïô­C&-Jò®¤>ç~vÐ%.¯ë*®"M¯SªZXÀÝ;o'%éñ^.ÕbT¹i§œÁá[ÆÌ8Õõ&ÐFF¨„th¦î­ú…ñ¾®Ïê¤ì’/.[òÞmNºÿFœkAÛéþaãð²nýºXBgø’HMÅ)ÿ:ëÿöœE~.ݹçv[K"p”¶®ÆÆdcV ìnBE°3&S0ð®ÓÅ(F­ ¯uî§=ë8-0¸mpUzêëð™©ð cmï´Nggg›éü®©kýiaÇDÐÎÒëÃüîh&n­ÏžõNÏÔ:≾ððMîÜp"Z«´tµŽ°;®!è(N0wq 3¨±"¡q‰:àÓ•a¥A1^6ñƒX>ÑN»¼«Ì†Y"ã,ûjRŒž­ýбt2q§~(Í-­ñqÄ:²6òîú™—‹Æ?2Í%Oåê1%Wr;±þ¨Ýß&G,ëjoºrá¢êS'§{ï÷²}š-ýïÍF“50-¿¨-¯âsü‰2£¦rÕæšXê!1ÿr1kÝ æ1²ò]±M^f.cê.ïO·ôõ³†Ê2y~°<3ðɸí-²2C'3ë0W**/ƒÉ¬Vp¿*Kò;;¢ô Þ6‹¨,2^gç,óæªNSô=WécqߟkÞO*EóØ,çÄô‰ùòœ1 —1-"3=sóÕ ²‚1>·ò)_ô¬ÙåMc´mjô f±„ªã¾ª,)÷°@ëd™†Î¬ÕA#¤%6óQ#ïGµ³7•ÈŒ¦óÖåþó§ê42ÜV‡s ‹pžÊ+v³ ’¸oI—êÿêw[¿´·%±r¶7`´Z“¬9øf¯7{ë"›Òm´½ „‡jàÒmfóiŒ³6¡0O —7èbA†J”Ó8'“´Píô®aÜ® ²277?5Ž:9i׿k¶»ió¸0£8ɾ舯xF9y’»¦S#ù"p\ù¹¦¹ 7îÈ,—>FökZOqY‘ êØÒ÷-†fù™¬ys±'†äŸ_w +º…UU‡yóZ²0ò•—\ßB:þ@«¤‚Ò*£#y&£áZ4zâH/ë§'÷šq:ÛÍhî1Áº¼šVV {u÷ª o¬«/Å"Q§&¦;_::­®[:”ãúlV÷o°®x;^;M>ûŠ8w1»Ž(¥Í•uB¦º%9…s;¨óº¶j¶¯Î»sµÐ°5¤Ÿ(«ù}ê Ž{º_3¢?æUÅo®Wø®'º|7µy*ù^Ãóz{¸ÿ{)Ç+·¼ýQ¹ÁSú_ï\¤'u¾_{CkP«7°_¹à|¼‹¤+b£;È˨›RÕGÍh øGxs>µ©oêÈü°ETOu%ÉÛ¼p[gЃüM›‡ËtP£þ6/¿|ºývCÛZù–êüÒ{pÓ³<ØC‰ s0O}ÅnlÏ)½yÆÕG´ò*{̓} ùpØ×=Ü‹µ¹ÞõÚ³=ué}vëÒ7\à×½üÖve/½áo4Ä',Iý¿f}Š3ý£¾Ýóçq>¿Có¿}Ñ_ èKv¯Wâ€?8¡-6Ùñìå›tNs.ës~|ë.G>¿•–{Óÿ¹ä¦0Öà²þúAæ;Â~ì³ûóf}íGïŠCÎsôäbûóªè¿ÊÏ+êèùâ;…õoÛó¾!S?å~6Ÿ6H©>²zõo¨Ê°>ý÷;žî’òÿl€š¹žÔ‰|ùÓ¿úþÛ7@€`Aƒ&$8p!C…!F”8‘bE‹1fÔ¸‘cG% ’dI‹"EšT™0åJ—/)¶„9“fM›71ÊĹ“g‡&uD9RèÏ‚Fm58¡RŸD{F•:•jU«W±UêÐ)ÇŸ(—f;–lYš]ͺdš–%R¶TѾ•;Wj\ºdÝzŒ ¶éÖž{ò {—paÇüT+C¨9嚘reËí^™y,gÍ =}8ôè³AçmŒºaiµª[³~êÚtmÛ·qǪ¬lÝk—ÏÍs÷pã?\<—vr…ÍG¯ [:P•Ëûº-^×.öÙÐþ«‡?žøöÕ¾öN>upôì ƒÿL/}ø÷ñç¿lÿbw´æË{ï;å„ÓÏÀ„,/ùZƒˆÁ‘úJÀ¯z—,¼Pà 9ÄlÂþüƒ­À›Ö[ÍÁ;LQÅY$p·a”M»ÉZ¬¿WÊÇy¼ïCEDñ» 2Ä{LRÉ%mQ2„ŠH&KÒ‘Ê禼RË-ULH“2òH$¹,ÓÌ3ÿr¶ì\ÍÓÞüˆÌ8é¬Ó8ÌnÎŽðTsH; TP>=‹PµÈ%iO;­LÔÑG±*q  |ó³ÊÿF¢ËE!íÔÓ-eMÒL?%´TÉNMUÕ²Ö›TþÓ¶8Õ¨ÕL_ÕsÕ[q­1T6]Ì×XÏ6×a‰=I½…rq'ï‹PÙb¡ÖÇByÝTÚTöÚm¡ÅŽ+£ÕÖXC‘ îYnÑM×4K­mSÝwáWZá¾E´«F7ãMÊ–ˆºW\y&va=QàƒN¸ÎÝ#YT°·r!VØâ‹Ã6\_1îØãÅ{ñÉÇèýWÁåJÖ—cYÞÊ_“éÌÓ§‰\^sf–qÎYçäfEm_‚_‹ÒçóVÞYa‘‰ÖßãblÌ“•w1 ®Ú꫱ΚXÁ`l˜êi›ÐC!‹Zë³ÑN[íµ•‰_·›…ùÍYÙ®Ûî»ñÎþ;N·ÖÊÄn½]ZïÁ /ÜðÃã÷Ɇú\lÄ!\òÉ)¿«7Ÿ›]ÜqC‹®ÜóÏA]tkÁM‰óyý]õÕYo=tÓmUð2GuÝöÛqÏm'a·uÓ°^øá‡—•x¤3’T÷å™oÞùƒG|Úæß¯Þúë‘{É~ÞûïÁÿTfÉûóÑ/ÞråÅoßý÷ῲüåvöøñÏ_ÿý›|¹Òúí@þ €4 Yæ%Òî~tà!Áëí ÜÒ×$˜A nƒÆ£`»6×AŽ„%L¬*(¥­5Є-tá qç¿ß¹iX2ƒá q˜CðÉ…7«þ!uD!1r=ëUçeC".‘‰M$Üüzõæ9‘ŠU´âσE-n‘‹]ÜOö¼F1Ž‘Œ“^јF5¢13*³àáG9Œ,éáñ˜G=ÂPMÜãÈ~é\‚4ä!)>ù°0‘tä#µÄéA’’•´äá$ùÆKn’“L×^6ãIQŽ’”-QD4YJU®’•{Ã*‘ØJYÎ’–h2¢»j™K]îP/3/Laâh-å0‘™LeêGBŠMc¹LiN“šÌQ ÐÌVMmn“›¤Iá5Ÿ“ÍnŽ“œå\ÁÙqš“ít§^6F?ÙMñõ´çþ=Oô(ެkø!ñüÐèéŽD«£@šÐ Î-šòú’zR)à)t…N£h± 6¬´`Ò™èEo<æ*£=]Õ*Ïê|t•%­(=Gš­ˆ2Mz.]UŸ ÚÐøÌ4ŽÝOcÚ% ZåŒròåμÑðØÔ„E…çP·ÅÔ rHªpaØ7¦3œbs¥Pí L/åUÔétªJªêTXšõQµËéRŪÁ´•¬ckY $IÃOQÝöiÒºê¯jlÂîŠ×ü$öœ¥S¢ÔòuX’k’î Y\I)§joŒU,{<‹“xŠ«P˜m[ÍÖ8ÒT²|DÏfþ+ÚŠ~vP² ,3Û2T_#™âjZR籿ÉÛniË3äÎdBÅll—k¦«ÆfµÎlmZ¢«¿æê•ºnrëQšYˆ`Ùe`¢çÜјâ®3ïÆ^ð®K¾Qy¯kÞ;V?v´«×mâ}¿‹ÑÏ÷N–(~ùBµú~oÁÃEðÛ =ïÍÆ3éã×ãÎ9΄qóBq»ÖÚÊ|vôùÎÈ@ Ê…6+£ûjåDÓõÏUyô§·Ç%L?¯ËŠ&tªFméˆ!¨”Ö1SͼV7ÖÒ=µª±[k¯Ù|†Ý¢®sWê6û‚·Æ5«ˆ]6M±¡}Î`²]‡bóu^Ð>6V©MämU§Îæ±±ó'í^ÎÚ×î+¸o{B,UöÎZ,÷ènäVt{êÝæ~j¶s­îö¾œv÷¼Ýè¿ñÛÛv¸½ÑZo\â’|©õ7î¹IÜ\ì4¾^âˆó–ªõ›Ãïþq.|‡Ûõ8ã@~ñŒw¨à;-ì3+nÝs‹ü}—@³øq™™ä+­Í jQ¯M­w¾¾"Ðw<~º±º•æfýbuæþõ|æ"UšcaÖrkŒOŽBºá”~uÌ}½Ed6š¥-ª >Õ›!«Ž¸¡\7F­íÚuçö‚Vì‰xÿ/l“g¼LÏÇì‰Cº„Ϙöœ–æ>­ß—ØÏK%Y1„‡üx´.Çö{ávïåå¯qmªºÊ®üA×Ô‰z¡Dô›úËÆ^Y&“מùëäÕæñt}Žh¯ÜàLöõþmÏz _{Ì×·ŸWoÜ·òõ¼eZñ;ýþ!ùÃì1é³âü„+ÜK¸e®ö}ì‡ýAäþ”XHrÝïž÷í§þÉ«µü˜Ù¿éëÿ6ߺblÆæÏ:êOüÎ/«òi:øÌîÄÿò ÕˆûÆ…®«ä@00¯ÌÔ,P-Oý ÐÓð†V,Þ2ÊÄ644ðÝpÊÎ,ÐúpI=L½ÏÌâ&š|Šï1œ ½bÉWm×ðÆŽ„NÃGEüBKõ‚k°örpÓ†äšÀêd¦ËwMè¢Hj®Ç芄VúEíZ0í ü€o SŽâ˜ ¹PC­Ñn/ £ÂäD ­Š}lž¶Cd ÉÀƒ7,þkïÞ°Ý0²ðð΋\Èë £®ûPòtnútã0=Q±Ðáo9.Ã̹ÃÛ+§¬8Êpó®.Éšé5'-ñ -alðÌx •aL7S=1ìÚ¢õ¢Ðí«U§•F9/ç*°(òoß:ÏÑåLÆË–‘™ôª 90‡q“qµ- ÅLú.ÑâÎ1¿‘ ù0åÉàŽíªQ¥ñOPé—»Í÷èÐz¦Œ_É×MŸïŸ+ÃÅë,æèÎü0‘‘Qʲñ¯#mq0òO‰Ú ²n1·Ä„ R°„…}{ˆËþÿQóþ#׎̎’eÙ*2q#3RŽš°cRùN Û±!kLíh´$qS'ÑC8K&£„&O""?Ò+xr}²2'g1"‰R±ÌWVЕÒÔš­)ï-œÆQ-¥r*.!’ò°ò92'ºòçPqä6r,÷…²,)fëjŽQïÚí©¬P«Ô¼ðáäRØOc cO€&}^Í2­Rðòò³?ÆP2Mó4Q35Us5Y³5]ó5S’{ =’0Gó0o2¿ »ÒÞÒ1 ³ë 6ÉŠ»gD:s1/’$C9Mï(ES0¹r8‰ó:±3þ;µs;¹³;·3gS¥Är©'Òã4Ì%¹8ƒ³:#Ó5‡ó7¥süœrN8%-éò<‘MÅdG+·Ò= Ë;t@ ´@ ô@¯<ÃsžÚ³6mÓ<³r,IoÁÍ8—²8Y¼À%ûV²¼:?•ï(¬‰?Íñoó$úòÄþ2«ð?19’«¨ñ*añ/Ã1©0Téê9é3äJ¯2©’G¡SA“J!%E3F~@ôîo«³Aûóœ«C+”A¸-u”='-¥îs-¥M>Óq>‡® ‹/÷±y„nÆ÷½wDK»¤—{É—~“xCµÞ¶L7èÿHËx%Î(9Gy«9&XnõrEnϱ_•×·h« ø{©ÍÇT·&l}iªbYñ_JØqÏ‚˜†Y­vë¶(3 ‚á—w˜ã<øƒ…U&O˜‡×ë¬ѧz‹9x8–ƒ0ËWSi´ÿ63ˆ8Dÿwy7UrY$0ØôÊLUIVx'¯y‹‰5£q–f´r¦²îváÈEö£Ó‹­˜•þk¼j5xA²bõU¨œ%Rõ¶ØÂVóFx×,Qò¾¥<Š8‰´ØëÈv9/S9ïv]ïµÀBlïv=ÙpSeb·lmMŠ‰ê°”2‰!Ù2ªxZÏI„-ùæù‡7YÁø“sãk»˜y¯øu¹s‡ær1×—GêŒì’gÏ™#E8™T«ÞÓgã”C9Ù”}˜µÀW›•¹e½!ŒdÖ MõÐ[*†…7–#‰WŠ–)xjw91ƒœ¹9›…&9™)ÄUqi–•fÙMmtÎÅË–Sv`‡t˜õÙžï¹Uy›RQû]¯‚‰®˜ QZ© i26AšïؤþYŽ¡ñÑ¡«YKC”{9¸ì„s¸ž¹˜÷”1gán_–îEEI¤¤:¡Qšª SNíuž!ûX¦•Ílš©Ãóì±1k™Cš~5‹°¨“N¡ê¨™eOvŸé™˜Uï©=𬗚¢OX‹Ót¼šŠ€Z©Ïs¨êšÃÀÚ9¢ÌceÖh¿ù‹…cB¤¦ÍZ|5j¬u®éZwµƒ”3†±Ém¯/³tÖvŒ?µßºC¢‹9¢5wŠUY^£š_ˇÛîB±­žòš/¯Õù¯(»ùzqÎYš——¿u£Éñ¿ôiÅVb{›½v³ü;jw]-©Ë©µ‘Í¢‡šþ¨³¶ WÅZt;7U<{س±Z±•—»‰±FÑú¢?»»S›-—µc;Sa{¶Q ¾W}Ìæ.{½!:½·”IÛ»!›Cy¿›:.¹•«¡›E´¿ßZ½íØœœ;ûL»«ÿM²¹_ {1#IA[¿3X?ùYªÁ¼Ã35¨·´…4Á]×­§ÌH±Êžœý"³'\{û3Å›:ÀEÑ‘AÛ`­PÄ7Z¿ÅM»;™d“¼•œ³…Íš§š¯§mp)܉b<Ïf<º¥[Wdä¿ËVÇ©›Vóyo]æ^Æ`-’ȇ+%“|d \°·tRól† êð8˜bXh±þ¶Æ;÷µi¼á˜xË»#QyƒCŽ%u’ý• ‰õ_Ý|lµÉY™¿ºM–†Ña¼„Oª~aM¾÷¸Ô¬5ÃÏÏnÅÜŸÛ€W{ww›ËÅLqy±å.u’onÇ©ÊaÝÀ±<Ësz¼`ùRtcz»¿BS³ €<”œAŽ1èFo=½_êåžl]!¶Ì;}ʺ—›z+|¬Å‘îü¾hœ£ýÈ÷ÓÕq»±½=˽’§†¦=M&˜Ó¯]RoÅ}4Xde†op³Ø[ëØU¼²üpÙIä¾®d| oÇN…ÚɱÅ;•!ÎÓyÙÃ)ý÷}Ðo6`G×â³]Êç¼EK|¤þ5yåúRfi[Í׈âÝ/<×'¾å»=Q•×Çïžv7Ÿeì¹–ÇX}A:µPÑà»´•iþ Wúp5ZR›l¶{fq“žç¦¾‘‹©ß¸’CÝoÊAC<ÝJ:o½¾ŒÏ½ä+^Ýû”³{½½[‘Ò,I5ŒØÞD¯>±4?°p”WÄjpИ<~¼—ÜäO¾æ|óÀ—ê‘{aåžâÁø'×MTOÏ7x¹å.â~çÝŠ»[’Š×lî#[ŒHßážà$_ëò8i1ïÜÑÛ6ö‹ðÍ].ÜúhÓYô¦ÿjNÿÇÁrtöº]2­¾»bþæyÎO´þì]Îpÿ·)½äz¿±ªžê§;ù!}g‡¯9·c[ö埠Å_ ÅúIZª=|~¿æ»¨ý£>— /V¸ö›P…ýÛ ;›„¯ H° Áƒ*\Ȱ¡Ã‡#"@€C‹+JÜȱ£Ç CŠIR¡Æ’(Sª,yr¥Ë—0cÊœISbËš8aÞ̸Ó`EŒ<)æ\ø³¨ÑŸ{ TJèÄ¡P‘6tz*ÔˆG‹>dz•#×®`ÊÛôkSŸBɪ]ˬԶp_¾K·®Ý» Íâ k5ãÞ¿€sê \s.á¥i+^upÞÄŒ#KÆéx²ÝÊ–3kŒy³çþÏ uB½²s\Ó¤S+6Œu´êׯQÃ.ìz¶íÛ2eãÞÍÛ²îÞkþ ¼8eâÂ+¿œ|yLâΣφ.½ºõ™Ôwg»=·kÖˆ›_ç~éTñãÓc﮾*ûöðÿ¾O¿¾û¾íÑË×ïÖhYÖGÙ^VjåQyà—”‚6x 24_„^5a…F¡sÞuaJoeõŸöh"‚qÅàS¶ØÚŠ.¢cŒ4’õa8Æ6#‡2·#y@bZ(æRy=©äKÞ×ä“|% å”:ÆwãPW’Ô’SC—%$z)%•5~¹œ™d¦™à‰j¶Y¥zcFÉ&^þB…dEºiÒ‰?ê‰#šÀêg“|j¨fqª–hsúhÑhBR•ç¡#Z%(¥Æ-jeŸ˜vZ©ˆž†ÊÙuœÂU¨‡BAªÑwš¦‰d©û]*ꬴÖjë­¸æ*f‚2>Ú«®>¨Àkì±È&«,™aîÚ‚|F+í´ÔFëUµþ]›¬t¸ì·à†+î¸äÞÖìšà}…íºì¶àFîŽ íg7[î½øæ«ï¾üÊ¥”½(Æ+ðÀÖîe¯yž=+k¿ 7ìðÃS™îÄ­J¼pWø]ñÆwìñÇʽ*œÆNŠècÜ‚¬òÊ,·ìòtÿRœ²ž&û6rÅ/ç¬óÎ<÷láþÍ@ÏÜfÍŒ½+£KÙú¬ôÒL7ݳÈã<%Ñ’½Š4—R;­õÖ\wªÌ ™+Õ‘Y­«ey­öÚl·Ý)SP#|ëÁÃÞ\šÂb»­÷Þ|÷#Ü€§ª+Ý ~¶Ýrû­øâŒ7žià(g­dÒŠÆ|¸‚D:®ùæœwžØaãÚhh–_.,¯ž§®úê¬SJx¸ÿÞ½­¯­×nûí¸·Hl¹^Í Ù¹/üðÄÓëí½† -as$ïüóÐGOzõ?7¤y‰¤®òÒwïý÷àß—'ÞÜûià\˜ï tx{†ïþûðǹ„ &‹ç£[š(~OÙÎ^¾ü  W$ÌIîIµ!þÑ©æ'&©ðw 'HAÎý¦y ÚF‡²³ ÆNÕ;`GHÂ>ÌzìVàpæÀódÏ„0Œ¡ u†Â5KE5ü•gÈÃúP_êZž ™÷žUýðˆHL"˂ؾÁ‰'‡âS¢§HE~AkE;,“Y ø«*zñ‹`<–Èš8¶'·‹aL£×ø·õ®Œf< ÙHÇ:Úñs| HÄ ÍñŽ€ ¤ Oƒ5t©@>1ÖöÐÂA:ò‘´MÇÈ¢!öQr”‹¤&7ÉÉáD-f#{¡¨®ˆ.²“¨L¥*Û²BòUE”£4#ƒ³«UÚò–¸ôŽAi)ýÑjb)ÔÒþ!ÿ—Ëbó–‹t%w÷µÖr$÷ÃÓ1§IÍj>3t]làñ~‰¾aFP[‰;e8e˜Å þÑšèÌ&6íÄ»Ý!%eFÓ&1y4K³{÷T"ÁöYÏ)nrÈËäë¦'³yž k¥P>ñYN@òó¡ uTD9V@^æ‹’ú]Cqƒ6/¹©Ÿ3©#!ÊOsÅÓk1ãå'Ób%çFí¸MùRGÌäZ2'S5¾ŽbI¡åÐfZÂ…þ°¦ºÌ$é¢IT|¥ Õ¨O×Óôˆ´‡W$R×3ÐÉ(³k¤´¨5MÆ*¾F _Z}¸U®6ÕBõC©,ÅUÇôrv¨SÓZþÁ—U­ž”6òªªMžÕA¹N2˜AI'YÆ@W핯•é_{­µt(²µÐ0£xV[.6±…uì[cˆYÒæ”6•UËeGK®0%¦… ìì*k¸½–Ö{} d[i’$Ö’1El«é;ٙו^ˆCõ- sëÐÉòVÊ *D¢;®“žK©¹Ì¡ÿ’+Ø#2÷Ž»]Ï`-Û'ê©»ðÁ(h“«Î‰q^Ëëe)‹»¤ï"Ѿu ïsJe^žL½(Áî C¨GüâÑ]oŠ\{Û²5²ý­âiéawT†pQ_Ï Ã‰¥M_k`I¨«ÕÄ#Ô/[*üA ÅÂãðeþ¬Yö.ŒÍéákØÅôs0‹á÷Z÷¶Xœ|,ëí¹ãïå˜*¶Ñ’§7¯6w™32SmÌAKNù¨Wž`Uûå7’x1Oæ± ™´æØzù®½ !ª”+`m¾¯«ýiš«;æ± ù‰gv'ñÇβ*òÆ’ìæcÓ¼Ûü•Ù°få„ i6²¹½þäí¶9ÖLþP®ŸûìïòÈðÞÚ¶¯½`çžÛ×þ&è°í=oµî³a·Â»Láb›”¾w3eÂM½?arÏ@Šxa(£nãØÚ‚™‘f‰ITã$ßWáèq)«ªåíÅŽÀ;nqƒÖ§0ÇÒ̃\i”ÿvFNÛxaãó »ÑËÖIžÆ-Í’øÒ\‹¾ TÑùâtžË:à—xh…:tœ#S¥INzG“ýåŽÐâQOw½‰ít,äÏ ·Ü-ÜõÊi<~qCzu¦Jö²·(h—]q¦î–¿kúíXÇÒ.±X½ÔzݳP ûÞ Ý÷¨P9`†¼ï¾ßµÃëò{\ܽӨþ­Ã3ç²C½·WÈu[¾Ö™nxtïd¿ˆýæþM»Ú9ÿœÂ"IoûŽ;ÂÕG÷º§æõ)g=¯gÅt˜ õÍð®%^|RmˆH¸ß ïE³}¹´×Õýè½?|άä 1䃶|æ#ßÏJ®|ÖÙü©u§2¦êéÝý«­Wžö×6Á·_Wuq‚~FpûGdþÓƒ}•ó}ì&'Oõ~¦‚…Äx9È;Õ,÷z<¥Ãõ 0‚ÏsE(˜hˆ´,ˆ4ÓU˜!MËtSÿGjˆ11È8H~ÄÕvB³‚ض€éÔoDø49XsÚ·A¦ó8ž—|/x8ågk'w„þ®&„E8~X–„Zô#«2QO/\HEÙ'|?¨uUx‚VX„ …µã†’çB†C¸†:ög+7wö¦†lH^f‡PX1pÈGÿAMø€t(@ï7‚ý¶`Òõx}xiR5…Ñ3ˆp´„¦v…•ˆ«—kŒhxñõˆvg‡¸4>qådco^˜ÒGоˆ<6oGgk\âx£‰ðh§ˆ[©¨;–{ø¦›‹bfTìW?]"†j芳u€ÄØ0eø-FcÏô?œXˆÏ¨ˆiÕ€ÙTj¶Hш‹¯˜Q–÷÷j”VK$gŽçÖ‹<4†qôWu6jàhƒâÈ&XŽÌ˜A阌A§þ=׸„ì¨kwG‚ÿ´xfuÌÂû‘#´gºŠ˪9›´J³x 0[®Ó „+‹‰êJÖˆ®Jë±YÛ›¨°bèµ #ûbÖM‹¡[8µwÊŠ[›¶/·‹®Dûµ6Žgéú†OÛ4«Ö¶ØÈ´8ŠAu»«\irMkŒ[ö¤Ó~ÛQ¸-Ó‚£¬€¸z)·q+¸5y¸é÷³š[ˆO c»”¯þ6¹îY¹3w¹Ÿ›ºjë2˜{®0W:¨Ž­Û³VÊ7?Šº¬Û}¯k¹µÛ³«+‰½‹¶ÀÈ®Áø» “”›C{Yع·ŠYÃë¶XË3Ñ›qÁKPùV áµ:•»/xÕya„¸CZ’Õk„Èû1ç;³çÔ;©7NÜË4Ε¾Ö7ˆÌë¹Ó@[‡-·¿·³¾ŒÀvšT7¿N³³ƒ›¿›E€ø%ÚeÀ†Û·ø m×K‹{Á ™ œ¤™KxÑû“¡‹Uˆf˜<Ër'‡˜%ʵ–¢Jþ‹¾ìæÁÃ2 —œ¨…É}ìkIÕ¦’uºˆZ¼ ¼‹‚=Äj¼vÛ,A¬9£[œÐ'Áþ*<ÃPÅÎk¡ë˜€;üGL‹],¿#¬ßÇÁ‹©<8‰Ã’Z|`<- „èÄ›»Åè‹Å“"C¿Œ"Z”«½I,'¢(ŒÒeÈz$}̸[AUÙUÁ–+{t쩜l½ý[QÜÈluXØ*t”\8b¬QUåGgI6ÊêºÊK“ÃWx·+Ç‹|_±3»AeËJ*ÆØ‹·¦ƒY¸\ËI´Ì¬Ë@y´qË ×T©å˜HJÍ›š`—ü¾¦$̶c¾´l¢wغEw¿Ù ºÚ|]àœ‘¢…ÍÙ\¨ÜÄ=®Ì}ñÌþÂ¥åÌ fˆ\u´Ö©Å‹¡U‹ö÷Éj$ç³µÍX©”‰•ª6‹}§ ŠÀé,È·¥Ï·+YS;ußZ͉M]ÀíìÎ÷Aèhò¨F ž…”Gìì!̨©ÑÓhv_ç€}¢åœÄ0<}>L©Q¤¼ ]!L€Ñ)¬z†ŽLжU€y›4 Pý‰wÔSž;M}ú4Θš§%kWÝ€èlÐçuP=ŸÈl™XÓê¦WÚ¶‹lm/GÕUͳs­•©´Ÿ[½¬ÍÜÏÚlybl«‡Ñ¼—fm©ñ–™Z†°eÁÿ×qÍY ¹¨³Iٟ׌9êÕa;šËÙôþ†GÒlÏ­P%MYŒí§ëêЧl\h ½—ä˜Ú° ª†b[ ØÝÚ» MÀ6¬\ÙfÙÚºdØ~ŠÌkj܉õ;fØ¥]Ä­Ä0¶Óº­,’›z­mÀ×z3mÚÑÝÜÎ-l»M·ËíHÞ< dÉ,„œ]ÝöSºnù¢USÓÃyX}7ªˆÞ.úÞUºÏ£}úÍÕ™ŒÑXèÕîm?}Ða¼À†hÒ¨sßRè‹>šP¾Ç.àÀÇá <¾7Q;ÎŽcN­Útû„_øcEöÜ.ážÊqÞElÞv{áEm™šÄ½´âb´uå ÎnÜДåM‹ýÝ?Ë©Fl›FÞÍþð<¤IÎãAàœã‰}‰Øíã&^Ø®ZÚÙáÇM‹žûq®|£õ;×¼³wµ€ ´D¾ØU¾Tgá²=˜\šMNÈHþÚ:œžukÎʉ沢£}îl=Õ׃ûÏHLƒ¾3a…I~½¦fµEnÌ™&é:ž¶š¨ ‹èúVè½}èó§á1‰²s•5›u畾GãZêÌ=¯Å$èU¼êÔ5囂ÃìëpŽádè­¦~êô)Ö)ãÞœ{-MëŠsÎót¾ÈžÁ §~lŽËžë®¾ëcÇ‹+ãŽ\íá ~¯ìLÓ~íÈ-Ë.5Õ ëݾ谗†¶Îà³nìªÃ`nvzoþ"!X°-4ê½&Xð^c ÑySŠj^Dø…ª¹5çd¦îë>Ì‹îÃ#\{Ä߯ðPÊ`‚³Òöåð¯T†NA絟ý²WbðÏÊÍ;¬ð.ë²ÇUP^:p^îª Ó¼„«%ó#(ñ´0+¸i޹"ï‡lçVgÜ󟮳­Î#n3S|´,y‹´ék=Ñ›<æ×­¥YŽ©ƒŒò¡Ž¢ ÆO¶­º[¿Pc6LóI{ñ©IÑ~,ôUŸèjͪó-§iöéDzkµvÏ‚1Ü´n‰Á˜ü6×÷rO¶}¿÷²IV ŒfŸ³Pì÷U~Á÷üöoŒžñ’øÃ’ÀºþZãkÖø'ûø¿™ïâÕY˹ZôO쮚O:œo³1že­ïæ2ߤ_úÞ•ØöVoø‡?û üúêVÀÆüì‰[±OùÌšÇ_üÁ¯öOîù“ý`þó³MåÍoýJ“ìDƒPJÎý»ýçMˆ úâŸtÂd-þ±zé¦?ÏçïþÔ»þ–ÙþôÏßZïÏæ¯Èè$XÐàA„ .dØÐáCˆ%N¤XÑâEŒ5näØÑãG: IÒ¢I„%A®dÙÒåK˜1eΤYÓæM%Qâä¹QeO A#þRgQ¤I•.eÚÔéS¨/ErÔ9•"Ñ&ZÚµþkU°^ÅŽ%[veU³H±¦e{u-P´måÎ¥[×îݺ\3Æ=6ë[¼}‚=*ØðaÄ ù&> 8åΔ3þX¸èbÊ™5oæÜª^Œ˜+B.ÚóiâQ¯Þ¬šõÐÉ] m´ö\¹sÞÆé÷õoàÁ…7Ý7öpä¨u'gŽÛrs…ÏJ'x›ºóÜ×Có¾9úwðáÅ+Î^Þ»díãÕç;Þ}Òóßt\Ÿ{ZóóÝÞ§ÿýL.?aÓO@áƒÌ¿Üî@æ ´í±âh«¿ ùMB—tðCC<ì‰<ñÄÑÓE29sÄ‘4ï¡ iþÜpŘ^lñG ƒìIGˆ|òÈ¡(DrIúÒc‰C¥œT´e²ñƆr|ÊÆ¸lËK&ÃÌìJ2Ë4óL)K¬LžÐtóM)á”ÓÌý–«B6ÅċǽҤÊÏ ¥Šq-‘®ãÓ¹–4Ï;-‘H=#UkNJ+-/§5½ÌRNÛ‹®SP½ÄÒ+û •40#ë4U#F§\µN¹ÒJFÍ4}ÔÖ.qe«Õ&y=õ×DCNLÿôu¦a….YN=#LÉ\u¶²To•vÇÝÝñU¬¬zëÕ]Á•HÛ-¯5ëXÛÐvÝHÅu‘\v…ÔÎÜe«£7Þ­„·¯råv'€ks—¬{þ³TWUÎ †_†ŽÌX…NpÞë-MÖŠ%vèàw9~·ß¡$ c½2&Õä=ŽåFAÖøe|YNWf˜ÿ³¯1³ªÙeif(â^ý¥‹¦LSx÷Í記¶×磶9S¨g–z8ŠÉ+૳EVå »ÚÀ.–õhSÚéµÙvJe°»–{@ª©µwî× ­z2¢ñž9¿…aªvèO¯ <×µi [ñŸ6»©CIC:nƒ)W°p÷{siüá‹9wÖºª-ÄsªÒm.ºäˆ-—Íí&ÿF™rrEÛjë¸ûg%ÜuÌ;#Ú·‹€ýxÆ«$Ý1§„L¶‘²#å™9>*u¿šb/eP.‘cŒ&$+y.ð=«$¦6o‰LxÎðYà íæy¿š„S’ë<&©é>𚈖9}øÍ|ê{ãDá,YɺhÊó™ÜgD‡4¼½ñ3ž «!É4ú•’ÒŠ°çG!ê³0:ªcAË"fo‘+œaðhÐ*~),5©BAªÃ˜nÔ“÷ÄÑDþ›E5¢>-©IGyºcÅ©ÂiR Ù¦0§'ýb&_ Qö˜æ†Íêghê5¡¦µv"NŽÈ'|fqª²¨YÝê3ï«‘¼c]™ ?o]Õ¦^ÍfÐêÊÕƒîrsÍYæÌ´¾2F®ŒP㦗>‹B±Á9ŽOË*¦—v³úR`‰Ø§C¯ª¤K:+WÑÑR–Œ,h[GÛóY–‡™Å-¶`ÔÙÒj¶s0&Ä‹×lí³|åÝ9…+XæžS¦£³¦qk‹L•öV-–ÌÒe§+—åbˆD}.U“»8ºšr5Bo_«ùιV±M=¬$Ûkœ÷^7™Q­ïgtþ;AÞjw½m.ÛÊ«_Ôö·Q Fz^{\GøCèðeþ{aÒ¶¶Â°õcF,aüÖoÃ$$.w±:b§Ø®’[S†KŒ†Qm½]JGöá`ÝÕiêUqBQìKyyÓÄ'Æql×Ù¶˜²ÛÒÝö·ºúíÉE›#ÉÞ#k­ÈO9°þ ¸>gYÌÐ çiGñ5ùçnȦé\3ÓõcÓæ–ǬF=ÆšD‚,–ïüç± ÐÎQÒjb7¦æ5ß·ÐYô'0½4éyÖЀ~꣗Òe¬ÖÏ”æô¦j,ã/3ï¨ØôÑLA­èu–j¯êCŒÞDêÂIwúÒzÖ¤¥WÓþSZËZ×$ãC *ꣲú{ðM´£}ÜaTÛÚ…}õv~}Ú]ÓXÙC”¬¦1mlªØpÞÚx’ŒÖ µ|õ£¸¡=¢ç¬oûv*³-”k›u]}Ž÷»ím°FKzÀ΋ƒZ\^F™?z«7Œ­7Fk=´àáÚt¦§MmIáúá÷¦x³­fìÒô‘ÀT4ž™ær¯yâòìæÀÞËcÎòƒ ŸK¥]q˜s¹ŽSvð5QÞZöÙ"?±%¡Êòÿ±¯ž³­Š" ÇܽJgº=þ:ú\™ÄÉ9Ç{ÂrXÇM¯œ›jNÁ‘ë4ì\0ÙÍÞTŸ¿™‹Då,Ç3…¹þ«;ëoø‘ÏCð@z·EI?û|ûþwï…›çLœ;ÝënKLÆïGŒ¯9v±^¼’§|ŽÓžxƾë—t@¯â`²¹æ¯|éM¿¹8iÞˆé™UHÍÝÕ9;ñõ’fuLúÓç^÷;ë|ê ¬•PðƒÅkã ðÒ×>ºŸß}óŸ¿Â+>×îq5âÇ­èr‰›Qgëß•/ÝX?_üã7rïõsóx=yÒ3ç<+×ÕÓ/ï„ä§ýAÏ7wçô³ÔW*™:«•²8ë£<ù³2ûK@Œ¬à#”áë O¡¥zB3ƒK·¼²¸ß¡ëa¿ì@œ£êû–%ƒ>R:þ¸Õ!²’c§ð«µä’±«™ ž*¬­ø@¬A½r¿WãÀ̳±Œû›—C³zº6¢ª&¶Ë3b 1~ë0(³A&l®é?Zú?tÂ&R7d>ð’“¥KÂOÑ8*üB0Œe’ªðËÀ0œ¯O;(,¾›9C7|ÃÄŒ+?8,¥ëK¥ Œ{š¾:ìC?d Šq½‘úÃ,ܦ_[BÞû%B\DFlDÝ“*°Z4ã«™=tDK¼DL$»M"¨UKÄ”ÊDP EQÔµ äDÛƒÖýQ\EVlŽÃ;íc?f™EEüž#´/tE]ÜE^\½)“¯Ä£EaÌ/ B“mÉÅ^LFe\Æ'Ü©XþÔ±aŒÆßƒAf¬Fk¼Æ†!¸fRÅØâFlüFp Ç»D¡óDoGtLGuD2µó?s\GxŒGyTœ=‡YÃyÌG}ÜÇY³±r¤D3äGH‚ÄÅS|¶s¬²„,H†.™kH$Q5Á[H/ Hˆ¼È1>ÄH;´G2DE|äH‘´-K³È‘lÌ7!Æ“lIäY8“tÉ÷Ù©“U’IœCc$>:ÉIR IŸ J{Ò:¡ä´©;J¥t> ¬É¥³KyJ©Ì½¦|À©Œ§ù¬¼J®D½ ‹É®dÃÆ³Ç°,KŠÓHŠ4KÓTK·|K¸L¡ÎÁ¸¬K»¼Ëþ[»°ÄK¾ìK¿ì:ãøKÁLçù­1IË¿<ÀÁ\ÌqDÌ.Ì´ÃdL숎4“LË —„Ì»ÌÉCÆæáLÐ<ÇÄŸ«²Ð 4üc²Ó\Í™l åÉÂÌdMv¤@ ’MÛdA× 3ŠÊÏ<¥Ñ´Ë”Ì»ÛÎ3£¯¯©:_ê=û"â„‹•R8ôiNéĪåè:àªÎZšÎ„r²‹ÀëãNñdN";N(‚œ¬ô+àÙK·ÜƶԿñŒOòà0›²:ôdKõ¢­|K|F.üMùtÉý ¡ôºOP PbSAä OøTP³„É–¤ÏÇ|Jü£I©«ÐýÐÞŒþÍm°±"&E­§‹B›C¿]Mö|”;šÄÝÄ· ÍPœÔ:s«ÅÝÑ­Ñ­Ê€£Ñ åѳJ%R$å5XYR $GÒT“#õ4>¥IÅ4ÒMR¢Û¿ÔR/Å>ŸóPjêÐ#Ó¯KДÒû¡" Fˆ²À_ĺ/MÑÒ9½Ó¥¨6S<$ž¤<ºÞqÇÒË£ÃîëÓ+ÌN<=È eÔEýÒAÙFaëÒïTÑ4<Ó@T5]ÓBåÒ)ô¢Kµ%ß{TC=9%UŸ”+å>G$*Kª¬ASÝTBÅÒf«GPEÈ<ÜRHU=0EU"ý+3²œÁC|ÕI­LMþ…71¼»ªÍeUÃâBÄ }ÔTLÓYV¦;U‡cÓNýTk"®X*¾a«SçlÖgõ8p&q}S¿Ãnõ›”TmÕD¥.o2½£ÔðáDÑKVÊlÕz»LµUJ‚?%WIÄVL›x…Wð!À­W€¼×!mŸ²óGq Wý²Ü<ëâTu,\-vYh•›‰…ØÐÂÀ‘¡Øm}X@䓱Z7„Åb…”IJ¸ÇRÕŸÌ}µÓ‹{ÿ,;y•Ù´@ÿ{U‹…ÙŒô:Î9ÏëWÚZŠÅj…;ÞL¸eSÒFM;lÇAüÕ=Õ¢¬<ðüÈ¥uÚ?;Û¨Òó+ŪÍVþ+úX‘Å-L0¯eÐàq1,U EAZÛI´-Á8mZ¶  5¯„Û ýÙmãÒ”XºýÁ‚5W.rJs\©ÜvB\: βM\¤\ÙÒìT¸ãU'[@¥ÜÊÕNeÅÜÈåS‰dÝ,mFÏ%]T5ÝÓ¥ÓeXºå\ºSÍß]Ðh%ÞãEÙÇÛ×u]OÔ]èÅL<ÐÎV„mÕÔC^Ù–âØÐ³^º¬Üï}Ûè-_¦¤Þ»;[ ÄØuÞæÕ²+•UɵÛÚÅ^š]óÍßÁß ÁQ R]µ=rmØî…˜NÜÛäå[Ú¥WæUÉ]ýÕÒÅ}[ô-FýÛÐõ5VÞùÍþ>²ÍZCõÁðÄà›µÙî Žà¥lÚk5ÏSJ ô…?<ìàú=Ù'M`«Å¥áäU¤Z‰•HêíܹZóQN>‹…AŠLÁHϯšÀv«a:¼»”>;úΊ_€{Ùùe_•ç‰nÝcSgxfè.RíææJh¥+å¸-P|vãP¾hÚÂåËEQŠf´T†ažÊ[ÍM‘i’žR÷z¤Mi—^Ø~N9b,Jfa>Æí集¹œ>êé‹­Bž5HžjO‹i‰þf=å­Wí4mnç†N³?vÍZF\–f”,B>éH6hþEÖ?%f´ÖYw‰±‡ÞÌ}nkâ0j¬å–fd å_ŒîÕ¹î»kf“UÅÜ*½k.lÍ•\ÝŽÑÄÖKþb0¹l“Á• ÛãÍ^RÕJÂ$0ºãµ{SÒ¾b]im)vëEW>†SèVü‚Z³ì(Ô¹q]mÞ®iîb \¶Â=4¿Ñ.à˜›œ–P£ÃÝë¼ ½·îäðDè®P̾Ųdîun6n1ÝàêîÈÌn+NnGÆé´ `ŠÎìP USVMêF];m°ÃëÕõYŽï°oþ–ß|u¶­öÔë]'5}…Ôëæ:Ù^ðsëa®qG+4þïØ½ïÈŽµ>fp]Åá°ÞÇ ŸìwÕbØ>qŸc*aq/¶Ô]ðEq€ñ]AÕï1ß…}p’ ]Â}ê$rfºÆñÀñÛœQØæÎåîBY×ãå×bb×ïFòñTò vÐ*¦Z ¼ôÀ.o¸î`CStÃr×F¿óþoä š¥—W¿åÒ–,ŒEÃ*wœ+ßÎk4'õÄ"r¢åX;þêøL_uŠtv_—nå>éšEöµáe‡ì ËâYg7ºljW¿voŽò‰ô]áÝׯ¶æÃ¾Ý÷ÂtÝ )Úw5÷žüeiœwz¯w{¿÷z×vpŸ¨uÿZ\ovtÇïQòµ=ñqww@_’ÃKkÇó¤vxnG©Ž<ˆ/7Ûã±]U_ÑñvOÀ¼x±5U»¦R-är|?y”Oy•_ùè~wæ WS÷wÖxòžr3ŸÚJ_óÃmoë^õhbøâycVú#^¦ºuÈŠ·Fþ[m”òjîõVú„Záµëcy¬Ïz­ßúaiøÔ¥¨¥Ÿ½ªwúZGfv¦°wÔ±Wkþ…—»"úЀûˆo1 Gg=—:=×F„7ó9G×fI+}ƽ§ñé„bÇ]rµoú¿û›sÄß\Åwùˆt{o“û“°üÞ >_£}yJ/ÙLÖêÇçáï5<ƒ]­O=>ü©_Ôç{ƒÕðtzæ¢l¯{ cå «»¯—÷˜xØøâ]Þ³ß@¤ŠýÛ-}ÉÞÈ_q8á²×y‡tä¥b¯Ÿöt'~™'ø _¹¥òö¥i¿ò&Ý}9uÖX€w]g uåÏ{õ§þ7WýöG ýÇ&Þµ äñ̈(` Â&lH° Ãˆ'R¬hñ"ÆŒ/.ÜþèÑ!Ä"G’,‰q!C“;ªœˆ2eB˜1[Ò¬i’¥Íœ:w>¤ˆÓ§A !þDXt`P’C‰Ê™ÔâR¤O…69ÕèU©Qµž¬Êó+ذbÇ’-köìÆ­VÕ:e«Õëчl³¦•‰’©[‘sé¶õú6b\…|ù:EkøpÅÀ`ó"nüñ.YÈ<Ÿõë×1f¹—3sÖHX0cÍ› Ç Œs³Ä½P?[í»š5iº¦)» Ýù6îܺwóÆ[Û¶dÀnK¦íqéKß6÷W,7µìâC/³îm½+궯;N>ֻάS_‚çŽÖ¹ùܰC—o®t†Ù…·}=_°pÔí•×wíþôvé 8 Z·ž~Á¹7sð…tSk-aF &øÓ„Ð9¸!ABX dèMFᇋ‰XSpË©Ey)–¨]u/ƘbAf×{ùqH"Vx]`ƒ‚–RT5éZ‚2*¹$“M† …CJ%¡þù¨ÐHEnãc–åx#•ùé8f’Nî†ÜA赸¦g<šY’‹_ÅÙ’t¢µø¦Šâ9"”9Ý•V®¥¡ž…a…à‰ø&hHúè :^¸'¥•Z*#¢w(‡ýõåæ”‘J ão~rÕ!£©J褗6¶¢skÊÚ¦«| g¢]vZ«œ\òJSswJ¸¥…Uyk„C–þg'y@Qµ¬².ª*§«ýz-¶Ùž—ݬÃJ+è_Óêe,´*&Ʀ·üA.¸ôiÙ†ñÊ:gmïÞ”«JôÞËœ½y‚Ú¯µ+ÑÈooÈ*Å-‚bv÷/À ã©ï»@&ìé™ Ó9Ÿš¿j±Ã¿IúiºYr¬m¹0â[—ƒçë«ÊDza‹,ÖÉOŽÜ2Î Û1Ì"Ë /f?·)ôÊ7çÜèÇÔj†ëÑöí´­ë6]aÏS'VÕg]Í[ßk5ØovËóÓXv—/£}ÜÚdSÝÛ{-Äþ¶ýœ¨aS=wÎY£|ß+u}7vz«Ç«ÜÕWs¥~ 8á]©½päöþfª4»iþVåœ~cà-3n¸ã…CnVèϘúæã^{ëΩµk9ëyóV;­Xã¾wë{÷‰yæl÷^7Š£û^:éÈ[½;Þg£^¹ò_÷¾°“ÍË­ÂdëÞ¹ô4÷Ù^^m©·^²ÍÑ—?ýõá‹Ï÷UÌë¾¢ã>ýGŸlþÇcì¦âªä¶ùÝ;ò [C9öÙ‡*ê—ð6G¼zaÇ`u3û0¨7ø¡)=ìQCE==ÿû`ZD#¹¡ýK}Mâ LPØ=Ä„nq™‘áë>“"!‡/š ŸîDoåEƒÃs¡þŒÆ"á0pK¼aÿú¶ž æ+j+dÕþ¼¶ƒÄ%ÁP„Œ¢CX¿’Ðl’‘ —<.i)Q@Œ!ºfg”2JŽ<Ø»ö<»u&ԡļv·“1‹o”¢¸-ðåd‚“³£Uh»H^qy¹òÂ|ÇMÉ]Õ'=Ù¯&‚q¡4 3M:·æq¥n`FKÉòRFBÚªh>°¡o–“ô‘c(Ç9Õòa~])oCJWó|²T%ìNØÂdŒšœiægÍ=Í”§2ãÌx¹¿Bþ(“3QçÐxÊ¥­³î|§ébfEÞ‹aØ„'>ó¹=r5/—Ä£%EÎg=K˜Ùf³Ú©H}2´¡œÑ<þ©è!×9´¢‘xþD®¸ì˜\$NÑé¹OõÒŸ$õ(ÀzÑ•²Ô˜µ„&ÆÇµ–Ò´¦×ÄFåãË_êªi†ÛA‰øÓ@4Ÿ*µ)R“Š?LúX'½ ¥RµªûTîØO\móW(=WUiÕ±’UmÄT\B«h²˜2ˆ–)+\ãÚ¾øÍO»gK‰×†•T®~ýk EO:=U`qóÜ`«ØÅb®­} E¿JA›f‘±–½,Û0 !$Â4³š=Uid‡ÙÑ’–|OZ©d¡SÚÕ²ö¯Ç"g 5Oµ‘(¢m-nsË´‹¦ÖPºý-pQØj¨@Eëþ„ªàU6¸Î}®o+ÚÛB·ºÖ-ã{ˆÊBãŠµŽ ”©Ò™Öë’·{Eœ+»ZÞõ²rš%îrdû]*k:Ím/~/{ÞZM×Qùý/€G™]‰:u­ºÚh6·à—v¿Ìl"ƒ#,am‹À„5°gAæÝ s8®¶¥ ßÚᓸš…ê…Ów`„R²Ä.®é‡i‰B¿¸Æ6Ž9á_ #˜A½1…+\îÝ7ÈF>29šI´u6Ãí/’£L»!C¯ÈR¾2–ëIP-7R¾õ´ë®²,fHÆØ¥kìÆ¬æ1 ô5áñ².ƒgÒ5Óùˆu¾3ž«›1´²®É=6-ðò,þhí­Ž»g4¢M)òym~>O¥ªèIGL¯†>4¥3­iňÑm{´…%ýMõnºÔ½25ªS-]þq¹Ë6ÎÜÈkaõq‘î.²£½HiS»Út äa_9/¿ÖÚÞ¾é·Ã-îêé©­^…ò¸|éu³üe7¼ã-ïyÓ{Þ_®7¾ó­ï}‡4Ý£Å×€ÑËlG˜ßøv·Öä}`ƒ3¼á·wA.ñ‰Kœà ŽfÊÎmqdS|ÝnÆq¼Þñ‘“Üá÷.9ÊSnèÿã?¦0Ëc®Ì^˼æÔÎZF>"þ›óœ†4ï9Ðqí·új<èFÙÑ“®ôV÷äzÔ]ôÏ—nì¨K½êj¶¡Ïþtn[ýØTï:Ø£üĬõ‹a?;EÑ®ö˜CÛ×E_;ÜÁ÷¹Ó}Žü­;Þ¯–÷½ó½ï~WÒ×ÿ.øÁžî/<â¯ø[cÚY‹<ä#Ÿôᦲ¥n»Î¸.ùÍsž¼ã•ä°ÂyùÏ¿ðð?=ê[[™6[>ÓÇý¨éS/ûÙ/tücëè9©y'Ó¾÷¾Ï2‹Xٳدv£»÷ .Iõûå3_õÁ§Pw‰ßà—"ÇÄ|ó³¯}'%ú„<¾n™Ê$ùôûÛ??úÚ}h‹UúÀE÷d€ÝH÷þ§¿þöÿƒ×~ð_•þ‚ÿi)X`Ý`C±DÛšÿíKåÿ%Æœå‰N *ÔúU> ŠÅšrQ¤M† ’Ðó±Õ%i ¶X(-`6¡”úàÆ  –PþÙ: öÔ?á“mÑ· ßÇáÑQ à áýuí™ +UÚ‰uàó¸‚åNê`Ó=^!šˆ†¤¡˜À­<¥—JÁ ômÖÏÐ?e¡®aúçx–!‚á;E‘ù éEײÞþ! RaèÔv V^“;YZ"’Ü¢³ñT¢$æ]vÙvÅ!ÉäH>Øÿd–þ F M¢(Š¢c¹a•!’aÂåáÅdÝú×T•ž9ýͯ}`$Ž".vLÉYœ[^ÕVÄ Õ5žîTºá_«Ðâ#j•üå"4áž…Ù—Í”aFÎÉq—)raÑ4a7¾!b£{1#Η3†b4®ãî" –5N!rZ¿”q¥cÚO¶E;1 9ž ”8]3âcò±£ANà4Ò!"ú¢H  ¶]}`‚™<òcó0¢™LŒ'ÂõñâA~$úÅÊž¡#Õ˜cfÄd”ªã#Y¤7úaÉÌ*ÜB‚¤MjŸcñÚ–dM®äéËŠØnKŽõâ9 þΦ¤#špÖ–[)ÊãMFeó‰d§™è5¤Pþ_š” ¬øär=á>V¤Wêc"cÎ `Q¥T¶åìÝ’J‚bÂVOf%JŠW±YÏ*~[~e¯Ø£?vÔ ²b yšº¥bJ[7 á‚8LBæ†%ÕÐ6ºàZ*¤_îÅìÌ,%aÎØkýÈbž&ꇋdæckÊ%ì%ÍkSê#gJÍ1ȦS8®˜Y ã–¡¦pBžc>cgN$,FædäK™(§¡üc¨Id?ºæ©‰Ò;ÖUâL×Ê‘äp~'áaU¸¨t&§u.ç;Â8ª–WnZò¥9þ†Oð£vriÒd_‚§~ö]Hu„[•æþ¹$¦hdPMÑ.!'>*•Å÷‘!5Âáoº]5î'… ÞçÅÉë‰ËtRF¨¤]jKæx)½ç0õw>¥wV¨‹Ö]] c%¨ VŸ‡N lVç}VfvƇ}ú϶M&о(’’"|’›N¾â-]åˆz¤7U˜Ö&/Ö§i†R%q%f’~éÚU˜™Õ¥cê¦@Ú"~:çÆ&H=h-¢Ò’N(˜ÎiŠ©ØhâË=éPþR%Ê&–ˆ¥Ï•L› è5R$¡&*n¦OÐ#®çŽZ¥Võ)‹§qæ§}Âþñê½êdÖ¨¢†jýå˜~he†¦'€Î#Ÿ:g%å‡Bfù ªwÑr$¢~ª¨æjHö u (DÚ©ŒKŠUI¡byž ò¨².k!~OG&«®Fkú¥Q\ŠO£: —ÎNˆÀM ^*G@«¬âj‹Î–œî¨ŸJ+ºžßíij*¨*ßXÞ–H…ë­Žk0îdÍ”]ºîkxÆ¡¾J»Š«É`e#NjÀ ,¦b‘§1ç»ò«ÃnÞ-~aÁ ˆV¬Ë † ébJã›>,Ⱦ%fq+ÂÚ Á§¨™¥¦ºgq©àRžiÈÆ¬Ì–ÉÖ+Ÿœl©¤Ù¶uË©N§K<+^ÂìÌþ-Ñ–£Á¾”ƒ>o>$²í±úlÑF­Ôâϼ"mÒ¾ÇôÅN-×v-K^-Èmj&n'ƒz©×ž-¢aÃÎØ^›Á‹Ù¢­Ü&©–°g ®m‡Ú“ûDìÜöíwÚ@â,ˆA©ú­án’í^ÍN™ˆnâ>.ä‚X¦îµdä^.æÆ&þ›êNæ~.è6ç«2î·"]èž.ê2­¹’LéÒLê¾.ìÞfNOÜÆ®íÞ.dñmdÈ+îö®ïÒì¿"ïþ.ñ¯ç©ñ&¯òF.¯ó>/i5/ôN/õV¯õ^/öf¯ön/÷v¯÷~/ø†¯øŽ/ù–¯ùž/ú¦¯ú®/û[¶¯û¾/üƯüÎ/ýÖ¯ýÞ/þæ¯þî/ÿö¯ÿþ/°0°0'°/07°?0G°O0W°_0g°o0w°0‡°0 —° ûo@;yacas-1.3.6/docs/README0000644000175000017500000000256312272440124014315 0ustar muammarmuammarThe docs/ directory contains documentation files not directly used by Yacas. The file "yacaslogo.png" is used in the HTML documentation. other *.html, *.gif - used for the Yacas web site downloads.html.in - source file for downloads.html paper1.tex - the source file of the paper: A.Z. Pinkus and S. Winitzki, "YACAS: A Do-it-yourself Symbolic Algebra Environment" (LNCS 2385 p. 332, Springer-Verlag, 2002) paper2.tex - a much more extensive version of the paper (unpublished) This paper describes the YACAS system in general and gives some salient examples. (I still can't believe it got published.) winitzki01.* - source files for the paper: S. Winitzki, "Uniform approximations for transcendental functions" (LNCS 2667 p. 780, Springer-Verlag, 2003) This paper describes a novel uniform approximation for the Lambert's W function. winitzki02.* - source files for the paper: S. Winitzki, "Computing the incomplete Gamma function to arbitrary precision" (LNCS 2667 p. 790, Springer-Verlag, 2003) This paper lists and compares various methods (but the case of negative real part of z is still not solved.) I give an analysis of convergence rate of the continued fraction. winitzki03.tex - source file for the paper: S. Winitzki, "Arbitrary-precision computation of Chebyshev polynomials" (draft, not published) This paper lists and compares various methods and finds the best one. yacas-1.3.6/docs/back-dark.gif0000644000175000017500000015606312261607322015753 0ustar muammarmuammarGIF89a@@€ÿÿÿ,@@þŒ©Ëí£œ´Ú‹³Þ¼û†âH–扦êʶî ÇòL×öçúÎ÷þ ‡Ä¢ñˆL*—̦ó J§ÔªõŠÍj·Ü®÷ ‹Çä²ùŒN«×ì¶û ËçôºýŽÏë÷ü¾ÿ(8HXhxˆ˜¨¸ÈØèø)9IYiy‰™©¹ÉÙéù *:JZjzŠšªºÊÚêú +;K[k{‹›«»ËÛëû ,Nnís^¾ÎÞîþ žîoŸ¯_zÞïÿßÀ÷<ˆ0¡ÂAÎSáÐá‰+Z¼ø&`þ;zü2¤Ž;HŠ<‰2¥Ê•%òpÉ2¦Ì™4gÖ{‰®¦Î<{úü 4¨Ð¡D‹=Š4©Ò¥L›:}º!§–›g¨Z± 5«Ö­²°Vñ:¬±\Ëš=ë‰lµ_Ø:q‹6®Ü¹‰`bËï»tûúýH/Áç0Œ1àÅŒƒá{E±©æ".\²ãÍœ;wÑŒÂdhÊQIß(ØsÑ-U{~ ;vIÓ+X›p š†¿®/Ø&Ñ[¶ðáÄGÓ†˜[îà!~Ë;žÂ¹ræÅ«[¿^:éÓ=p—Á]»„ï Äc?þ¼yzvoL¾gúùôë[HNEò¿÷jþãφn_€ªàUB°Ný8…>!TøåÇ`jÑ÷Âwê0a„~Ø×†³iÀ †-¸Ç[…c©b‹.j…˜‰ üf—m4²8ãs"n7¡`2"p#i6æ¶ã‹FyR‡@4j:’”à’(Έãs:òÇ \ 5¥NÐ¥—aRY%’fž¹“^¢) ¦W $å”Kbà͵õ˜exiöæ—pV&š‚Š›¬­IŸu–øÐ¾îïþ·ùþÿ?§î¥^ÂÛ_Ûz?îÅ c°²à¨À÷%L|¬ vЇ‹p Íw߫ҊŻèíkYˆ*“‡ÇÁéIP)ÔÙ-¨†~F†Yx!C>dd«@]:XÅ<ˆ/…1lx.(¡Ó~HÀ‰]‰¹B™÷hÃÂð17ÙùOm~ÅŸ¬B(ZE‚V”á‚”DÔ•ÐÒÈ1zϨ'óª€Í£ÙƒKo‡ÀfÔ¦ÔÔdƒ@JÓ”£=ei(ƒêȉ Uq´)¨ì1§^Ó¡ Ý‹% K¤Âqy¯ÿ]U…k<åd\yÈEvðþ'üÖ ÇsžûûbVJ\Üm>t–ëì(sã<7oœ;ºIdÝ\²ÛSyüž^ïbzó`¸µz»aþh™Qës亮jö€ïüãs°³AôüÜà1ûw´¶«æîi ·Zî´>vÓÇŽò]Aõìhq$Mnè¬þŒƒwºË_ö7'Í„/´ÉêJ X§“ÿqm–KÀs喇Že¼G;Ç$¤¹Ø¥äiœÌ<´5¯2¬=©–o!Ål³´Gþêl«ï‡|ËÓ[íkW#>z‹#¼9­I½èêðé3ö„'Ù˘ÉLâÞðˆ×½¾ßx¥ð;?€Ã­ù¡îxÞþwTýò7üëM¿þ#œ'z¾þ4«ŸzÚWW€åÈÝ75º:È÷~’6qÓæ~#V-òÓ2“ð7gªGzxÇè‚!(‚#H‚%øãV|ŧ€…ÀH|ˆõwdsâvÁ’}:G}#ðló4Rýg€D´qpÓ9#y¼Ti3WuÝÃm %hcC{ÖB7¢ãk ¶iàe‚Wˆ…Y¨…[È…]8‚(X6DD^E“D”Z##ñ†”Ä[{Æ”Ey:P¹‘ä–—èÈ‹éA¢÷‚Z >(dˆ¸h•šò„aù• IU¹T“"Œ˜öÙPlÙ–ù4+OII€LGn%),r$„LÉ‹:y ©C#ŒxI•jVš6{©išâ8ب˜µ¹rµ6›»I›«éqTWsR4pkyr>±9œòfC ö…hÈ^4¤œQ™@¨ˆ\7‹R‡93±xȨ–àQ³Èº£O¹ –äi0ÚÙ‹åyyþ1¨'¢ô}bÙ\˜DšÎÀVìŸÐGm$•Ñú™kèˆÇùkˆù˜W¹€ð)Á‘ÃÉ)êufI‰±™›dÙDÕ9¡VI†¡Ì„?Aùz™Ò‰?lXW%øŸË 'Ze#u7j·w‰ó9o‰†nÊvr˜ŸØ$C†ž°ÙŠ3|~è˜ÙŸç¤>zg'Šœª…;‰  XˆSz©`Rêš‹¹qŽü)¤IÆ•º©j>‡Ó(”±×Mz\®¤“ð¨0^ ŠPäe§º‰z±ÂY2§†L3¥buú˜j4µ§“ÈSwð(…Z|º i ¨0UOŽªešžÉµ¥…µþY%¶8šb,¦‡‡eôc§ ”¨C”*M‘j“Šg]…}ZÕXlzŸ(”xlfÚ`x£HF¦£U3Yz^œiªÓÔ«V Hr«>×S¨š•±6SÚ¨³’= `|õ©lЍÒg÷ ¥ÒšbÄZ¬¤ºŠÕ^à˜µtÉš©‡ª ãJŸ´ˆ‡O©¦mAeÒÊZxPnœä­wĬ¢ðJ’ì­íZ Ý¯ÇªdÑø £• #f)ê`óŠ_é-Ê,çQÏGLÔ„«£š†Ef±²š°êUÚ&/Ïê©ÿe²©°`Z^Íꮘ°KK]à9‡û5ƒ-[y»º±« xþÕ³UЬå‰ä*³ËW4žB««¾Å³Ø5©–:´\Å9%µ¢Û‘UQ5¤Kˆ›Æh¢"§±kz ØòlYµ"«ù‰ì™X‚€²b«²«nûaS›\ †®É4†Y›{ÀÃ".êK®Îéa?[;W5…T;¢—ó± Ôa8ÔwŠj‘h»¸Š©KV¶kµµ­§‹™`f¯Ãú†mKQÅ °y {¨[´¤ µ©Ö§?&ºà±¹Ë·—‚‹\k¸•3º¬»Jû´~ð¯q[°AjU÷°rG´­I¼ÚŰr›ªú껌uºÂ»¼Ï+»~ë”À“Õ˹`H¹k½Î[ÁË»J˽yÚY³Û½þS¹½ç›¸û½¥›mª{Šú€î;€#K™};Uü¨’ Š¿?¸¾å[¼=×á˨ÓÀS œ]»¨Ø›½ûé& Œƒ¼ºòkÀ=G¿“¢®<°ì«½ü‹¬üx|Iš(Üm:û»½ËLÀ¸Ë³(l:è÷µ¾¡¾0JyûW+—!ÃPؼ6ëš’ë¼\Ä—¯yÛêyrÙÃ,JÃÖ57€ï†¸©R±=ìµ\*kQX»¸ÆlŠëÃÈÖ±Ë!HÜv¥ºÄiõ6XÌÅUx§Ð©¡ý¸2|Å|+š:ºèÅÆuB%œzÆSô9hÚehÁ)5¤6 ²t¼›p«¿›£èæxîaþ¶.¬ÈŒÈïK"P¬Æü*~&,ÆèIæ–³‹›Æ¾h‹"zÉ[󣜌†qS¯«lġ¥ÌÂFj£2I˘ÓÊŒ¬µlŠ?Ù˅ɼÑFÂ\£M,ÄÅ "ì£É›,Ì),›ª¬ÈÊHÍ®ìay¤ûëÌ<ͶÜgý+€ÀD¾ÿ³¬ÍüÅͻܔßÌ5‡3„þ Ë@ÜÀëôˆ[ ÄûÌÏTh9yl˜î,V‘HÐmÐÐ ÏÇÜ¡X:Î#¬}æ|ÎÒˆÍ⌒Ö×Åæ;Í6 Ò!-Ò#MÐ mRJ˜¼LÎL“Í”Ï œÑ~·ÎsÛÎÌüÑ$Ó9­Ó;Í&þ}ÑElÍx4ÍÛwÏ>íÍaÚÐ3 É˼“–lÔY!‘Â4ŠCmK´ùÎ m—|G‡ÊüŠÝœO“ÅöÈtRÏÖÈ’;7­&W Ó»ZÓMÖ`=ó,ÓEÕ6ÛÀqíËjý·!üÕAè£^]Ërí+h 4ÍwV]/„ÍÖJÍ~<¨×Pé—X×ÌŒ}AaƒÔ ¿™ÌØM9šÙÏìØíÔ–ASÂn½¯†øËý­ dvË©ÏëžêéΦ-*ëfÑFÙ‘åY< Àœº(jL·Û„b"‚ýc½íÛ°Ü *ÜF÷¢exšÕ}ÜΆ¼³ ¾×ÍÐêµx‹lÕÇ$‘h'5Çþ³SÚ¯!/Ìmy7ÖàËÞzæÚEñ]—VÙü 4jdXÝlum«GeßÊiÍH“«9Ö¦¥w&×pwÁŽ[ž9IÞ»°h*œ´æÓR6¼Ô+LjA·©à#\à¹\µj—ÞáíÌöu×""ÕxDkNM»'^©-^[ ¿!~!8Þp ‡SÜ¿þDNˆöjÙÉ-/ÜÁÅÁÇœQPýÝxØÊäüP«¦.ËÑA.–„ߺ۠ûݾÑyÒ «ÒÍÝ—Ioz«ÃQÉ<. «}~¼:«_Îâ ©Ýo®FÉczµâùj…®ëm/òÚWë:À%Þþæ}è%*ÞR^¸ ñjðP@,½´„%+¾“ç•.æZ‡hžãUfç0p£Óé3‹Ñ_:îoe.ê´@É–6/¯á½¹Ž­e'Ô[ß|.ÓhžéjxëåR‡–ÊNO¾«ä ê¤ð=ˆÞÞ(ma´^œp¶+c Š[«Þì3݈\í½®Ä•;¦Yþ®öÙRÝíõíZð;¶[ç×ç^_§Ü{`~cf¼J¼líl~¸­ÈÂ-Þî«k¾k)Sü¾‡)<§.§Ñ —¼¾ïW»‡å ðõþ¸‚åðGœ.6.ñešíݹ¶2dëW‡ê%Þò-åj3&TÑbì%vwþ¯@1ò‡ëеG°†Úð~ó¾ÉßUMóƒc# ßð#hf­í= êÄ’ÀÛ}ÔSnô¯h3f†#÷//_mèšH².õöpæ!ì îRúòÙ– äý é–î,×§cÉõgÏê–ÙiQ@“Ðæ.²Ö'÷™¶î}ì…Lß3G/‘Æó|Ï i_öñ^Ã=ø™;ÈõÌ8ObcOT<ªD¦â{/ù‰®Ÿ. jßL}ôƒLø þùìBX¢Ö'œ m±úOfŸ;š i:¼gù-æŒP ea†Yâ‚s»Ÿ»¯é©Oìš•þ¹õù¥#7„üÉJâ9ªßîüÖPHþDÒØ@#„b.üº?ð"iü£IÈmõÑ8äá_‰:,_ ÷#Ÿùfý°;—€S—ÛF9iµg½9_úÄ‘,IhÔÒîƒå™®íÏõïým+è…l(]Dç³£Œ4k0A…n¹(«ÊØÉåI˜ˆ®¨yló—ÏéuûŸÖ˜Ø„4ì+oÐÂïÁmÃ0K‘ðqͱå²ÒÒñ'ÓKQgó4Tt”´Ôôô0ÐjÅ IÐH¯s‰6#¶ñÕVvÖÄ÷×—Wx˜ã³m/r·™¸Ùù:ZÚô÷Ï¥µd!{zØ›ÙS—ûî»x×xgýJy7]~þž¾Þþ>‰rÑU߈¹sAú,#a;ƒ ¡(ÄáÐ_¼‡ïV´xcÆcŠ´ü˧QHÂ`!‚”!¥I•$)æ(™K"¼–+iÖ´ygN;yö$õ’P `†ú4ziR¥K™6u­h ¡o`›ùkV­[¹võúÕkTS¯ÛmZµkÙ¶uûV–Ø(TS•sn^½{ùöõû0Ì-dcJý(pbÅ‹7vü8"JÉ«Ø J×ÜZ0t1üthÑ£Ißœ|:áåÂá0»[=©LË¥i×¶}wySÝ06ÍÚ‚ç›­ù­áÉ™7wv䯆­þ–ŒuÝçÛ+oãþ|xèÑ}\§þúMkñëÉLgÿ~|œæ˜8©>=~ùûËZÎÀ…¾ú†Óo·ê\GþcÂ%ì‚<–Ðã¤'ÜðŒÍ8üÄó³Ï 7»p E1W|Æ ©¤\LAYÌQÇ}|±À©{äÆB­˜ÓpDÑÈ&‘Fïc’‹"A³2)%“”¬J*Ÿü̃”rÈA°dŒDM¼”ƘâfTÆM!Ü“ÎÇìoJ3y|ìA/2j-NáÞ TÍ?׬ÑDK‰’3Õ<ôJGÏ€Ô™AŲTÒD(U‡PE=ý•;óÈ”=þù4uÒ?'Ų°Nñ\ˆ³>A•ÖöÕì“5ŒZ•ëWR•34×Z=ö QÉ)¶*fã5³M‡ 6Gj¥5‹Øk‘Ý–[½ËÐÙËØv mÑqÕFh×IÝnÝ}w¬[{¡#Ügë­E't§¼·CvÉ…à€•K\9þµ—_ârÒ÷qÐýð¨Ü7neóß¡ÏóôÆOœk%ä“g>wã³g~ûô/Q›zâ÷”ýQñÕ×.ZίÎ|Kä‡-ÜÏó?~¤‚æ–¶ý †SÚ ×.æ½ú­éDºÛÁ`á<¨XpLÿ8Ñ™ý¥m=øZüzSBž…)Ü[ãá¾Þ(‚z²à;ˆÁæþÅPƒ9d [vÒa¨uZᇨB#‰I,‡0¨R¾‡Ë¢YÒÒÅËÙP‡YÔÃL 8<ÒoZ_ôÉXF3š…ü™5¥ùµ„u‚ß­¨E;ÊäMOÄ}ˆÅ€ðQ‹™ˆÍ'ŠTÇn¬ƒúb[5Gh8òŽ‘Ä#ÌØØ2.Ò°bŒdû\X®C2ló Ë~¥4´5q'”ä*ϯ5Гú± úÊn ²|±ßÊÚ¡»˜(Ò‘ù^´RéGVs_-æÀLáà劶¼å)?ÒG]&‰—ˆôe,-õ×tïcÅ”&2ÉiÉC0ŒYpfV1Nx”þs˜ Ë%±É·6ÝO"K»‡\s;wJðŸÛ9cêàYKÝ1r›Í¬_ªDæÍS¨’b‚‹•ƒlÁª€§‰¬hÇÏ~jÒ_uÎ@ M‘Æ'h^^8»ÆOªó¡Æ,Zî ÌunédöS'uJDžbRh2IE8Ëýl©5—ŠÐéµ–g#ú¦§F› =WR¬v•–d;is9¹¯¬´òÍTÃVÜ¢“”êGφ=¦®±LN‘éXÃ(TþœµŠTü‰üº¡¯­®„âd¨ +¶”¾éÊÊ^Ú-¾Ž£±Þ¬Ûâê’oªl³@›‚×*«¿Ì:Öþs–$Õe£W¢ÒÚÓ=kêUGÚà±¶+±T%Ü^o¯­‡1 ªÕv֩曊­<°ÐÝf ¸u,nX„;@ãM÷S™²­kúÎ1;Ï.v^‘W†/K½ À6kX)BÏi×ë^ú¬º‚Êï©&Û»ýjŽrÿ|ï2¾+ßÕ—!È åWu^c–j^\€%¼ªÙxæe(‚ƒŠÞ"â×Áý­n…ý¦<s~¡Óp¹LËa¨8“.Ë}›âá^×d»íßE,. ûö5¬Ý®‹óè+Š 9¯&+ŒúÚëx¢ÀiZ³â^J6DV̓O ¨%þLÖ«˜›a¹µæP›‡¹O§`b˜¦µñL…Úe8YWìt³RæŒ ™-q>Usw¤ˆä*Ãy´r&sçhç_&µT«14dúŒßÊ>òaÀŠØ»ÆøÒz°rs×Çæ6ÚÑ×$meÕsá½TZËMnp †«I‹Ñ™Aë¢Oí×T³¸ÍÑ/¬í™,ÞÄú\^ÆFðl}눹¢º¾1¯Õ‡ê__ùamµ©ùÌåc#›Û®f{ íjùœK!µÓ—â=7UÝ5ü°žÙ¥zƒÛ Û¶J­×mîûŒZ6¡^Ò½';go1Ÿôž·ª‘Cl|goÖÂâv 'ºb-/¶ þ&øì0—é-îká•løÆnÝn"ŽÜÓöw¼†}ðœ%×Ù! bÉ•l!¼•_m+Ãoª‡Ó|°’tÊU¾ç;?UZ“¹u€.rÖàù<²则wÛ»ézQ¶M­šä~»y}jûJò¿•2~–úF «ÏGÿ<Òh´Ÿš,w»ß½„(ÆûÞù¾ò-Ï:|¨"¸n^*§s¦6iÖÛÜw³ï|.log”õ¬ðð9^Œù[:Ì0ßyÏçóó¡GûøPþbR5² ϘÇM×óÔÓšìLœ¸¦CcîÑŸo=ÜŸþùÊ#|«×ýðï®wâ?…>«*³Zúššõê¿þ¯ô$µØ§‘ñ¦t¼í óû®/–\õ9ï³ß:¼ò;àäç,r©¿{‡^€åOÿö¹ùk&Òêù©úå¯|Úš>ð ouX¾>‹ž,Cý¢¯ÿ ­û< õ"ÂòèŽ9øoÃëÿÚ+÷ì¦ðÌaÉK”îÛf®5R0ö>-ü°-9(p½ÏúÐï¥HÐïTg™Ôh6@I&§k¢x„ή^/ßloãN8Kð€ðò\®2”J— ˆE°M„H)ž½Fn åa 颰¶º0ÎNâê©ì¶ aÈ—gØÆpÑ0ÙBæ( íK Ýéí“êPøàÐ\þŽl§ í ý0ܺ®X0§jÎ eO ‘éâË„g ñP %ñ†îegpÚF-ÍJyHÌD.‰ú(‰WpKѬ\ót dȬ#Püœû\1ß4$ì”Ñ1˜ðu±Rây^§£ óoë²0þˆ±ÃvôP0ñ-¦ŽO0Lîе²‰íH¯IpjVª ïÇ 1¡ñ¶Îñå~¯tïY&o0#¬¥ã­ñÄq¯Ðš*ˆÑ1Õñ7ZêN ¨Eë¨N˜$¿"㢧 ŸNIÑðçÁè| ÿú`î¢ì"Ò u®ñãqòæSÜT4}½2Ð<½ÈbåÙÎ=—åQ(“@ ¯5+óC{SŠP“4’ó„ÎA³?£3(0ô™`Q8 £´Ñ?Õi8‹’F«r=;´ßjðzÂÑ:G-üò$gÈH’§ºíÙÅ=ip-0G£Olèe¤´îŒ *k†Cy>'j3’^ÆjUT]ÉMt°ÂÝN5_õUa¸5^½õ­5£0n)þåDí´ÙŒó,!U)}4çtGiGDZ£UMåTX›L•¸¼scíÁö°I ƾ$²úH#Õ(}¶aª.ø>UpÉU-Qûðµf+F¯j9ñ#EÌQgögyéÈ3gõ„fEöh‘¶_wÔ\S2eÝU9ÃîkÛ/`5)Ûõ‰ø•·v8[5¿f5lkŒ¢¼Nc·tFujó6O ¶mçôm7n§‘8ëÖLi•#U.éNCC!-pûëgD±l%à0ŸF6kwm§K{8çmI§–%¶÷B/µª1OWkEcø>·)wöÇ`ëÕ7u)ÕI×v]A³þi·c+µ?5«VïÓqo+j:Ç%ÛTw7wg÷3DxAkÁzÞÊmiuvËwz…ôyMVy£—zÕÖzi—O“’`HäË’Öø¾Ò~ÖwÅw| 8CåÉè·9Q4€›~I‹`Iiå5`K‹ WmAy'<)eŠÞ*b ÷ Ø€G¸ígÇ®O7bƒŽ­vT‚ƒë{ÃÕ‚ª\›¯eupŒX–)GãwI؇™µôòÆr¡Wiqo³­}åå„|s~ 07Iµå-‡ïöf‹ë«z2Õa (Ýž8ŠAxoÁo@å6^¼×#ã×1Þõ~{Ðy¤–!³˜Ž‰Œ>xþ'aÛÉHV_!WÖ MðŠ?Z3W*§x‡‰¶Žù¹K¥¨h"ÙV€ñÖX™Q‰+üWé³Ý^-r…בOù˜ +±ô˜aøxt¾q…ÛÇcÓwgÓ†™",óT ‘KæÆDŽí•ƒùs5wQÖwi©©X”Ý‘nçv³¤ØKö£ä—ÇX˜¯™G‰¹˜ñÉõÐWo1“Œ™S1J’u9š™”Ïy™±™§S›ƒ.6ÕÕ›a÷CaÓ­(׿q™á8a<8û¶!Öjš,yÙ5.aÖ6·ô@[8ष4/®ÍyWµˆ¨Všíx ƒ1W š‡‘þêhñ(]3aSÆí*UG¢¡9#ùy†]Ùš×k(„ˆ=šsò‹WÏíJêê¿å™ÙŠÔÔ¥M™›j´qw¹œ&YFP§?Å”¹RBZ«Ù·w©ßœû%iú?'UY7¢úCf²Ih8ª#媙8 C9¬TzéYž)©×ø`"6©ÔÙN.s­)íŸùZѾºg‡vOOØ®ãz”§ùjµÓ¬ÏúvW$ž»1"ûÙ–7Ô}M2háš±‹ JË`3š¦/øfðG­Ó²ÂxѪY3v«Ùzµ7’Eq¾üš°¾ù‘“FŒyöƒVXV1»µÅ£¡ï:»zþšs/©gúu;;~yÛ¦o4µ°÷µ [Òï¢_±¸KÌM+ZØÄ[Úš&³wšy¯W´%ä·ÿÎrwɈ«¦Ví9cTF¿»bŽûc¼ ·YT£WûÜœ¸åk g0·B ¿_í¦5[WûÛ¿í¯¼\Ìl&b©²Û0£ Oå*KûRÃü²Kû~ë¹_¾CŽÃ.œè0Ä õ“ª÷Œ!2fÞWÄáÅŸ(ÀCûY“ùU ˺¡ºÅQïÅ u,dœÂäÍŠüÆ£ ,m¶ÉT$œ½ ûöÀx–­É¡\“ÓÛüŠà ›`˜D•»§|¼9¤½U}Ýûc¶ÜW9ÉÓþÕFÖXÌN¿! þ&ô¬™|pøÜ¯WÎ'ûe[ÎïÜGò\Ï——g(Ûϧ‡µ÷ÛhKpο|ÈßL¸+×…Êû¼^­Æ–ÛxŸr¡ÓÔ™[·¸9™ô÷º Ó3ĹЫÛF(HCÔé»ùdyHM>?ûÉ£1•4]r_=ër<|@ëW{jƒgmS¸É÷†ÅÙ;} M´“C‹Á‘HÚ)rÊ{[Ö\~køy¹‚xì.–Ú«ñÀÝF?“lݽ¦àݪ½ñÈÕžAîÎÄý)&^%ŸL½†¶þÑIÅä_¬î(8O~P+úÐ{^Õvå?<äcúÀ6­ƒ•cñY¬ÿbde—å÷s_¢Ûe^èÇØ8ª;P~Ãñ—ØøçOqèŸ^ƒÈ½zÄÊo|99̯\K"è¡Þë+ÑSŒþÒãsç{7ëgüê7ÛÕ¿ží=SßÁCŽFê 6‘'vâÞì{¾í÷¾=i~B~Ê\Þ~W§3Øêžï?kžNðþè»^Ú†#\òEKñ/ß4ý©©iµ°^¾ƒ•®}Cî1ßôÓ€Ð{äÂÿPûbõ©ÇÌ=\n`?¾OßödÚD¢jŸKßo]³Ô/UÓy]íoßþøÇ«ñ˜÷³×ÿººílÜÍÕ}µ›ÿø¯Ÿ:çd‹«ŠJØý‘Þ ^ª)¡µM¸ŸüSü±Ÿý7¾æ÷÷å…ÏØe’<ð˜iܺ­£–æ¿ýûÿ¦.·?ŒrÒj/Îz[ãÍò›8†—ª]Ùº^T®S{Â̈sU+;hñŠÆ#2©\2›Î'4*R«Ö+6«ÝrÄ.Øñ “5¨Æ“FË«Ü'6éʳn¼ÎÛŸxÛO a¡á!b¢â"c£ã#d$˜ äP%f&—ÜÐ_`Þ§¦èèÜé)jªê*k«ë«$%,ÅÈåì-®mi_› /n0Ö‹p±ñ1þr²ò23lsà3ôt¡n)ß\05÷Åšgw¸ø8y¹ùy :8:»˜‘uvôÑvû¸éº½þ}=©tO¿2ÿX¼ ¸ï ƒÐò!T÷Ž!(yñ6L¶ÎTŌʊâ(Áã$ŠÒ@Î#©ñdŠÍ ¢ì¦’ËP‚xÙrV¾˜7w¢ÂØÓ¦/F>‡”T1”'Òð¶Åy4)³¦%Ÿ†¸ ê2šT±rEO “Ä^[DU«Q©U»êK㉩8l…©õE’ÎÑ­sU}•»÷¯·/²ôÄÓjpabW+ÞÅ´®^˜€Éá#l8œßÉ®êò¹ûk$gÍŽ fmZf>m»8 Œ5þ'*°s\-ª&4êÓY)¹-7²îT¸µe :øæ¼¥‘^-ˆ,qè£9/vVy é¶™óy#1?íÜ# ŸYøÔñ|ŸžW¿±=„­Úá7OŠNöjtÌ;˜èy (ߘÒl±)¥Ÿx Þò]„ÅY…faXž±4‡¹I(€!vwàˆf!'÷¥ØIƒ&}e^†/®Bau<˜‰†Ø×#]wÛ9ÚF‰'¹x¤@+âö Lù!ŠRÞh\×Eé Fú3tUîhe&à,¹’˜d"餚QQée›cá˜%˜p±¥xÆRgXMØg•éIþWš€zãŒv j¨o.ʨ½šÚ…ö‰¤¥ByØÔ¤ñý ©%Xf:a§ Þ‰hi‰šº„£®šÅK¾Ù¨«r#§ŸÒXë«,¨ZÑ™½úÁ¦°°$l±Õ”J”§º¦Å«§·*³4&é²áA{--Är{e«ß²ê?À zj¶3lªZµa±Û^dH[zâv¬¶J¢º/¿ûÞé­†ý [¥ÜX`ü&\nºö&”mv=øV§ßû˜-ø>K1Ãýa /a;¼…ƶëÔÁ)«üo¿v©2ÌÇÆsž ûÊðÉ#C¯ÅÌÂdœ 4q49/\4¼"%#oõ”þ¬óÍéhôt13[íï;+r5ÍÍr=p"¤Q 5~Bëè5@¢z96‘"ïjtÔo—'–¹M;m6ÙDo,Þyw µß{‚ÖwàS~êhÚèñLxžcö¶»Š—J·J‰ÍxáÑ!†ä™Ç¸çõ)wèêš}9H¢‡®Ò6{ܬy«ÿŒµ¯±ÛîŒM©#†ó¶#Ó{¶¾¤—ŽèÇ=zïÆÇÍ`Òñ*hxåýæ¶TM|‘/9·ÞÊ“ÛZK{?Sña¸V¿p”­N ƒžâgÀ;öˆ €'Ó‰ó¨¾ßs~¾÷8ä²éÉn}« A5ÄÑ¢&ñ Óÿ9ÐOÑ{þ_häWºß…‚Æ ÏØ@óñƒ#\žWÂÕÀ Ê„¯»Fò÷ÀÚýŒ„'TÓoèò™!:¬Yg~ø²ÃÕIHÓ ½Ã¶Ë3L´¡mÄÁ(^lr{£¢þv…ÅM<-&rÉám&¨%¬‰­{â·èߨq1Œ¹6Ú˜60Ê‘yòb~0籌;SZ÷·Ä:Ò=ëaY Y01rZZW i«z,’|œÊ“ö¨ÈMê Jƒ¬T™$ÉIc8Ò ª“ˆÀãå̈Ìdµè8ÊYbJ“õ¡$¶dYÅTÒÒ"]ÄÕ#ÿ(Ê+MS­|ß?2; N±—Έþƒ¨—)êÒŽ˜àå3«öKWä|¶”L"·f4#ÎÑi³Ûв©Î!Fs!š”.\…Í­*ÕìžÛ0Y³Öý[«´!™L¢-{q¬'BÍGÁi~³Qkùø ÉOF.¡<)å@õ¹PÝÑC¯i( ÎrÚ£è ƒ˜CQ‹²nsI´$Ú °È¤‚¬ç0"4¿Ìj~.;ÃJo7ˆJJ¡ˆmç?ÿhM–62@ ê½`7Sü  ól™M¿•ÓSÜ3Ÿ5”êQ_¹Õ„“•esÜÍÀèB;]•©¦J.§q·ZئVY #Bï:Š®‚/õidôj¡bú±¨Ý¬ž,þMÈÖ¶ºR“kHú:òY²€M¨`C¹SʵðKÁ™x $Æ6ÖPÁÊì&@©L»¢6¤€:¤Qä[¯h³abTáØ–¤¹ÏÉžeK{¤Óæ–d’,kƒëÚ6Í&-ïl®AIµÙ\᯸>ý,oCÛ£•¬µÂ}Ѳ”kܸ’W˜šMV3ØZ—u£Elu={Ái×·ô@ª»ÚûÝ=V@Ç%(pï»;ãË÷z¢_þ.Oö¾„¾©è¯IúâožúRʹϭ½Ó^X{&>e==ç?ð —>òù­ÑêróK‰3žßôãj˜¶ùY›—UU¶‘‹ÔžŽÁ“ú½Ó=Pý\Àõ­X]èiJì¡[šZÐu™ ¢! š™†ÛôéŸAà+ÉZ)= Æ  Î  î¹õ^þ'‘ óõÊ%ˆ e%ÉD…ŒaÖÞò-!¾Õ{ñÙ[…Q V¡^!ÊàÏ¡ßaà€páþaDQÊgHÖ!ü|à*!ØYX–_-II!ôPaæ¡î!‚ v yádlŸ?-à©‘`ý,¨Ä†BTrq Ð0Ôp9¢ãeßé­Ÿ_i–~aÎ^ bQÚßûy`– ®Êž•”ÆYÇî¬Eê b.HÊšÛ-JÝl"Ãq¢\áÝ÷Ý_ô…âèáb÷9ÙÖB+êâëÁ2n@uÈ "è!£ßyâQ%Ââ"½ÜÏ)ú¢4îÖe0ÑaLqx#& ã7’Úc â‚YãHß #ÉüN#ZF:Š‹.’Ý"4â=NÇæÌš<ž†£; ß@XA>[þ4þ£c¡= ?ö£9:äÝÁÜA^–;`Ä•¢Ð%¤E®^{HÞõÐa"B_ÄùcHŠ)fdIRE¢Á)ÞÝJÖä½¥X–Ó@Ñ"H®¢Mú]§#ö)RLŽ ÞåO¢]5][K¡OR$R&eXQâIjä&õ$ÿ%VJåwÍZÙ‰#¹`TreÊݳŒV¡ᘥ[~$Ä™dÆÞ ÑP0n%¡¬œ¦<Ù0.da#«y!ص¥ð½¥aŽÛ°,Õ]&©è¥†ðåaª±Œ ö@]n >D¦f~%”1Yâ%Ï¥¥1 Ífb[¸Í XŽg& ¼1fi¥³Ü66$µ)þÔhòÈkbÙhYjNÒeQešbnfX‡É¤;¸`uÚår¹$h((šHÐdè+ò =˜èˆ•~jgvéã%›„R(ɨ‹*¢GjhRI‡²Š‡öXˆ.hÚe"væ&Þ]¢¢(r²âjV(ºçõÉhM懺æÛ€hŽšÌ:>è\© ú‡(²§‘n)’ƨ’þþ$T9iÎ E)‡‰[vzŸ•–féj)Jº$~)‚ãV6’™4\š®iê­çnàäK:GÖ©¡þ‚Þ[ž^š´œèsF›Ve€ †•EbÍ]™\ÎåL*§žé2ØœZЙúæ£Âé¢&©“P“ôÍ¢–AhF½ãØuª¬J©˜2ꩊj‹zéìö¤,ë j´6*¥OÚ,ÔÞ,Bo¨¨Îß_¢JÜ, 2Õi¬ŒìwòTÏáþ™ŸêlÔ¦­&‚!Ù"Ïö¬a7¬×®†>‘0¾¬«+ºÅ%»j*Úª­àÊ ÁÎ'¬ŠZþ¬ K¾'d­JÌ#ÊLçý­um8~làîànîâMà^+Ñ2.ÂZKŒ­áº:nPÊßÂ*ÚäFë…*&àfþ.çή²<«·j.ÅiO¹²¤ÑižíÅîm2í>ªé«Ò.òÒ Îªã¿®Z⪮¿õ.ê-Œ‚. m°¦I¼b®ëVlò~¯B¶ƒÖ†®èö(å*ïí§€%àèúÐbQìðjoÓ˜Ò‚¯ýîêòº—W‚ìóVïÈ¥ïknã±D€Z¦×Áoìr 3¾i߯;cþbÝÕvé»roíJdo¨ÝÐÛ¦Òè"°ì¯NÒ¬Syî¯ “å–òý–­:ð!"R¦°×oß6ãùFê ïpËÞÛ5°€úb@eðÛõœn ç° Ï–ø¯÷ò0'­S›o ë0œÁðþ§¥YÌBQ I.Êo—1wQ±)^1SÝýñ>Ubü©ÎÙ¦W±=r±ï±:^Ôñu°¾n¢™j1Æ1¶Ãe\nåzp€+¦ò1$¦ç¤2 ò·.#èâvK¡"­¹F²(¿.”æj ;/ƒb2ø&q¹Ùñ2,—­iÀ ‹/3+·r5p,÷ò©Ú®ÅiàçrâæDù22£e÷âÐ-?Ä c/)ýž&35Ï«®ÆIáæl&ò‰ðÚéV³/ÇJ6ç¥0ó#CŠ38'3U’!™>ó9£3תó:³3ɾÞ;›37ûR-Óm=ƒóöêÆ8®þW0?ßq®ý³B_3»ñ6qÝm²,4E3t>óùšCCW4GwÐEct+ÛŠv4I¯Ï@gñô¸lI·´K¿tð*,LÏ4M×ô9æ­Mç´Nïô+ÒOÿ4PµP5QµQ5R'µR/5S7µS?5TG5LŸ´TWµU—–L_µVoõ€#0s5X‡5K±±X—µY³YŸµZ¯5V5[¿5\ÿPZÇ5]×õUºµ]çµ^÷^ïµ_ÿ5CS5`6aKÉ\6b'¶ñ ¶b7¶cd_?¶dO¶@G6e_6f'§eg6gw6o´gÏèa‡v–m6i&NŸ¶Hš¶jsþ¥"·öj36lÿã5Îvñ¶m?,îævŽá6owõ'ÿv†ù¶Íª´QG¨Æ÷wr§nb³¶E¥öK3wÀbdso~íd ìkÏ4uŸëG‘ t®v·Ôþ.w[jNO hG7 Ê ¸Øg{o]þe}wïvE“Öx·upïh|Ÿ•FsSÌ’èÃl¬_Ò4Ïw^1pJ>š*wÛ}ñ9rQr;ø~“lõ”ê¸Ð˜F[ìˆøon—¦r4Ô"·‡ë”Þ1¸'+plM¸Íî‰kfVÓ$ÛÞ¸³V±B8À½xˆÓ¸ Ë!¬Ð¶iv„½ªç+Û2£¢$*“l1Y‹ x}þjPŠN:Š—‡nxlOíuz¹k VK!Á³bÁ8BZJ–³t¯ÑÎ{8¥-7—÷êj÷9«9þž%³¯¤¢jÔMëM(z7DŠt3UÜ_´îFç^ ëî‹gÖ)"¥þ"%{饳¬Ó±~Ú]:™qqÎ"§à j²˜z‰Cz—p‡D¬#iGiã86r­[m§?©)£§B«Êì–X ¯:~ǯ£Ë9mE–„qECÃz×îÒoj®«Ë•“ŒV{’V¶'hJ˜¨Û)›cÔAµisXïª7¸\[8;¡p­°SŒ+qMP&vÅû\ÖûH7r_« wšþ£˜»Ã²Ã¡“{ ü^ü[‰s5ɵ{ä½û"k¹¬OKõ†P)Ktç„©V1ÿíêcÎqµú­¶Šûiפõþy,þ@ÄÛ“ÄÓ·Æãï¼_sºè¹¼R|—.ZÇŸ2ªWÑñl±‹]ÉÛ2©ãá«3·ý§ßyŽÃ½Ð¼»Û=Í$†`øq½ÙWj<Ó,ïÖ® ŽŽcžCÁk%¯Š7·þ§,£ýsùô—a¯÷z%‹`—ô±§ßô@ñrôÅC½éÞÇG½ÙÖáJñþ —)]UÕ`¦äËûÿëÌR8e`ùØðYê¹1Á¹ç[îXÊ ÿõª ‹<ÐÕÊ;üš‹ÿ¶~âé>´7ÅûÊ1—L!Iv÷ÂÊÿüìÚí¾Ï@|L]n_ߤFðpF[c‹‘B²4O4Ù¸”\[jaº¶oüôr^• (´3 FѬÃê5˜µÝìå .§Š*ì—T6!¹(ëêë‚^Þ½"+Ù»?–ÊuœÜu[Õg9ª><=ƒ?,ØÁÃ@­;GAÅÃ>:¿¹ÉHMLËþ™µÎMÑÑÍPÒÓDȉJF³»V´Ì"?X×21F[—#]UÐ=‰ÚWß_TãRc.ÃeTKçSYÎT=èÝÈk¶é6ÈècSQS¸Ýðdt‹±Ùîo²eótùùUlúl{2®ýjñàÁPcr©Ê·ªAwyþãÓ*=n÷R¤Ä*¡¦u·"ŽÚhÇ.‡c‘YäFƇÏJ‚‚µ.ÜÊ%efQ-"Í/~”ٓcJŸž€Þr™РI‡âW¬Ï¢/ªSZµ£Æ§ N•cµjÐYW½ú«Ò+ °QûEWväI«`+^ÝöëÓ¥t}ÈmO«=œ‰tÇ×0F¨‡þu픥¥ÞEg iìšTÈ’²fÎ+ù.ÕÊLvr­ëù³â¨b’D'1 Ó[Â*ª2šsžÕ·cà6*w(K»$eýÞ‹ZÜCÚÎc±¢“mãÑ‘ê–9ác­©œÔ3¿àKñîŽÄ¶ñí|—ú"Ëž,RÍxŸƒs‹ÎK4CV˶Ãf­„YÅ<© ÂL…µÂT±NÛÙh{õÛ&)Zv¡˜æj¤Ý^G=–“õÖÄ7,[nÞ>÷å÷Ê›¬ÅÜY7óZç¤õ•Ú‚ÆpÇêȽ§Q>«˜ExÝpE”x%œ­‡‰WÞ[½˜þ”[ÎweDý­µÓ$ž£Z!§—9Žn¤çLu5¸P˜1v™b››šaœ5KNf‹“níã/MjÊ»ÌçG\N‡ê6¼Ûá°s ?íübH…öÙGU Š@³®#·ú&ÂÐsXfŽh´µ8šÛ×¼´«\Ûj¿å>›ñi\ºjÈ“¸§'welú°ŒsÐã.ÛVî°ôöÀµ_2ºá“#g[z³ÛŒýäQpÖó¤{1Ý&ýæ–‘ÓOöÏk‡»Ü™Ý{è^&2Ý÷æ\l;ŠºšXÍ›ý'Ï‹Û~l¨½¾øß!,ÆÒ©¦é[mö×+ŸYvj}þö¥¹ñùµ¿¶Á}ƒcÄÛßæüǵ¬=J‹_ Ñ;ÎmvÅ¢ÞèÊG¶ïñ/ƒéúÉÁW’;A°æCÝVô Õ=„/3Ù $¨ÀJð]/üßø€§Â§IÂy Цº—Œ|¬+„ä«ÕÓt#`hªu<¢ Gè.e÷C aEíŠX ]ú#Bã¥-HN¡Ù´8ERÑgµ‰ž‘.øº6ÍЉa¤\Á¸0ÊÔpŽ2Ä]ðJ8¥/¾Q GRáÁ©Í¤F/Ü£‚¢(EªXïz\´ %•vFdXò_ás æˆ(FeÀ"Fä•är“5h!)y‚‚*ïˆÉÅþ°Œ„3d5©Cë†tÔ) ©Ç ÐÄ6œ”%QH³GVð o³Ü-ûæÌq š¹*e¾j¹Ëm…ò˜¼$š2S›©Œ²H„Á&‰þ¢#`JC Õ3÷hÀ7NŠ™ó0S¿_ýR|7g(“RW–+?œNÅ€å„ÁtÄ›ü‚¥&ê8y*).‘‘_ÿê¶Ý ` Éò8Ac6RRK GyPü|¥‡n|gDXºjv£¢+Â'LQºÅxfÓœð¨_; FqÆ”ŸåÝ!*T{¹ô“JEÙ§jÂԶО&¥Arê5‚‘ÁXªYššÐ²² Í${µÕ*rþõª—‘?gV‘ŽªÜ&­E¸†’u®ú¤ÑS÷:¸kš‘ªUÍä-³ê©bæo›_ãJ9´‘N>æˆH¥>€*¤©Éõ\^äiÞF8οÂs|ÖØÈþ*Y.^T¥¡MYo@´OõÇ™@äk3&X¶r–]Õkc˜¤ò1ºÁc²ˆ[Ô¬g·ž˜»×ú–™¸ -j±hÖÞ”µý"!^h]µŽ’=£Þo;P⊢édÁ‹±¶® »"%„q§ÛØê4?¡.JM5ƒº=bí{·çQò x»–jE«(¸Ž÷bµ-©wf`™ª—Àåóo›îðþ¸ÿƒÑt/‰^ë÷e—§0ÌÝäÈ‘®k5ªK_¼`ËœÅmÓߢÈÔ>–;NGXœn¬•=¾±? )âÌö¸®´jeG›-²s>a€évi*à‡ºT Õ‡s|æ_AkfÆÍI‰ŠÕá ™Wšóñ¨YÂ{ÕŒÆ5qeÓ¥f¼I©¡Ú姆Ŝ]ÑÕùX‹³ðžC Õ&—Í“þÑ’ÿ¶IR*Ó€”s‘!ʹ:9Ö¸˜&ÕjéOW´ÑÑlLDÍRSº¥®)dŸ¬Ô&ËZ× S´©þÄIà.+¯½Î/k¶ÖgíÔ¹Þà°Ž­Æ]ÓúÁ¿=›[míhg{ÑþØîK©ƒë‘&IXÓ,”³¯}âºhÛ´;$ô•Õ=kÝÚÑÐ4÷»í-QníÞX«÷ló­(t³äÞ¥=ÎÀUÍͱßç6xÃçJl‡xá–„x¥É¥ÌŠG\ÞêfÅÜÌø`¼æxâ'¹NKÎñ‘ùßX¶²VnðŒ[±”ZCô~GVfœ¿Y¼dÍyÏ}þs ×Kã)?9€‹NpHÛ¬‚Do8Óym®TO;ÉŒ :ΧþÍ1Ųê[çz×­~t°‡]ìô–šÓÇ~v§v-·^Íz£æ$­³]îs§;°Ñ~w¼çýæ…É¢Þý¾è M:æ'|á øyI ¡ÃE|ã“{›Á*òŽþ§|å-yuòðÒŒÇ|çõ­vÁ¿Üó£'}éMÁJ,^y§g}_§k³·^ö³§ýØñõU×^÷¨:{ìwÿ{à?ô‰´©Ý…|äûùËg~ó¯+ÛâßùÓg½ò©}ìgßó©ö½_{ë_üã'¿ÊD_~ôŸ<üégûÝߥ÷Çÿøë—ýíÿyâ_ÿ%ow$÷ÿ @e ?,@“ûÊò?tšl@¬±ŒÀ Š)ar¶ó«¾$?„“z¢“íà´œ/ Áéù‹@Ñ ü6÷ÛÀ¢™WQÀƒË0A¬A,s.l0>¤ú¾å¸@%üBzy€y '„¶Ãó¯U(ÉH¼Í0Ìk; Û9#=ï£)0¼Ãíë)uA‘24Ë/"ʺmË32@8l© B-Ô¾B<|ÄÞ²;bòBðsÄ ã°Ì Aú°£B;ž®‚Á=¿îƒDR¤ = §Fi¶þ¾“¾¤B:ÄÁ´0,6·“C›k3.Ô¹RÜEä±,žïÅl³ÄsA8((“ÅdÂf²Ek ^ŒFiT" bd·´¢´k̯ü³Âs'½z½¬Eg¼:¸˜FtLÇ2a ˜Ð!þ#mÛFf|)!ôÃb,‡â©¯ /uìÇtœ"¨F`5ÌŠGJ´8_4¨Î &óÉÇ!9F;ñG‰”Æ× ÈßXÅD\B ÒÆƒDHvœEdÃÇ›£¸ ©GV›H”¼Ã]ž«Ù*ü&æ93y¼B)ÛLxI[ƒ/’Ô&CË‘ŽLI =Ì`²r‘Á.ŠI‘kÅòŠœœ5”°gtBàJª”@GbÉ\2Ê:4™„¹3’BF©°»r”6¯ºªóéIr›”ªlË ÁÚC¹$È’µŸDÈóÒÅ—hD!SÁM¼—l|;„År”¤9Ô—™tKÅ$9F6Ǽ˱ÌÉ4sEsœ¤ZR=Žþ„a¤ÇÈ¡ÌT§fôL—#JÂŒÁÒ\)¤\LÕD?¦¤T"CºD’ÌY÷*+}AÀJA¿²Ë¥CLî«ÍlÊŒŒŒÄº.«–u¼ExÎÕlμóâc!©Ì¥{<‹ÄÂCüH¬P˜ªÀ~·ƒ$è¼EaøM„Í`)O¢CCÎDAp|E1ÄJçœOFôͼOdÜ0íìÅ TCÚtÊà,È[!2ðô²ÞÌî;&eS¸EAOXË…–º s.\TÄ“OúÌÐú´Oü”LÃäJ³D"iˆ"ü­Ž2"¤DÃÍ”É=AË‘¤; }”) •×¼8…³ED íÑà&øäÑþ•7ÌÀŽ3Ñál9D$'õOß\.a(—³ÏƒôÍQåÔ:ÝÒæc“›#ˆT# LÀWØ<ÌćœñDbÌýRv%¥cNÄLRó£S:ÔOE.ÝSàR<5ÍüüÆZc9¡ê.$Ô(ËÓnœ1‡sR¥¨¤aÎ$¥…^DÔ=ÐÊÏ”N>ÝTÝû2»‚ÀÔ‹JA…ÌÚéOº*ICìÐø´Ô¦kQ5%$)õµ8ªpEUµLNÍU Ô’øÄ+Ó2!•1nœ©û£âTËUÅVõÊ¥ì,(•¬óœN÷¡ÉHMP"ÔR]ÍVÓ»^úÔVAõ˜6¼:cÍÔÜKoeÓfÅþÎk ¸mIÍܺ/Q RlÕV{í¼^å&ÍÛMFuFI BÃÒþC ¨Š^TDá`Sa¨][w½_›|áwÄ?sÃûsÖt=šÂúµ4 ë¨e4Þl­ñm¬A#á&»#®UPé`odbØ“Ñ'Æû£Ü­¶KqͧŒÝ Ý´¯¬Ñ+Máê"\4=Ñšƒ_5.:~Õø{ÞB~ÇÛS`%uÊsôb­2¶!ã.#a3N\4ÞÇAV×ä¥_¥D¼EN_~„À;FY!¾ÓRf¸Ó*šJÎÒM:§“á3åbàSb^ìÍ¢Eåf¹ÚJ¦]øMöÅÔXnÔùãc6±P¶aîbÝå4EÎK¥ä>¶äFÆägnÞeîfúÌå’Íæ®bËE\¡½þ­T~¤`ehv9n^1oŽg>gGdFš16ç‘Mç:²æUnÛvvçÓ¬]y.è 5Ôp&æ{&hc´aZ.Üç[ç>‰h÷5hüQFòd;gÙlZ–MhcgSJd•hн6è EŒvO`–9e–Ø{%ÑÂä …†evª˜ŽgT›h™né@D˜Öh›¥P4ÙæYèjju@ƒå‡æÒ¨öeEÖȪ^qæb+†ÇÍÎÝé®È%»a—˜jåhwG òb¦þãrÆi‘Î.7þj°žÞ•\âýlë²Üe…0?¿Lë«­ë\¥ç}~eþDë™W¼(½~`ãÔeªþîûáž²CìoÞWŒJj•6ëX¾J}ROÁ®Ê;O…ìäÛ¤lÈnì$ÖjÅµß ¶l]…Ë ›fÕ†gNmM¦º‡Dm$®íK²ã‚míÍm»ýÝÙ€hßêÇ~Zl|Y‹VhæNîjîh=5äì…mN\¡!nÕ„mifº½,éÍ5IÛ`sÔºKoõ^oöno÷fc òï‹fCZÏäîb¦ï½;ÝžëÉTØ÷p/p?pŸûLòŠRþ¶Õpd7ü~]¶npZî­þOòpßpïp/p•oÎöhý~n1iâõnìk­k¬¦pëÞN›,q·\qI&é7äIþñ†ñ£öïë¦ñÄ–>AqÌ•dÒX‘aˆNŽ-,"ià6ì´¥òeÆ+°&XnÍÞâ,ßæ¿Î³nzœ„ªiÃNµY¨y³™C íñÚF¼\q©N‘8“s¼á¨ïy"ª­ãâ…/Ô±ð¹|>7R*ßd8O&7_mñCJ¹„Â"¬ SÑqFE'tw$ÙEÍÛÞkóŽ.‡Ø–ŒóQ‡îvéËG‡tDîÜÉm¯=׳|Ÿ&ÿó”&éPEÝn\YßïSÿ3%Æñ×^õÁ>RÖvmou²UòÞJ¥š\ò@lÊTUÑ ±*à @,ã_OÕeµõ&öì®vˆáþŒZGi|S7-±'³Ò¸\,Þ’Ør·FýíLåÍUÊߘµ`p_ãâšÙ³ó9_sçòs÷û£þ üø4|¨ÿA±¿û<¼zØJõú»ÕúU–ZêìÐ9¦c2Ça¿fÚ¨GûW¿ë„&yU´|{c}ÆÿÃÜpC„âÏ-nØ¿DN?àxÚ`*â_(UÓoÏLFŸ*R¸ÌÍý3 mWäîÙÚÇ:Û·d×Ï>åèÝï[ãÏë¦Àxåj¨çøÖÈÿé®þ&&îæM>nþœYô¿¾øWéì—]$Рèh- ÿ% ˜h¦ÊÇÉÕ¦½8ëÍ»ÿ`˜Tbižhª®lÊ´p ‘qm¯ÐmÑ`®Ã>MÐÁûȤrÉl:ŸÆ¢dˆ¡_+EÀV#;ðE«›M½.ùÌÝŠþh¸º}†Úïø¼~ÏçÄû2f€ƒ‚ItBˆ€aŒ]o„‘’“”–—GŽ#šrtšZdAc£l¦63œ_¨¯ŸŒ¡^±Š˜|·¸»¼½¾†ÀyªKºa¼ÇkÇÃÍÎ-kÏÒ¸¬¯n4o²¦´¨s×nÆÕ¥¥áÅ#WßàÜX×åÓ‡ñòõö1ÌÉÑ÷7éóü8d˜…à¦6ù\„“–ð’¢e D‰è®]—V§Ñ ¸ªá¦sìHìtΕIt ¡‡ìŽÇ^/W†H9L˜Ì7ªˆ¹’Ï›“~Z² gœL¡ƒªY‘F›£n áud¥Š&ǃV³Ø*ÂTI­à¢jTþ‚4(Dˆ’o ¢éËèÆÊOüüõGLEýÞk_´ÞG³ÏŽ}TéÈÂÌä®5¯>ùXJü¼† 4P†H³Q°\Å20ÙÏ‚ý«Þh@špY‘à\.SÁ wñMÆî×A^ðƒ:¡/ü–-n%B¤;ˆhäó@¹‘k7Ñ“­á¸w '~¶ãŒ£x5%ÊAˆrÁbp¨§Ã.Öc# 0Lí‚äÄq‰ë‰~áṕÄ%’15ftœú¼h:jÐ?AÌ"&xˆ9:Ž R¯ZÅ—8“É1R¼ãìæØ0’Ff”þ ýHÉŽ/ s$!!i(xòCÞÁdÂ4yÅF6±“’¬¤‹Š(2áQzÀk ' AѪƒ,¥”ÎHÅ>®L‘¹´] CbJ–¸pTªLfÅ.¹\’R‹À;æë†·¿àYs˜³Ú%ÎLÃJ?ò‘>l»ß¹JË)³†1\$ØJÙ+Xñ²—j™)–¼kó$R7»yÎ~6‹ꬢoçN}¢1s3 ¦0ïÙÎ| tŸ´¬ä78™©Œ³žfA™?1X¾-ÓŠBt§H^ÉQ?XSбã×$R21ži«lʉ¥Ú¤á4SÀíÇ+ä iNIŠR™†Êޏ:éþã&¦¨E´MT[cº”ÒŒXTIj&FÁ2Õ­FëªW…©QÇú·¨º²«)›U½*V…‚ž„¤ WÁÊÖo‘õ¨ïÛbE‚XB:!‹Ÿ¬_ѼÁ°éÍ•ª¾ÜÞ ‹zH35³z„C,HcèÃ4Vö²˜Í¬f7ËÙÎzö³ ý,¥:šÎ‹(42/HÌxÂGl–ö±†l]Ùy×—=z}fþ¸Ç~®\ãHo[X¨Öxü#QbíPÀ‰¥2Çdæ|¸¾ÐZ÷ºØÍ®v·Ë]ÏŽ–²Í]iqÃU¬d®Ki[™S°Qºµµím-9%·Š®Y2g|íZ¨àšvŒiņdþÛºÎØ-5œ=#îVQKnv÷Áް„'Láçí ¼éLå3“ ¢²³Ó0U9lËýÊW¦ðXà2çK²Š–ϧÁ$1ªè`yÎÓ°qghâKÎÅÉÍñ‚wŒ\ýD·îre9Šʘ§¥:¤J‰jet1fJ¡N%y'w’\Š‚dº!kÚcúB_^ £GÈÜs%sêž,#¨Vz˜øèl>ºh·ù;†*¢z@Tzªef÷ê.-ɲ$[¤yc\÷0j—s{@1ÛC(û©¶¡x©ùkM{#h³­iIG=;´°5KV*‹{23BÝ—è9K»«3ûcPk°R›²áÌJS‹(s»®ïF‹þw_;J¨:üA”x¡g‹¶ësµVDx™ô´ÍÔ¡û*YJšze… ª–úŽu¦eû‹£v¹½Õ2êz˜…ûtýjµ·:¸›=è·X„n)‹Ë¸Íú¹-6…g‰4«5ú_¹“µoS"Pc%œ+KCÛ¸_Ù8‚PsÙC¸¦+9¤Y°ÊçÓ>(k‘¼g®ŽKQ¢Ó¸ãXHÜÛrt8¥ ë!¿÷G-¼²„ˆÄ ,éY¾è{Ë{º°ÚiþúFgG¦9½±°¨:w xÎɪ"×x[»<¼Û5“º¨ìk§-#^ ˆ÷¾Fé´X—(œžj‹ ¡7}ÅNv¤ÂªþD?[»4 ¾A;58™¤ìc_ Â ëæ ÁÛrD“÷‡¬£»z$Mgz¡ŒD\~©ªk¡8 Óƒ¼›zq:Ã'¼®‚ÔÀ´ÙO-»†[ 1œKÜ/‘™RóKPÕR;ì³÷åÃOüÃk­/ÄEœº>•Ä8[ÅcHÁOæÂ1Å ŒÀ¿+ôˆkcxì¼`7T#§¶Î”ÃM¸#áK·$DÆ^™œ&âÆLŒ¨iš”‰+Àõ+»óÉìö½]{^õ »%Ü„x\±ÌV|å½_µVŸÖ´u—4Žì„RjTl¬¼9À_ÜBI– š,ޏä!䢴?µÜɳW'¡L¾É¶‹êþ…Ãìö^§¢®û?އ ·‡µÕ2V¤ ª‘;ªl™ÁìOÙö̸\° d­ö´1WÜŽr™Ì_æ_߬¨äqs;Í¢ éüO:ÇÊ… æ«& ‰µYË}ìEíð³Ý0H©¹öñÏxÇÇÜ«åòmíÜ\Ï‹Dº ¥)˵ª„‹¯ìh¬FÌ‹åXº¯&ôÑ"]¾;‹NðüùÐÅ nƒÅšBIi]ÊØÑÑš‡L‰8\ދӰ¹~‰Ñ™«Ò+=PäÒ¡ oË,¹…fÜqÓÉ”Ÿ@]f{U}¾öÅÊÐìÄãÆÕõ§ÔrìÑy*m£·ÐQ+Õ­£OywO–Õ0¹ÕTA–þrýIbÝÁìü¢_=Á–7¹z ×vk míÖø}K7`›a³Ö{Ëw-‹zØcž¡Öå[PIØ…M|‡Øt“§rÏÚï8•~Çp5íp]}W¢Í€ÓšÚ)©Ø™HÖ›}ĺ:¬•ûÉ–\™œqI…cÌ×Í<Ѐ}'TµDýÚh|Çö–ÜGê Ôi`„{Ú9]3”<.|sZwܲ<Ü^Â!ý‘ÜiÏ»­>7£9]Äh&©Æz(œX9Œr‚‡ÃˆË|ÐCÙ””¨þì‘Ï ´àí(ÌÝÈ)²¸¾íÞb „yÝÖMY¬Û§¬7ÓŒ]ˆû=ÞÁˆä™¿x1R«Mþ®Õ÷zs}ÞŸ‰®ž±à窥{ür¸-$úÝØ»Û-Ô ;~|Ó%r-βî 9¾‡$kˆn–Û7:ßa‹/^à•ã²J,éÖIËm3º.G*uq,<‘„ЄIM5ȾüRçóX²=¾FMéMˆÌ3±iæ~nŽ‘9÷àÞ¹Ÿu¿<Ëpkè¦z‡üqÂr:Ȥ¾uþÈyÞå?X#œÞétG?«CbªY.ÞÀVA¡ÊÄÜþs“á,ŒÕ"ƒ;q¸Ú£½;‡»Œ1¹®ë<Â@,Å­´ÎÊc-Ž(Qy¥C ‹?¾AsÙìfÖ7Ò^Ô‚ÝçÖÞ”;káI4ê•Ýêå³[NÂùÎåκîY3§ÖßüËÃ_ðoagyð _a0`¼I˜9Ý´+¶èžîDNµ›ð ©ËÎíÅÓñ"ßñ>ò&Ï] Ÿ™ÆÖæìi7?ÌO_ þZ{òg”I>]8ßóVò>ôÅ­˜€ÁÌà8{»Î¼¿ª.P¨¼ýî¾ éïî­EïKGOõZ³cK¿ÔJºl÷Ö6ÍvÓ>Æl¥ôoFïßhïU/ÑWï/þ"®Î‘-ç©>'ª[ê»g×Tñ@ÏLÒ½Å<ȋ©ömßEÂFÙGâÜç{+z Q^Ñ‘¤êÙÌî£U ǧruCÞÐ}ðЩõ‡¿Lo?‘Unø:ßl4,Îx8Á˜ìèÕo˜áïÇ#{JLÆxŒú£oG¥O1É!÷5¬ÄñЫfÁ±sèx=)µö\‘ü,¿ü¨Äû2ìû¿Ï³ÁÏ(ßþøY çM,ݽ՜,Ï_ª.ýƒîDðŠýÊ.úÙtÛH«?ʘ-¤á/þqê]LÈÔ°ýƒ‚3²¶,MÙa]%$„Ê79rýàXžéÚ¾ñ\ßùÞþÿ_?áX4‘Iå’Ùt>¡µÖ3•:¬5Úõ~³Uñ¸*õhÎ`õ•ûH›Pm¬KË9µæ¶ ‰Þ¾pß&òäö@*ÂêÜ ³Ö!#o%+-/13579‘üô'Åþ(;MÉRÉÌòúN¿JS> 7à Kðpcgkw}÷BéD[I#€“ex_Ÿ¡£œ¥«­¯±³µ¡|ÙŽqn·Å·ËоÇyΕaÎ…‡u×E›UÕ]Ù·Ìß¿ã™cìÙªWÜ@ƒ&T¸]”Q>¨5”8‘bE‹¨†”»¸‘#)JÃ:Œ¥q_"[sÁ‹xïBz}fÝÙ‡X€È@-$ICgþOŸ?v ™¢A*B‡&å’R¥OYýŒêjÕL;åY5'ò&‹e'‹NÁê5ÇHc¼l2õøµ¨@˜øDš :—n]µJÇÔ|[–ªV¿éò6ìú—0ÌžS 'î4v­â0ùÐ2–åVoVPù(ǵŒÒÝY±*#÷u<ºK »’[Š&½ºØªqwYÇ‘¶lÛžN¶Zª6 ?ê@_ɲWI6pS~Nx·á·¡IƒºõðçÑê}j;öª÷zo„zw¨¼Ã^ž¶Ÿîâp’;ÿúÓúùìå׿duN¯Û¯ªûÄ©<Íš²KÁ¥£Í=TŒ°< %,(ÄŒ‹M¹ôþ6¼…+ÌSd« l ²ßÖ KE®lQºþô85lK ä)ÄM(ìQªŒ #ŒÈ¹,üÑ›r|ŠIúâ[q3¢Ž‚/Ê—¦DNËê¤| KÁ<*ÿ3#ÌmÌF!9{íÈ7 jP2#Ó.#í<ŒG{èÜm‘Ú&ôlËÉ(è½+KäòDÍrº™ÎŒ4'YVê“MIñº#*hS0D$ÔOoS«ÏŸ\4ƒ”ÀrTCwá*?bð¼ Ö4ÿY‡QRyëTJuô+°^qºfO½!V“Q«cVÙÑLE6SDcÎŽõJµÔÛîÓ¬ÍõVWqÄìYþeÛÙñ¡D“2 ]g×XUÓVÏ•Þ_ëµ-Úy7ê0% ú#D¥=¤Ì’8ÌLQZØ"”\š’Ë·×t›\×\'[Ùq<~Õ¸Þq%Þeý8ä= 6¹"³\ûÕ.Î2Xß°ŠsDÎB±˜Ó)™Tå“ ƒ±b:9~†¹‚KýÙ!“@º5 u¸—ä› †z壋¾È™ÜVzä¥d˜Ö޽¶º_ŠV—貯ú3kÇÞ{Ny¢'Ôag3›9§Ä½)Í;§íf0°ù#\LÀ——,ßDñÖðKøTœ´¸ž›nvéü¿·•oË.&t‰Žéû¼ÉIïtrÓþêÓYÃOÞ¡Ýk].·1Vöf¿Þ<5·]¡=Ú‹ÀwoБ/0Ý9‚^x{ïýi²§1ûJ>¼Ýºî¤_¶rëwóByÃRáÒÈs9´y¾lžgì÷oÄ»q¶Ã§ ñ¦Ég‘~QÕ5ã…ÈRý³ÄøHµ½ëAä K–…æ÷¹ÿå$~zèÜ­¡3ñ/|Ûn8£ °mžñXDNÕALôŒ„íÒZd<ÃéU ƒñ2ÆbZÂrÂr áežÀ16B…êJÈ»!%…?´a{²—>×E [nXžšX&CâumvÑS]ô.X' îî|;ü `‡Ã3¢Q‚64[·üÄ(þmˆ™òa}|––9hx¢‚"·®ˆE<öwa\ ǘ—Ýlj&’Æ͘¸ÑÁNA”ZÚ ôÆ ÅQŽ0£Ö—J0£iä&Õ)ƒD"T®’RöÃF)Ÿ“#¢($ª¨]³¸åÊíA{Œ$dF‡Ää°heLž0³¯8~Ò‘ÌTßæŒ *)"Œ!^²R0×—­7TPr›+²AèyE|¤v6Í_,Å—ÃDæ/ͤb¶S’4g ;©°p˜¸z…+#8@Z2eª´&7»¹Ï.I¡Í\a"Ñ-aQ-—¢c'=©øNxòÓOk Fk§Q)qW'‚UC) €þ+¥4tA ÊJ~Y1²O?É ~R°(AA𤕍÷“'IKêÍx²ÑXé:Z(v˜o|ù$Á4HÉÔr 1@¹«*NÇÉD¦Ê³§VRà=ùÔ¢®•­Ü©#ö•Å>žTœ~;'Í>Ã<¨«¼3©^ÓºGà­ò©̨|”ø×qNnîˆT—¦V-¶•²•]Ý[‰¸†µ´CVå ;àÔcA€-}if9H¡v€­ÝæCÔyXöÉ(®ŠE™³ÐúO¥úí¬¹%o-\á*a–G}ÇãLˤÒÔ¡výg.{#ÐPòr§ÍWÞê ²–­b« $¡düCÝØáþV²"«ëU{‹Y4–w¸íu¯±†Ç«¥egÉ¥åLO{H7 0&í›nøjËLz(<¸¬Œ˜^§“E-ÖƒÐB©5ÙùJõ¾—ÂÞmÌ0VÑúb·©žÅ/`Yº_ˆuÑ,­ ìƒ1üݪ9Šæ6òkÂID±i»…øb²—kêŽ-d!3V¢!ÉhÇa—†öà vØ~;Ã\ô¸sk7õ‡‰ O"׺0îk”e,>³7³cm2?—³îJ3Í©[óáçõê3Ã;AMÀÛ¹^7AIõç&«´×±F÷y@Š6‘öâ™°p3žW“8Ÿ™ý¶À® !§äÍÊ™þÓ³L/kÐ<Õ–åsýREâ®ÃEÞf«æ)9ülùЬMl£Q¼Ë¹4F¸Ñ£ðùcM/ÙÓÅ6ö†ë;~À7µ¤]n—ÕÙ Vnq!–Ù¦…DÁn¹Ås^B¹|jZKSÇÂ&6d¡åã_ýlÇÀÞ¥¹õ‹écÏ[Îö!sHé,H?CS³Ttr—_ë–ô:{Ôãfè·âj݈—ÕµP³÷øšÌg›šÈŽ÷¹Ó:â‹CšÞ¯Wj‰ZÐúÕ“,ÌèyŸ,®”9QÏN¹Ë këFáÚ·´OÑ„æ™ÏQ¼uÏ=ô8ƒ|¨"GGqÃhòǺ›Ñæyã‹h6)úÓþâ68V=l›Dü< ®8‹þÍ|S]èeÿåW‹þôˆ>÷Žj¿8[½id Ïp—»mƒùG©»8ì´6OßÁYé»Ò¹¾Ó6cJ³!=‰‘÷6ûãÄö’tª*u—ßíí=.ÎPgc:Öžô¶1¼È‹–ùÕ¯Í{»ÛÎ ywîL—†ñm‚üíÛט ñrˆ6mÎì<ÏÏv.ÏRå}…±ë½ô%³µ™›Ÿñå—…u¡®½kUÁ«Þ_™Ãý÷-ë¯ÝÓ=jvRKàS[‹=±·vݸÍüÔÓCxŸ»÷i¯ýd£Ïõ¯?üÈ(ÿ¾L·ü ðìzoéN‡eZþŽWHÏê¸ïßšA¡n*ŽºÈ鸦ñ*¬ªz¯zªV°0Ap¨Áú>¥aîù@+7Nþ,þÒ¯[^¦ÖòOöϽtÏùPã„Љ~pP¾ÈÏñ‹øÞ¯¯P¬¬m,ºÍÛ*Ó:ÇSÏþ ìxO³2õR©8¾0úа ¡&§Œ÷à ŠÈÐu$-I Îæ¬Ðe¨L š¯œàgñ:CŽ”pcކËÈÐþÆ4ÀÐ QbÐ ñ/Øpþ¤oØnp'¢ÔJ ~„bóð¤xBù°ï'¯äî,ñRúñ‰ÅgR —‰é~ˆá¯Mùª+¿þtð¢0ë„Ëüê‹`F‘’†¨YqCö_¯ýb0Ëf­].­.-ÜLg qòŽP|Ls¬Ð°qî¢Á±–ªŒäÂÑ, «î剰NÅk0äöèÎÍ·Ô‰ãÊq„xnŒ®µÚpRÄ ©Š¾BÑåQ_K;®í4¯ ²"?Ñ Ñ"ëçÃÞ ÅÏ©>í3?É<‡ …JS? @t@«ð+¥: þ´tAô›GA:E¨´EtB-(ù3òî$yÒóBý?=ôüBT@2ÔEŠDN,qDJEgDY4³´ÍE±'ËÊ‚ë òEGSFu4!#kƒðÇ:lôF{Ôy´HÛ†IíHÔG½ÆX0™ÔŽªô;ÕFø®´Î` H™ò¿šè?·tÇt?òÇŽs+;JôîÏÈB’£3ñÊ:¯¬Nõ£bæÇ=ƒ®M%¥DkŠO÷äG#ëIñ'`ÉPuñºËÔ‘ýôL5–èî#É5¡¸&S?´QÑ"Õ3R5tÀmM#0ÿ|NL9§6uUÙÔ?¯ª(þ TP'æžœFTŸÈÑUÙNÝŽ‘WCЉ„UQ»WMÔœÇXÉmY1X¹ÉVÑYHXqÄTeƒVߎ}’1WwUZñ ÚÜ\óÉ©=OU—ÐpxIY¡t'ŠX¯Tmä•\slÒÞ’Óµ^“]ÇL]½nF¿Õ^ãRB väbl£ê™Z×<©Ë] µ)ö`mÒ?§Ôb-õ³ÖßÌŒø“t$Ö£lñë˜`yudñJeYôòÜ0_»H_ã°6UH¼X–û‚aõ gùµGUÖe5á´u\=Œce–JCG[îf³K 3V>©0ha”ž€VjUeh&‘QþO0H‹ [ ±ükj&lÁ•eͶJ9†hÑZ¹–f­'ì˜. ´jú¦l{öEÑeqtmûKk·63Gè,åVZäKñ.kðÖj›’jùVo½¶cÖQ‰ð[@ûŽlƒÂ’㨌uæÖ^o6m™Ôo%÷S'×£îrãzB7l³w2th—Nßµvõ‡™Kø^óÍ;Hzz7w“¥fUìqñtt‘WEýö¾2ñLË®97oxaóN¯–gOw £HI1':û«jK°övˆV«÷{õš"1}IU}•vë–{Žl¨2ZTvL} hX5OeBÖz]•iáþWßòö`>ržlò~õxõ7|¿÷i”‘ÂÖ_ 8yô‚3èiE z7؃—’ˆ²w”z÷WL÷U1;iWøÄèWæ@Jƒï“ƒ{„-oÛ¦¨æ S€iꄽ†‡8fy°£„–Wm XˆÒm"%ðÿøhÿP1KV~ì×180}Ø…s ÓQ¿ž±ˆä—~ÃX…ën$ ‚ÙHæŒU³‘ޏÞd¸Î”s/xB&Kɾ¸ÆwçVqÞx2Ÿ0nÂWV_I5¥#8¸®XÙæ˜ŽW™nñºFk¹L÷{CØŒ Yqç˜!ysоX‡w8Ž˦’+uâºøÉÍxþI|û8”WÔ“g3ìÂÞ´4<•C­‘[WƒO2æp…¼ôø•‹ô’¹X좖L!“Q3rÿN³Øˆùïø ˆÙ‚§¹oc$»yH0‚¨ '“_§ÕÓxYŽÝPôÈ7ÒÔR™á+H¼6œ[ö›«­qȸC—ƜϹ–{xõ“Oú[¯£Êòd9A‘ùŸÇùtµsŸÉ™öüÙ¡ww‰ZfÓte»Ê}3Án‡7]ÙžG´¡qY¢I°¢-z¥} c0’Чõ£‡‘´h¸?7¦Aõ¶ÆK¦Ô¤ÿ‘¥Ê§ø¥³™µT𥧏\K·³Ï—y/]3\:÷ K×4þP©¢ªÝ©¨ºi»Uža6™ŒY(Y«ƒÐ˜•­K3-̆±Z#¹–&Z®¹a@ê/g¬ƒ27蹟ª§™’ùš§T9È„š–súwµ&¹š¸ð:¯ÃZ©—Úmvî¬Iz§»bÙ:h’Ú$_÷* ©°'!Ÿ‰z"Û±sy‰‘X.󮓦³9›´Éê³}0´¿'–hpSWaY†”‚{[…¸\û…°a;¶Ãy¶3û¨ïÂà:®ç×ûz›h#»n¸‰›}÷ú¹-R%¬y¹õ…´û¸#»)kºu¬/°_qjs+áækNÛsƒF¼Ç2Ë;¡ÏþÛžÓû §nÅt7i¨ÅÕv!A9öÔ¾Wj“šjÚ™c¸óFù¤YyÕ|9¯1°Øm·OUßvÝÛ6+˜Ä% [cò Á–Ôæ(Ã\‡ø!7ºq LW ¥/zZ¦ ªÛ7!¤’ýx€;ûCyÃÃ*I{SS{z÷ÅÓ’t•.¿}œ±§­³|Á%ûÇűҾÜAùO!޼Ü`xÕ‹›¼Í/ÖŪo{g‹ˆ¡Ã½ßû´ç:ÒNÓ×S˜aG¶]{±w¢#Z±¦Æ}S&¾LÉYüÎ wÉ;¸~—ŒaÜ~œÜšËëÅe+×PÎÏ뎶ŅÔW{c}ÐþÝ:9ç[¹W\#ýÑŸœ Šñ`ªà<57}‚;½ÎLÏ«’r³¯º *Ö”ÄÇcÄaõ²†ðVë<ñ;ï=Ócú”%}”¦î§{ýÔWå£Ò¦:úÒ=“ݼy03„épã;•{»ˆÅü/Ý.ÜÊÚ…ÜÒ3÷Ú_5xñýYïFÛUÛ‚Þ#×§œr0V•ÉÀÏ}E¨¥³©ÕJá‡ÞSX³ÙÖõ]Ögñ o“åDàá½ÀÝàÍqàÁˆ­˜8Þ‘®uëÌÝС̙.åo+Op>çu>O…°]Wdw>è…¾‡6¾á >Ûý[9TäGþ¡üwÛKÈ¢ì\þá}Öq.©êß}"ºo˜ã-«7×ׇ~ìɾìsÜåcýç¹ÊìÙÞGlÝÕóEuK‹„éëÜé÷|Ýñ~¦¾‚WžÂü‘¬hý^¯_È|ÇfðQRJ‚Úþñ!?è?)íM]Ú#ÿòIø¦Eœ<Ÿ1éÛ´!}xKê÷ž-àQëé;,7\”zñdOý¾sqBºÝŸÓ!MøÞ>X­½å¿RÝÄM;<ßûÀr%Á;ôKsôS´ãÅrÂ5_ )pßiaùõ»ù:pFÐF¤?÷çmÔœºò5~÷µ¿œƒ|_Ý,\¢ ÄW50 óÝl‘¿Ð÷ži„= óøûU©ž_ŸëAþ°¬XŠcêrûÃ('­öâ¬7§à vÍø•"˜²­ûÂí''}ã0ºØüŠœvŸ‚ÈÖf>dä@æ¢ÒboŠ1J”­U³rˆ`÷Q†œÐa÷ö]¥ió¸mc“ÃuÒ0ß fåá!¦ÅÌ>BÊ)Ê8FZVðí)‘0íQÕ]…VÖ¨e]¦ÒUNš¸F°F’&âIf.…¾âbáª>ýøRûüâÌ¡TÒjÚ?CG.Ën1/VKk«^»toÿn& '~[ˆ§‡èš_2Ãænd·"~±{Ë›cúöækKƒoJ=gî:\7,¡€BŒÈo•CQþû퓨‘àE‹Å6Þ™Ôm/c,DŽSVQÈ@çeìC/f!†OÆÌ‰ÊJh6{"¤ù©%Æ?ÞëHt)Ó.¬^ZSzHhÓª^µ:È5?íÜøãªL”Ö(ðâݔ酪 uNu®tÄ%­ÏLR×ÒZV§£;FÙe»w0á¢ùÎ⼋FqaÂPƒ nlqqØ…`‹Í{J²>Æ·.DÖ¤ÙeàÑ3ÓÂelj¨[+MolÂäÍ®]X9ãÆý²IçÐoçÞûøˆçàÀVV |*æä[Œc+žƒªTÄhé´¡™ –˜å©Âf× ;¶õsà¡£O/:ùpÒsyWß²=ÞñòKQþ¤¬ú²þþ ã§gÝwâ %Û{d a‡vÉ# D‡)H t)%øÕ}fà?Ú§†oÇuˆ!DôEâ}O5èÜ¥x›‰Æ‘HVŠË‚7¡`ó £ãŽ?Yׇ[Ñèá‹A y¤m>Ê×U1\­Èž."9¥’QNVe#^©et32饘cšÅÛA1º×%™ö¨ J›¹eÆâÿ)‡âœb:øÎhw®IÝ›köèb˜€Zh‰y>ƒæEVÉ¡£ˆÒ9è’†öQ'r|.gs˜6ªhx‚þ ¤Ÿ¡RzY¥¢šª³qZf«©ÊÜ£Ž&&)_¤&WC2êŸ Í´Ó«¨Â¾þ Ø«‚«k{Úª¬³dÖAl”mJ[ã¬×2Yíz©Ž#š…Ç‚øŠ·OxøìoÒ‹«ˆé6kn¹§º¯¼qð厧VΫÖ,àÙ®nIÕRNÀËòñ×yÀækŽ¿E•0~t:LŒ5SŒª.ünyì½Ð.|¨«êf˜‡(Uj 2"û%0¬l¸ é¾Ëal-l1+›nÅ7?KsoínŒ'Èi’Úó‰sùµ°`hÑñ¶›»knÒ۲П5qh:s;³Ò8sÝÖµú«m“[GúñÏÂÉVò®ÁL-+Ñc™YéÙpŠÝiVÛ÷5¥‘ÍݵßLõ Ù›bSáùMW·×å)á`Û™þÒÒƒãŠOH9qÞé]9€™z5ÙƒøçÄ ®ËhsóãC—¦o½ŸæDf ¯~r|œÓ­#îc>zè¿?è;é<¿ªÐî5ޏíÉO#<ðmU[;wÏ;çñ^úÆüóÛ‡ãü—ćJ¬÷ºå­DͽUN;~–ÔÇ{äõ¥¾ýcG$½‘Ë»–ûÊ/ï!IßýXêféKõ‹Ÿ¤´7¬8°€èà¶4„ ðr¥û“øüW¾­%0O“àRPÖ¥®ÊGlJ«Vˆ¡!¹„« `ÓvÁ#h$„Òê`÷º‡+rc„2$OÁNx>ø-°fÔÊàºLÃ!þjL5þ¤Õbp˜Cññ‹‡bâ­nÁE§° ŠÁ+MˆJ8‹ƒ_Ä6Äx)‚Œo A!×ÃzqÑ£u1L™ñŒ2P¢Yž'?>öñ‰uùÔÈŽšÎtåó!I¤>æOW‡œ_ 0éIÒ|œ|äÜÄãHRFrƒaK]¦"ôCK¶%”gŠÓðP)Ë[– —DBd¢œw#öÙ«Ža“¤ž¢ÉMVr”ÙÑe@46[23šh”&#{¤9A΂Á̢ƈi %¥mub©é¿MÕj›æ\çZØI5·UzƤâ6Õ¸D;~œk0؋ƩÌðÑð™"Pvs'X¾O  ½þáBSˆŠ¥ån—0ÂX7ñ¹¯4™d\$9ñØP7´ vR!B!öÑ“²¥‰)‚Þ(ω†¯xž éÙôËp´¤±TiHFú=uòt–ÿŒ†"e8ªUúy¼L7Õ¤šê-G#ë˜?‡Ôɉ¤EáU·aCúu‰@ë_R›·Ô2ÕVZdÓXõ2-‚5¬%ôéFãú:¹öò«AÚjÙ²V=±58Ñk¡7í„á®xÍ—AhÕ©,ÖƒýkdËÒF”U©‚5ŸZ ë “º-™pµke3™ÕºBÕ,í7»ˆ$¾ÚO)½¨áH›Â˜^i¶¨í‡aâ֛ѲÖ\ÕþM‘f¹Ç–6v” .W/«ƒIÖv³œ-–gëÚ“_Ê­Œ£Óé\¡êÝêç»âÕf¤BêGt ®•§Èr#ûGÛ¾”¹”)Y{ˆIWi4Òíiê‘—p"ó-°êx L8Á¦ùîy}Õ_ÈÄ—ä•ïkÃ:½Rj©ï˘ƒàçN´¤ãð·C—”„ék匂[' Ï9‡X\\&ó›þñLT­YT”qÙgÑhœgü~‰Äµdh-Üg"×Ï…rRz!¼bIkvËÔ½«œýÌ·™Òtµvëšÿ…æ~ª¹Ôw…4jY)_Ó¶M¥§ô0YW¥[Ýr§ñüéñ0ø-m%õˆó[áÝb¶}*6 òjX£Ë·D1³fë.㺻ÑB /Œ–í¼Â,ÕØ„´*ašÓ]ú·«fõªAå»t÷òÛÕ¶¶•d§^÷ZÞëv6Ãôœo/ß%Ì:lSÿmÝc÷WÚ%Ó4F›Ë,áq×°ú†ð³iïA¥'¢Þ*.ƒg9àâFhë[×ÚU‡òíŸMhæ"'Ë•(×ÇÆ)þ®QvßHµ6®y=y0=Zó<Ÿ€FªºÉ4#ûÐ7wF­©Þ’GZ=íe'Ò¯]f6óYáAߟÉèè­×6ÜþiÃq¾ºˆ÷4ŽSÏ#¶Ý7´›ì¿ûÍŸR¹•€]¿£ñ~ãú(Zƒ÷~ödU­ôw2ý][”Ņ̃Ùò9j’jõû9'»S¶Z-b¡<›ÄNt ^ýëcnvÒM°h'—¸ƒ»D+ù~½žó ›Fé™ÝŒ ã½²7«çp9Yô;o3êkû5#ww¬÷ÝÃNÄÆïÞaEìŽh&”-ú°|KokuvßšØó><âM­è¦úm©ÈÒÿþ|íO™Œ–?psÃÈÄ,â"û¢—ÝèuÔ±×ñY×Oþ¥ÝíÝ_rüå˜:¤9Ÿ 8`œq_²!YýyÐéñÈjNò¹‚Ò£y‚̽_Ê×NÊÞ¯}u‘Lðµ°­´I Ê“ú­”øÙ˜„¹`Ý© {9Ãð ÜÁ`¾Q ¶›¡ `öœÌ@¡ ºKxÏ þß!z›Ê˜Á›á=šÍqÚí`áaË¥¡ÝHáC]!ž¡ÒÎi‚[oŽÐZÌÍd¼PÐŽè ó 㥠ÊÖ!"zùùàÞ×F5ÑbÒ 2`, þ"#]Q!'R’¹]\3Ma! Ššž^‚b'ÎØ'¶ââ%½ÑÙ$R"Yâ%V‘Ù„D1ä@àÆb%²Gg¡â)–bVð[^ýÈ1R“3.‹Ñ…°ÍÅýíUcÅ c(U™ŽÝ"Ïåb"–4#4ê’9o­H‘éœâ |´#-nc"‘L á<Æ(>"úIá7ÞO8úÄ4²cø-#GL Aî#>’P·IÊ(dt… ¢ãÒ½àD¾ƒ×5_Û½üÅcA>¤QÌ8‚ž<~¤+*ZdùQ^JÒ,Â#B–R·¹\Ó•ä±;ŽäÊøã·±dÂAÓk%£õþ¤ íjcª\¸RÖ¤P ×ÑÝÎ%MSšdþ$²pÞPe¿)eFbæ) UÊý‘D}˜V†]P”Uz•ZþÞ¹eMÈ f׎šÂì¤X–ËÝË䠥đ¤ý¥Ó‘¢^bZn] ‚½!]²ŸazÒŠBîQ¤”`Æåú\¦cJÍ".¥Wâ`gÊfŠæà L^æZfŠjŽ&·Ìå¹À¦~Xl¶fmFQâ$Ó°& ©f Ú¦jʦŸ¥\Joþ&8ÊÂLFÑn¦&H'üuc½ÉæA†×sZ§8Bbnns6g_çuþŽ®ŒcìlW=òn‚gz^`…þ%5ž#w¶%|ªçÍ0d/ §–Cç|òg”a¢dö"1Æ–|ö'Þ-êÞgEû _:è}v€ŠäXªÏw>(ÎÜ$½Éätêæ6è…‚èS ˆ’¨f’ÂTýIªØSN„ñ|h‰¨ˆ*ŒÒ¨a’%mLèúVYÊã`Ö(À™›ýè>$_¾ «0Þ†Ð(éâ„z§Há'H`“Z)(B¦å!~†_ÑX蕲Ÿ5î!@¦ei‚X„ZÜéš²i›vMêáËiI°­'”¦Ï¹ižê鞦ŠÂJî})äŸj¡*××陞ä“ê£Bj¤ÆJ•¶¨þ5Z¦íIj¦jê¦ËùižqêM§’j©šê5ÝŸ§¶]”Æ©ºê«Â*ozÔ8ªMÎ`¬âj®êj’lÛ¬jÌÁX°ÎÊÊMQîÝ®"k²*kúáÞ¨*¦°Bë„á!xù'ž.ëµbk¶¾æKþ*°Fë·†¡OR ¶’k¹šëø]£²å¹²k»º+„f)H†ê»Òk½nãO€¥SΫ½òk¿zak€æ?ú¨¿lÁÚ!µí›¾¨Á2lÃÖœMpàÂÆ§Ä:lÅZ¬§‘ÐQìîëÅzìÇþÀÒª­,ÈšìÉÆßŽQ§Âv,ʺìË¢ÄB)ð`*ÌÚìÍZl¸âìÎòlÏ"þ™ºúlÐ ­ËJëÐíÑ"-ßaD%mÓ:íÓÞÞv+ÔRmÕmr¾¨ÕjíÖ¢ìS)ׂmØ~ìL‰mÙšmÃÊèÙªíÚÖ«ˆ²íÛÂm¹BÉ.ÆmÝÚ­®Î­ÿÝíÞòí¦Šgßõmà .¡Æ+Ÿ îá"nžª¬ž%nã:.‰ã˜îÇãRnåª'6RŽm¬årnç2ÓôµÎ¸zîè’nMrdÀ^LéªîêþëéN-Sf"ëÊîì‚ öj³Ê)íêîîòd¾î£ð®¼UPð6®"%ðoòFjËFã2f€bfõ)o?ÒßôN"c1ï…ïªîeÍZ¯“Jï÷joö¥vª”'þ¶'V­¹–, Uø®eÖ¤+ùž$m*êâl.>ænpµ/üžúÞ“ruUp&,Vùm-Åô¯ÿNi÷¾ï™väGEg°¤®oÊQØ3°*:ðÛYÖº“xXD-¯÷Fæ Òï÷&pyyp¬@Õ'è’ð£^‹¢pþZ¯×ÝþÎZ-TB¨è¾êpÐéç–n`Ȧðô±LZ>/öõh¢æJc¬b²aÊâpò.±p^ñ÷ý0‹6ÍÂ1ç?,KbÈQqð®0hH'û0 ëBå™eñœ„Ь±n°©±ØC°qäT#O¨žÎºò¤¥ñîæ±÷ù¡JðþâJ¨Ãjq$²"×1#/ò=ÂfG\²¤}rVr  fr§î1þ–ò‚PãQò&ë߉Ù'ßð);F(/-à*J#û-ï28 $–²ìêò¶Ò­gŽŸ•ò2îƒë¢q0¯î0»ä×^¯i2×îG£»ò3[³i0Ó2!˜v3òl3-wp9Þ±ïV땎s¯³¥`¬3—.4ÓÜ-¿0ø0¸F«ÔÐ3®=IbúÚ6׳+´@Ÿpós? AËÚA?/ÿ³çÚ3N4púº°B/´°ú³©b3BkóDwnEŸñct87é; /Dß%£sjnòGKIé©J÷®skH¿þ´¬f²[1M©MtEð<ïôjÖ±>§ ÿ¨P&Q¿â@‹tå’4q3•˜;;4^µJLõõõ|¼ó“Üï*g52ouÊJm õ¶µãVõÄÐ-²±6uZ?à:—µ385V†õóåo@·§Ÿö_Mãuëõ^6(6\wóðNó¢Rªö[³d‡e‡¦¨Tÿõ&F$òÂ^_ŒSÃh_Kt + ¥ZöÚ¬у!õ¢v˜3eËöíÀ6†6vravÔ†&c¯ö0JÏ‚—¶Ql±æk]›åØ…G2îL ên;ïl¿n`JôÉòðkÃKy61’ï’Ú”EÓ§tþŸ²iäËõ椨÷Ë7¨Êre®w¶7›·é6$˜¬Š Ö·óÅZN?·xëqg›2ÑrÊOw•[K,gç=Ó·cxÕtíÃÙž£f±ÎVr›ïúÍa^öwÎ’÷½ÒuÙÓ—õÚ†Ç5>s¯u—tõçˆWì}ã·’À2Uœº&õ%³ ‹C¸Œ‹ø„¿ÜØžxÙ½%*)¡-:â‡Ãx3Ðù…c7 ý¯#G¡½0¹ùIó$'šKø”_¹ÇˆT‰X–?Ò–KFW˜t47´”‹yfjv®rÃ%ç¡Î@£°2É1¸m¿8ì$h—gŒz‡óžqùyœ_ôþ¡Šö˜ùeø²0Wu{ø’˜©£ BšŸ€]cÑÒ’ÉUo>c:r‡Öí"Ò(£zqú¢3:êYF.IÈ‘þÚÞ‰ì³Òy|{ko/wÛ Ùbï€z¢ßzDzûú¯cKyý²ÐM«¥Ë7VëN¬7:á‚:)ÓF«º»É÷‡W©_ú 3{A±:ô¦b ''h·¹{Ïlë¥:µ #c; ;zÆ®¬h“'˜P&A¾;à8¯:^Á7ƒ›á†vžÞšú>Ê4li?j ‡Fb´§{¾sp¡ÓÊ~3‰„d—AÅŒê3¸e‹ƒ×û³ÓqÞü­RýQu²§7Ï{ç½¼,âþ³Å˺‰A¶Ûx^£¼©Sº~ÝnüÌë¡VÅ{j«üš{†\¸àÅ•#~âÏê“ö¼­Ð‡È"øÎþS³sC$åã>;ÿs\ñ«ÿú³û»ÿûÿ˜s¼¸wþò£nó³»ÌŸý*mÒcÄÇÔ ð‡QNZù]Ýar:q?’1ÏðDRö…AîXcûÙš´ýÝz7…ÅxD&•KfÓù„F¥SjÕzÅf£ªÑû‡ÅcrÙ|θ Á›×-ºeðõ0¾‹p…r4Q ãÛ ³±ë3,ûì*<IÔyÚl„dd¬Ä¡ôÁÜäôÔÉ%-5=EMU]% d}…•…u ŒĜ˽ÛüÉ+Ù%¹Åõã.Î$. muõpæ9ŽfÍÁV¾›KC®f&/7?GOW[OOþn‡Ÿ¥p ÷¬~ìý߯§íîWŸ‡x‡ü³J¨m– Û÷^ÃS3¾[€Ñ À6ÞnÒ(¤àH’%Mž$Ç¥¡y+]¢‘øqYÈ71ù‚CSÆ—ƒÙTò’I±ßË0=„°×Òã'K1©MªËÝ…¤޲SÖ0ˆÀ NKVìX±?Én¬pV-DBgvcCÇ3Ï¢V4ê0Ó¢k›zEØã¡65rãéªîÄ»£> ÆS8Wc¬\:ÉÁ'˜2¿=mps茑͒&y—˜Îˆ“/ãLêÃ.<ŒK#î‹úèæÚkv[CÑ4kì4³§*þ]ghâÃ"ÝÔ<šþ†nêÕ­S?}3PíaóÖ©×ßÖ¥¥A†(½Ùwð¦ÛûæÙ½ýáäà>*h¹h8ÙÆÑцƒó˜³Ä¼kYÁú‚“¯AŒ'»óYBf˜¨¯+]zÃmƒo Ì‚ô*L…C†zD kR±²â4ì϶áÞ:bDu  Q¢Á³ŒÂSxlE!‡$Ò$ »;pÇ"KÄP¯‹–ð¯†{(Q"½Ù›OŸ#…4‘š¯B$È?w3ÂÊ‚ 9´ËŒJ«œ\2N9ç”eKëæRÎJšÄåM2ü©F1YÑÌvºdÈ@=GTÒ+Õœh èÐïÆqq’J‘»E?EEIþPkÄNÒüüÐ GMÞ¼F(S1=KVÅ@T™§ì1t?Qi}éQ[Ƽt¹[ Ysò¼ïÓÌ`‚†Y"·‘VRgE¨ \•%cÛvE/Òn«M•(ay]“[u×"wÝcJmׯgU½¬#wñ fÙ±•d$[ïÕ$ÞŒ8é°ˆgèý5¿²¾¥Q†X‘VÉŒ’‰ •ßÐð<ð„ æèáw5…6áRþ­XFR¯*xº|îCã:›Åg¸”o6Å[yAyT=Ö¹Ü9çw/øîHd?ˆEÄä“eƹ¦§ÍÓ+Žƒ;nWéP]‹6§ŒµŽúæUõØ0ècÇf«l[¡î þ:˜ûuÚAÙÞ/+¬¤çž5ºÏèÒ†önµñú1éò[^°¯¥ÜŸ$Ѭ×àl+nÏÄÃúÀ£‘f ñÄê.ïÅÝÝ;à†ÑvQdi=UžÕc=q°\÷‰¾œ8\îíwE,o[®Ì5~B(ÿK8ÏØc.]v³sû²Ùáµ¶ø”ThÚzÙ·n¾ê:µêêÜ?‹|ÛÃ//àE+¹ÓŠ“°ÔZÐOz~û ]’R{«í{yûES ®üǸ—µ@z^"_—¢’Û±¬U£Ãß/˜G£ÄyMû\!¨¬î­¢ƒ܃ó6ø¿¢ÊWÅ` ›°1ŠÌg| °X¯Ô§þ' 2(] #¡|ö5»ªëƒÕÙáöz˜ÃøJPÌÑßïbH@n,dŽZ  ¯ÅÂu£ÆòCxÔD"v1?Û½¨»$Žqs“¸ê*Wƽ`OÑMOVÈ(^ƒKÑÂÍT8%ÉŒô µ–w¢¢ù‡±¯±± ¤ã˜B›Ð±9ûJd9€–=úîM[ù[9Jxeò8O˜ )I™@GzÑa'²Yöà'¾èAÒ§â¸jI;BŽB êä-9©6ï­Ò˜Ã’ ©Êc*®•]l¸x!j]R’“4ß5èÆGê6°/ÖLrVï™´!ÜN¤ÁÌþr’Åö‹æ®¦‰Âj’ †Øá]U¸Ù¯^z3IàDÊ9Û9P©X”êtÌ; :8vŠmOvRè3µM÷¡&/¶ –=û©®TO” é:z¦qði éJ" !ŒP¦Œr”{^Ô·Ú§X÷Ä© µ¨/Š`ÔUØ‹%GÃS”u=(mkzÔ‘u,+-Édˆ>T…1\ç²XS.ÎX¯Óœ§¨ÙÓzØ‹7¼Îj4F§¶•­ÞIãI›ÚVΕ~R½ÍNªZJ³¶3\K^ùe#yò³˜cÝ]Y):Q´"2Mq{+]SYsÅU¤’½TIHÃRni¬$ÅhÊ—Ñþ>0´Ž8kËn¹ÓôÉCrŠ}c˜JÚM|5{˜ÅíŒâä5¹æTšE§e#NžÅ€º¼ßhÿ*ÀÓ2ÖeÕ&k÷—’×þµ¹^ÝŽÓê–·ùÖ»¿³kë•P¤~÷84ä­½¢{Ø5a‘Ù­tY¤S¦uöO¨Sà&éÛ' Ñ´~Œm{Ù\&ÑHfõ3/])«Òñ25Át"0I –ÝœŠUÀÇãjkÙûžäN؈¾/~[ó_Ø…³ÿEq†òzáìD8gÜ-ay5Ó3­¬ñŒ5)ã¯_ðªq™·^è²7:JE"kÀeAªÌ7nãi…œÃäçòW2´èr¬ZwþyÁxÓpÉÂÛeñŽ™ÁK•¨… QȹÈÞÔdIXåÜy²: sLÞ½t“f&s÷œÔÉ98ÐÓâ1:ÑLK‹$pDÞpê\tÆõ LŠ&%-¥›â¶x»†Ù¢'}hÙ_|´* I½cUGµÁi.òg»ëæFW&èk2 ukG™ÓãÞ§Ì/Ó@cÕ 6õ•P]ÊVÛµÍ>õtW»Õ5 î«^J×(œP]3NÛ˜>Çw°DÅA§Ž\‚  mgs«ÜžVsæÚ½¢w'kѥ尮èÅIJÑìÛ?æ¶¥¡8™œÕR–¹ÍÔwé¿ Lö¼½p¼À†þÙg)ÅïŒïÓaËrsåÚÛO¶Ì¶Síï\†%°áÝ÷@"žÑ”çÞ׳üxÌËÛê˦6œMXŠNyÔ±nòS“&—KÍt¢ë<ÔãöØO~Œ­¯ý¬Ñ Ø ìTAúN²þg‚W=ë—å·àËœXÎã;÷þ©´%î}|zKÿùÌý¼¬|kÁ|ÃY" R` y &]ì*ϧæ+|ý‹£õì·ª­ÿú OnBÛÌÍ9KbzÖÇÒv§zêªSÊ&Ø£?©s?ù:Àøƒ¦æ[À Û-ü{¬ó«¸ï‹´LëµÙ:‹}Ø»ƒ£²ª«õ[5t¾œ³¢>|1Ô¤TÁ0C4TÀä:Ó¢A$¡ù»AÚÚÁþ‘ÁÊC D¶„ûÁé+ <„4%L!dcÁ@[›(”8'4@&T=*ÄB ‚°$Ä@À{?ò$%[Â-\-„B44CäZÃ&ôÂ’»«¯CÓ?V«¸#¹õkCŒþ+ÜCüÃuyÇ ’9¤dš‚XI-Ù ÄÆrC5|DœDw“Ä“*D´`â51”?Ž©DL £K Å,EKŒÁÊÒD))&î#'HÁGôC­;EÑ1¡Z´º;:µ`¢®âóžb{EJÁEòêÃA EaÆ\̸Ô@F_#‚»1R´ÃËKF6iÆf¬Æõœ8¼EÀ{FÍÄ?"šº2ÆmDÇtTǤ   ±`t“²HÄu¤Çz´Ç{ì‘Äã½Ó‚~t/ð²;áØ¯4¼2|4ȃDÈt„E™ 9tÈþHTÂÔƒBÿKÈ‹ÄÈŒ”EÖ{ÈœGÄ ï @þ4É“DIø›”Žl¦XÌJLɘ”É™¬ÂûÓ¾–œÅ›*AšäÉžôIßZÉ}ÄÉs²üÉ£Dʤ,'›ÜºO$J°‚ÉXyJ¥¤Êª´J ¼œt&l¤³{›Ÿ/¼Ê°˱Ä&¡\7crI>³¯¯ü±©$Ë·„Ë·dJNáÊ LË£ZË÷2º¸ä˾ôËÍò9‡[¥:¼3£ «Ë¿TÌÅìÉ6é=´$LôC²ÃÌ«ÄdÌËÄL“\IZÃ2±ËɤÌý±ÌÌ$ÍÒ4ÍÊsKÇÒ@æ"žÓtÍׄÍŒÌl Ý ÃØÄÍÜÔMvI É*Œ *ÊÝÎá$NžÒ¦ÙÌÁEhDíÊËâtÎþç„NЂ” <&+Ò†åT>¬àèäÎîôÎĮӃ̡ã>*£Á¿ïTÏõdÏé@­TŒ!”¼Oâ­pjÏüÔÏõ$ÂÑ´KÑÒFa.ð£Îý4ÐÅÍqKMUŒ¯yº®mCЕP×TPx|LÝZÐ ÕÐ =EdX¬Qê(ìóO%Ñ­Dµ)Èœ@s2ÑuÑ]®%%µb–»|ÑÅQutÌìÌeÑÒ Ëû“ѵ<¾Ò$URž´N>š x4°ËÐ%¥Ò*Å­ÈÈ£oTºÁlÈÕ±Q+Ó0Õ9ý¢FŠ4Ò.•¥)Ó5eÓCú&³ÌC3EA-[OlÓ;ÅþS´I8Õ´>Sœ°ÓÆË<%ÔBUI äS^$¢Ã«Ñ?3ÔG…Ôë Ñ PÚ6åéc‹ÔMåÔv;ÒX«TK=7ÄH7_t½-MJ55AøìT”¤Q> ©ÞL‘5‚8VEMU¥E ÅUzÉ;$ÎO5Ê¥Ì? JTOÑ-´Õ‹ìU_åÍeEV-PÚQ’‰Jû“¶]%´dÅÂ/%Ëf H†*ÈÜC;XåÎEÀ¥!nUVmUHúÜ¿„+y­=·H¼ýìIá'víÅá„Öƒ”UsóÖöù¹CEÓ2UO8…á×MÎË€e¸ 5ר{ŽPºMïŒT7û×=üXƒþ”X†c—kÅ»³ãH%Aê?duNˆXx…¾úžÕ<ÖÎcÔ›ÔÏ•½Y˜ý̆mCŸµÊ‘%F‰ù¢KZA<¨PkÅüäY¦G¥uW& Y|$Úµ{ºàAr…tûE§íÏ"Ĥ Úª½Ç«%ĬM*¹3رL¯mObÛbœÚn5[{¤WÑ0Z­Õ(ús…ZšœÂñ˜ÀÍHÃ¥J´¥¶ ¤¾½’?ÕYS¤Û¬¼ÛòÉõ‚3?å Ê DÄUJŵFÇ…:Ñ-̺ÕÓbsRÓ}8‰\#ìd¤LÛïôÜϕٚ=Ú}jÁ>ùÕò ?äWgH›±8•Z²ÄÙEJе]þ¾ýÐà2ÞìÄC„FÕuÞæ<Óçí\ÎåÕ¼½ÝîuÄ]ÄÞdÅSuÅ¡=([í]Gå][ï ÏÍ _ìX×FóÕÒêTߤÞdäÞöe^× Áø}Á€úpDߨÍBÉ=ÚWÝeVäØÈk[ß-;÷^Tõ5U<ÃA`WÅËAA˺«ÝD&(–ÎjÍ_Vaßѵ`•Ó ~Ø-}ÛìÑ ‹€ÚgÞ®»³Z&ØÔS»ýíÂÚ}žO žÙ‡ÕÇó×(îß×ýGðà4Õ=áú ©õ¡Î@ò½Ü Öâó©–7bï3áU%1ñH)~ÈÕ…H+þÈø,ºcb¥ª·@&žÚ<–0ñ2Æã¶k`µ]â ¡‚3üUù <ðƒãf]¾1Îáîb~IyßÏKÓÍ£Þ(Õ‘lás²!ãÖÕàâzdrcÎ,cz¬PÞ\§9d,^c .Ø+¦¼Q–§;ÕÅ]UÌeè%Òö'”ÉL®¨:v–âc@þ`¾`‹Mã_nfD¸à1bùÝLdö»W³1:—péch®[i7iÚd®EblÞº®Ed\îÎ6)f°»gm–1u®f"îç.b\RÝrvÁz½æ´-IyfÜ,Ìç>fóݹ`]Á ‚ òkèV–hªhÓ­è†þ9Ý[†gŒ&­tãæ‹fǹÔeîfaV»n*«2B”xye~Î]Až ‡~g„ÎX[#é­<×¹4éq6é´ƒ6›þ?¦5½ê»*¿i$ zeÅSê¥ýhæéi…[šEå*Veè´ç”V镯@ŸEêÿ«Õ̽#ókéÊê¨~Æ×T¿=è!cåD‰¹‰Må‰ôWDÅ_!]¾Õ[íR±.É»kÔ5.k‘ì¡ö™þë]ž*L*éè¼XÂæá¹¾½/e“%y¢<䓌ž×nÞl»uìGëiB™geìÌLloŽêg=9)ÍåÖ>ÍÒ6m¬öç½ýÝVWËæÒ×W+!—צíÚÖìþŠ=mâúYÞ6"«ÞÆâŽÝ|aâöëÄ.–¤fÝ^næ&ÜÔ©n#îÏÔ¨¡îð~×VÃîk3¾¤ýî½VØÂFGèŽÄØ–ma[íRØô¾P=”j†æî¦Ä`óVQß.¿Ü9ãý•ïË„X‹;MgÿþoŒ0€moÙ´0,EÒÚ"ðu1œ»ŠCÔjÕ¾ïT¹ë GÂ6vÔ½¬¿6ñ?$ëòñŸEñ£”[ pyÌTéõ=ìs¬?ÆBnð)«l=&HÛnÓ EÈ¿ÆèÝD‘^ q3 \ÁÒ§õÊá'^¼­pE&Ö¢½3trÙ»ñ5a‹G.Ǧv^þëír=£0÷Æ*'m9dó¹us ¶Þþ®Gç¨ßKî'Oó<¿ 8L×>÷s@:Š¿->¾xÀäÌìx7}x•x¶á¯^bÛ#Lyjgot–ÄXŒe<S`Õø›¿á†'øçy1jù€†wmO¡7óà±úåk\ãœysToŽóâî iÎyFÞmRúTâÊ´gD;®øÂDó°_WõŽë+…{>¤Õ6¤ýj°ÖW×ú¯«®‡»Ìk{»×­lTÛûSnî$*|´îßX|··Ü¤Xë‘>êóyÆ_»z§ªüÔ¾­~ivµ®N¹º<}ÉW=5üƒ«@²ýÓdÀþt¨G}jÇëÕ§gþÖAŒüN `ÂTpï¡nÏýx„Bß—ý~á×ѪWy=Ó¼)Æp O|¿?þç·pIHYR‹ý·þëùó†Ïô×nô3p°ºß¼wéyw}ò÷¯Ûøfô§~ˆ©Ë£›´Å ªÞ¼û†âH–æi`ÊŠ*ÔÆr(U5×3ûöþ ®vÄ¢ñˆL*—̦óéÒ=VÒéŠÍj}Z’jÉíŠÇä2ñk…Óã‹F‚ËÅÙ)¡ýާë÷ü¾ÿØä–WUW˜H·¦€!ØÓ(9IùöX©Àˆ)ch‘ÑiJ†GZª¹‰šªºÊšxYw0x%ÛZ+÷2ù iÛëË„¶zúþÛ!š cuÅfÚÜL -=MË{øIxSÍÍp­¨»ÜM^®=Èúm¾lM5‡Ò¾>O_o¯„kïŽÿ;Ì¿$ÿÜ4¡ºzè&Ìá âÁ‰+Zü×Њ7‰UÔ3ØÂŽ$÷$T¨ïž i¤’N ¥•ñxgšä_‹ºŽ(œÊéÙWé1 Ï;†ˆe8£‚ÚÓ›O4ú%­lRŠk®ºîÄ­•ú̈¶úºjužþ «-xk ]C0;×§h©ânÇo3ŠuDy× ˆÈÜÍkpØ¥ªK÷Aj¯-¸xÇÝà-|×÷µ£V>ùÀ€K²yD3ØiÙˆÄrÈ| wnÐ%ÝX¸ËýÈÜœêU ;ä^È2;Ù eî6æ%£ŽïCv½ˆï–À+³½dcL:Kµ#®ž©}M[q¡³·‰µãîO0¢ÖëªZïgöÂSü‘Ƈžøùš¯ßü¤ÒéÅßgãº;I™>¼…Ö4|¯Oþ󟕞5’%ÐlÿÓ ÿÜGŒô©ïþz¢ Íà7>HðvÀÐušb´š.Ví ò:„ùá«úÃP‹3!Ý5…¤K•Oˆ¼¦„ü²öÃùñ°‡Å âMŒ%@í0|9ºØK–4Äh ±ËŸPhÁ¶F1u1ì¢Í$«úá0l_´g2E¦1gœÕ³(E RåyÂ!T¶èC'ÎLI*›ÆîwB²ãZ‚2X ¯$Ç6¢âÂZ£‹©3â)1x„Ó ë¨ýUÒØ[fÔÉ'"#‰Œ#£~Š•HH&-•‚rd&U‰7IŠo“¬qeÖœ‡™ŠAïŽbó¤-C´PŠ­”¦,f`YFòŒ•ÕþC¦88se–Aš:ä‘°ÅÌÑ’ŠÉx#5#ÖMaR‹[bLž½œ©˜_Nf›ÍD'AœÅCY¦-›Òy{šGOa°3Á´Ú7ÇÎ~NŒ˜ð,gu܉u®óˆùTd¯¶Oõéó‰Ý'OQöÔa2Y;°·4ƒŠñ µÇ?™Ñ“–´ŒvüBƒç‘> EÉÔ€)Ê”½”,ÂôàCjH&i¥&Ýé¹Ö¨R¢~®`ܬiÉèØHЩE2§?“ª”žöÒˆZ-gF•ºÊ”‚OžÆÉJ+—A·ÐkL•QÿÖSËñ(®Y¤%•€’V°FБ-ËkxÖx’Õ5_½þêžf¨W­‡b¥*OEgÏ$b‹%šø+¡|îq°ûl`£9Y‰Ö’£¥»)f¹6¡Ëò …Z–j½Áڨ殱=-5»ÙІV—%5Ÿ_ZX¶–ʱ¶U#†Â «´§a®l1ÙæF·¸vseÏ~[VHø6›­qãÓмA‘ºŠ…îtãÓYÄvÇzµ…êô@{8çš÷µ¦%ïYøÚ-ì¶Ó¾ý® =çݘâÖ¿öÕ`_i?æ½²¾ë=0e›öÂ38Lt¤E„_ûÕ3©ÞÄên¡Íâ¬ëœ}.a3¬aW|CI­‚â[«[£G¿ä „CãK%›yìþ‡õ%ã %®V$ ¬c„äD’)r,×T×L­Ž{ ”ãkdw¬'ÙÈO¦YF’ ù`\äüesÐ0¶›(mÆ)_r²1”ŒšTíœæp¥2….ânùLÚ1Ïf‚(ÖÛ6çD÷e­YTmߤÞ[C”´*bDR©aE)i jj¹¼p¨1Ë+RPº„©ÎCä²SÖɵª­îÕ©oTsµ´%,Åubk-ˆz Øh® ¼êdë>0Ä.¶¯{x¶²Øi¦~v`›½­‰ÛÙÞuì–ˆh .{Üþ±µííOMûeçÖk¹» be¿{Ûã¾­þáM¨°Î[Ëí>±DÞÙöÛÝûþæÆ NM~߉ÀN–÷»~ÖW©½‡¸Å1hnòç­ ¿¸Çg%ñ7Ü™/9pëÝ…/å³d¹É_Šï.Ά¹Í ÑÖ~7Ç7ïùOdN*ŠóÚçD‡/’ß§s”w¼èLwЉç¦K]Ür¹½Õzô©k=Ý8ÊMd­N9|k½ˆY70Øa\ï¥}í›6ô¿b¬òè‰íÓÌøÊ>ÓM’ã4ív§»ß«}Ô¶}êj‡tá;íUÈî×ÌÁ¾Uüúþw¶s½ìýv6ÑÏ9¼­ ·ÞOùÈ·›L‹½µ?-úIÆ;2,õÏ,þ/Òyš>õ¾&}gk-žý´˜O9…ZOH3ÃÙWx<í ÿôãÓ€ó´ï=Š OûÊœK‹wå{|ò»?÷Cïäìg7öªÏÄôK!rë__öÝw¼öU‚ðGq,ù;Ž?¹ì¿/Ãñ|µQ59K<üó-«C_CÇI‚åTÎ`õô~#ƒe2TWˆWX4sh#—g>¦[†%€¬ØkÜT/&~àEa ¨bh{#}ÂeýÃhÃÖ~k±EæK'•3EÑ^7ˆ^%({Ç\ ¨‚EGÈ6Ò%˜9òSb{c<=(q„{!eìG„˜¦„ÉÂ}]þx{LÈ&ÁgM[…“%…ˆH£#_W&Æ_¸„†°ò…u¨kd8†¥æ†Kq†?”†~7pXH‚aÈ>ZG\ˆ‡\r‡)xy #9 Ó‡YeeȈÄ}õ僨'†øW'G„¬&‡hx)5s¤ö;ìJ®æz@2"uåy4·~Æ6\êåz¹cuÔaC¥Ç/'8‡Ñ—lÞfŠB‚Š1§‡«˜@¯]•¨M…(tGµLDfE7$ˆk˜ï ùV~ñclN¸„À.À1ÂxŒ “„ƒ:7§4r&pS‚eÿSHË”)ª¸rƒˆóá@Ü(HªRw¤¤Š¾h]èÈf xþéxFqBmî¸8tXqòÈÕWѦâ~µ’ˆÕãSø3‘Ó˜ámš7`¥ˆ…™ y>“v.ýÇŒ©Zm¦-£Äk4Uedºˆ‚:ã‹…Ki#’#©vg|åqI7©’¼‹Cå’/7;ƒÇ*ê'Ë”ÿØ”â(„Œ³@—¦w9RÌG-Ò£•qˆzG’bebÑ•‹KY`Šgv¨uŠT–”w‘-ÔI‚F– Ù“å²6ô–…ŸH•by^ Å’âH’¢GåŒp™Nk)K…u’™å>èPŒJäb×A™´neI8uÆ"çuK\–~Ré’SzµXeÇCŽ[øþ5’ ™›B›ïÄ™„}И— ¡›æ¸„e×ra04mVÉu„“:EbHċƃ]ŠG¦g¦ùyµ™—9$¹É‘iˆW]†œSщew&9Q-•_¬Ô5„˜8ðÃUã%šH·x­IÕi;‰¸*º§8Vé\šÀžè jÖEZƒEõ£š±!Ÿ~ù—¤Ù„(ÉA˜Ä3»F ½9j%YŽš’ûÙyƒh˜&5|ަ“¨é{“âÙJeø"Ï9_׉7.:˜¹¤ž(Š–òÀa8*f, £ýù” 5÷R¢[™y<:‰>‰¼YT?Y„ÅHt¤Ê“Hù¢öä¤4þGku›£É\cµ¥@J~Õ÷•wR¤®øLw7¦`¹`+Šnñ¥ÊcVˆtZI€𽹂gZ &ºWwzšdÊOxÊE2i~€—¢«¥‰Mâ¢|Š%qøT§W:‹ª¤ ”‡Ê¹¡’x„êfƒªa)’ût”“Ѩejhqú–¿‚ö9&oÙbëó¥sI«¹Z£[ø§·g„¢Êl©˜:ˆj~¨ú¥©j‚[õžJê>Ȫdmj`íø™p¬Î´žŠC¬½ú˜ÏWT9%\ÐÚ¬·zMà„œ}T§ÌZ­‚,è¡C*­W#aÚÆ¡(¯ñÆ®î d}FwÎZD8ˆœ ¡éj­ë ®þ2НËX©°@> jI-±°oÚTV5kkǯ9Q°Å3¯ª;°™~ú®Â*¯š*¥¿é„âʪëO"Hx(‹©äª;z±K®³ªæù{¥}´ÊLʳ3¢ ëIës{9@Ë5µt¯4‹84FA‰—OÚrš–ÝÓŒ÷´³D fc‹oصRç²sôm Å´D”™Û(©H3ª KÊ‘?‹µY«˜j›—É%²ôE·Hc´—3fj™·eKmùªFªŽ6›‘A[(q‹¸Þ0!ø` ÆRš)yKbä·€®*:·ƒ[Dj¸J¹¸ø¥¬r«gãÀb·aË~‹q¬»þ‡©´˜»’>«µpÓ¹ ç‚@”²û´ú«Ó7²¨k²ê2Ÿ~¨º¸Á]ÁE¹²›Y¹¶¹5¶·Žq·?Ú»-WMãHŒ&C4z°«'§>j‰®K]Ñ˼‘á­!Z®g*Ók\ØKº¢%«o[{o†°Fá¯âk[Ç[¾µ»wµ™ëk!·ø¾òûškÀ¹çQ $]øK¶¢ª¿û›L2˜½*ÓUQV¡†¤¬Ë;WÕ „ÄÀ L¦ Á 㨠0þ«£hHW^uz]ª«`1Â1 ¸ ,±ÃÈ“Õ Ä™Ãõyj‹2\LóÁ2LÄù»Âì… C€: S<ÜÖŠÀ1««,[ÄU¼ŸþŒÁ'̵¦éDü<Œ[¼iÄS,ÂVlÆFì­æZƘéumØÅð;t¹3­‰8{yÆwŒ7ÜX¶ëÃnå`ª ‰X Ãù¹ÆøQÇ¢„Ç‹ —®µÄ}ìÇç鑜j›ZtS”<¿¯2@ŒÌÉÇHj`L´;re™Gvœ{RÊ­ ÉäÛ¨~$TÛSÈ,Ë*È^n<LJ²f3Ä»>•ùÚš ÔC¬Fά·ÛD–<ËÉü~º€BÌ|ʼ`+¦+GÅ̹„yÍЬ͢ǧk‡‰6‰aN»Áð²ÍçL¨£ìŸ¡ÌÈöÍ4%Ì'êbèLÏšË_´Ë{a¸Ã°}[‹õ ÐþÃ|d:Ç™tô#Ð ­Ðû;'.ÒÁˆ,‰ -Ñ­Ï4ÙYA|Ð…IÑÍÑ*9W ±ÐƒY)jôk,²ÖÑ)­ÒžL>˜LŒ#~'MÌ¡jÌ+mÓ7½ÌUf@ Óªö>(ÓA-Ô—eÒ¹qà<ÔI­Ô|ƒ0Ýûm¼ÔQ-Õz«ÓLüÔñ<ÕY­Õ-êEViP½Õa-Ö¯ØÕS kH=Öi­ÖáQÔÅ„ÕãòÖk½ÕYÖj½<¦×^ÃÊrÍ×–}¼ Òl½×€mØ`ªÊ‡]^/\ØlÜØŠ Ù¯œØ‘¤;íÕ]òÏ”­Ù•œ˜@âÓ›]Îy Ú£ÍÙ^)e1MÚþÏ©ÍÚ …dÝÚÚ;ͱMÛSÕ‹h]Û'Ù¿›Û½­qëÛ÷[>—ÜÅÍSJfÜr1Ü‚œÜÍíÜéœwNýÜÓMÝ=*¸]ÝÙ­ÝȔȢ½ÝWìCRë‰ß ^éR×äM³ç ¾÷µWèͽÙ,†îÙê­Þ·µò‰ªÑø ØH]ßͲµÞ}Îzܶü=ßø{][Jß¾Í÷Œ°Þ×h}]•9 ÎàÐüÌY áýݳzʾÉjÇžú²î-=P$ÙçºIyÛáD©™ŠâgÛÌ3†â)®âXªŸu×/~.¸~zá5†^z‰­z´>Åã kà´ ÅQ«¨B®Ôÿ½Þ¾þj±H¾ˆKÎ亠PÕØ=b¼¡£Èß!dÔ"-å\>äCüåæ¼êÞâäÃn‰æSÝS¾;lžÂøIÞ\Ÿr>çR}ævÞ¶üJžjäÌKÃÄýçb}Ý2¢Ç]½×ÒC8sÀHÓz×ÔçÝ|nÖ‹n×y¢¾<¾ºÄÝ)ììÅšžx@¬Î¤Ü™9õ݉Éž.×Ú˜‹áÈ|ÒÜhÊ3é”tÓ‰êdž›¨ìQ±~ĽNëŸn(m­áù]î)ήuêÈ®´È¦Æ–’"TZšIÎÙjÜXÆÉ>×¹ÉQûèˆÅí½ê¨ÜºÖ.DKHQÇîΓÀ›~ì¨.î]Î'(Œ‘þ³¾Ï„ȧkØäÉjßñ ÅeÍ[é‹KåsèLK௙ïÜÝðIZÒ£›í÷ƒ³þ¨îËé­YðLüÇÐIÐReЦ*Ê_5©Åì¯J0ûØ8oì2ýÐl ßõj¥åÍV]žŒí˜}뿎Œ(¯Ü[œá,¿.¯MŸ‡ÏÍÔñßT|<¹µïzÔôñ>óP?ëÍ®\Jo¹r ñOŽô“Sç]õ¡ˆõ¬¥‘níÿë«bzõÏykOÀszÙgŸž·ÆÌð\F Zö<ÓCŸ%…ŽÃÓjµY¦êúÇm2€OkPå~÷¾îÎŽÙÁòúî‘ø>SÍŽXøjÑ@^Õ]þ³véíûññ¶„ÉC÷­y„ù™ï*&Nôï$`¿÷)kÂþ^úoóPKí÷¹óýLùÀó³”÷ºZ·_ôÛËܸ6°ÁÀGˆׂ¼ãt_íÓÞõ¬ïóZ¯­ÂÿõÌ/ýY­÷½n¡ßO¯¿òSoóæô•Žüß/쓟üð¿ÁçÏÿ=É Òµ§Ø õÅ©í•vé¼P,Í$úî¤6¬d3Ø¡WÂ_µíý…$â™T.™Mç•N©Uë›Õn¹]ï ݬ\;ËnéoÖq«çÒnª³ÍuÊ~-0ïe¬Ðð1Qq‘±Ññ2Rr’2̯þ3sG„íòl$¯3‚Дô).Unpv¤OTðcðOsñR·×÷8Xx˜¸Ø˜RöXÙ«uU†ÔvG· [§Ù¬/æ®´íÛ“Záyy+9½Ýý>^~¾G–×)ÿw¿2?‹2_MÃ6g]¸+ÜúÂóM  ‚æÊÙk¨Ä?i©\Ôå‘^H‘#I–4ÒÀ,(SkÆ'â­X× ZKæF!µnL`¬Cå gO#Ѧ¡¡e‘eŽU‚IŠl©I©S©Vµê4j&YOƒpäuÇU0s:+÷¢«7cñŒÛ‚í‘nY•݈ðnÆ·õ²bÚÚw[»½W þ6|ñN¦ŸÌHñ¤‹7ñ6æiù¤ØV:"Gy ó×TŸ»†–ÔqjÕ«Y‡$h³éàˆýú,3ÛÁpÏÜ=µãßyõæëÎxkåË™7/jñßz‡¯>&ùK×™VÞ$û¸e”Ðõ yxçëÙ·w/W=Ú)/wï‹/þ},ß}ð_¢ß‘ðüKbÀþüƒ;:hSª¬ãº8‰ߛ -\P AÃP8êÔP±Q»í¦ÊDàî;Aïæêð)[´BÆ m¼G“R4PÀ#´Äg‚okœM*#‡ q?!ìÃòü«ñIø–ÌË,µŒ‡Êþв4 ?\ñJ-@´áH$uÍ2jR7%™T‘«.ÉÜÏ<õT-MÅ„ÑÃô2ûo 7Áé1úô`%CÇœ“ÁÐ…sÏJ-½ÔµIó;¡ÎãHÏQ? ½%Tµ’ds¨R?õSÕF9ŬÊUkkÓZm½Õ3Zê§SŸ4•˜3cuñÄê<}tWvvŠqÀ_ÅÚÖŽ6/oƒ Ö|ÕÕLg1âöÙ’¼ lWp;ZŠY¯ÆÍÏ\jݵnÚwƒmwÓW•šñ'xÖ…¯¶b•us_ðе,^{¹¤WÞ„Å0Oáñæo"ßÒú!)Rÿä+]›ê¢)߆=V¦bˆïÂ/›{Ô þ¥a×"§äÜúfP³A8f+)¦ ÛU|S´Á¸n.­ÄCu*xæ6sÒygƲ5é€kÆ5†_Ez-žÉ"úeŒQŽJê©FÐj†âµö鲟sÙl­²ºúf->Úg¥\R 6n›–ªÃ&/Ò¦qNð¹µVǼÁÞºÁâUl¼Ór«héŸÜ—š(O‰kÎb™pgbÂWîÐA7Õn´ÝuÏ…ª&6š/¿<²NÈâ|¦?'Eð¶m²²ºh'ƒÛ)sýõâ7øÝø°öƒÿ¼ åÓqÿYôé;ž¸vœï\"¡èF>ùðËÍYã¶ÏúïSe‰} çb§óþ~}mÈÿmˆÏß…©âY~¶“˜ô¬ç l Ph£C ˜=¢ P>âßí°¼ÿ*€¹HÝ"ؘö½E:Jë^=7À&‚«ñ[×N¶B¬±+…‡XVëF˜º‡¤!xô`æHæ ìá~nc`ø¼Ñf^³m(1BP‡@ÓÝî.¸D 6±dOd];·§ûµÇ…qka¹å4ü5$!yÓ&´¨­»I‘S¦ËÚ÷8wAˆD1(šAâ…C¾ ‰‹Úi#ÍB=Õ§Š<øf1È< Ob<— »ñÂÒ¦Ofãx—V`cÚêá!½ë™’eA,_(7HþGÒñ–’×<ùCAÞp”¥ô#„¨HUB—\”UžT¦">qR]È,ãþ¡IHÌwÕ¸d[ŒR‹ù…¯D%Eé k¶Ò•Œ´UFNsžéTç:ÙÙNw¾žñ´d 刖nRSAÖ|˜”öòKL.Ò–¡ø¦>§V©bš,1š)2ÆÌ†”*•ÜV@쨓¶|¡ã̦w¦DB ŸE3":¦xÎ1Ê¥)UéJYÚR—®J˜¤E×èÍ‹Ž´zþ#”Eÿ©´£Ü´‹$ÕÓçx…‚› - 눪¯™FœAݦ@ë©Ë¢£3ó¨è)9S /ëXÉZVþ³ž•œü’éV…:J¯ŠLw;µiOÛÊÅ·¢Ñ¡ kªRsÔÝ%ÕD}Ý«Ìf©DvUvp=åTçxž¯å«T…,úbYYE’0iÓtkb™×o¨ ålï êÅÁªÉ0~%`BI°>) ­i.G1¥%jv±‘+#k+RZ¸¹fHé©ÛÞJjm)â˜aëÊØãþv¨zm€ :Å…±¦ºíQ/k×Ñö1«Uåëd Rïj¯ÁUoxÅ[Þ m½È•ªÁKÞpΗ¾w˜¥N‹ZçÌóGý•ƒ´\­r·æ½¯n¡;^̢Ǿô-oQ"\Èõ^ØÂ^ùê Ñ6þT®¦!øŽ«Pƒø£Ê°•”´&»Ú-ì?,áçÖ×Áö¯„É[â€*fºÖÒuZcãúÇ’u/‡Ûä#/¿ÃŒ$Šƒ|›þ®Øq´ÆRQì°{޳¹÷õ1@sZËj¢!D,”+*d!F¢­[sMd’»°FÙ˜í[˜óKá6G·TU–!–û&¢Æéí±Ú´uø,R@¾—²Î ^F! Ú+8´QY‡'=[7¯WÎBRc¤1ýdi2«Ö ¢L%e ›°Ñ GŒí¼B÷-W «$‹µh✹v˜ç%+Yhö„¡ìD~º²Df£÷˜Mgsdþ‹Ôdóg5©½à Û”Ïv7ì·2c—Ö¬ÕÇ5Çë^çsÀž^Oh‹äÝ¢º`î¾ô6o§ibWºjÝ…¶zGŒ@z óÆ÷®µYÒ½o~¯îÑàf7O=]¡ÞUÑ…ç>æ•Nj£Û׿fõÕ-G‚˜ŠKš¾ûw”ž½¼—ÖèÀ?ÍDß|ÛÕF¹>‰ú>Iâ<æ:¯›…hBç0’À¿_Â×Óñ5í’ÄNÓT+®A2À›æëîr#ðªfœ:°4Žú2od žw4É?m¢GU\oÝˬrèÔ—äô,g}V·ÎÌ•ì~™°³KWp7°ÛX©gqµï×záÇ-x½²Šþº®:Ùñ*–ËC=Ž:2ŸI¬ûå°xnÖç ¡w~§äïIüHöªùÃû}ò#*éåÂâËš¾H=Ê«ç!uÚŸFÚîõðï·£tÔ¯Žø° 9£ayJUp™ÉÏ”SKúÃúà}ìeoñ‚{ûã›Oíꉫ?ò‹Ëõƒj>× %'¬Ôlù.-càvÌ)ýó~ößOôàƒŸÁ¬ŠËÎOooÈòo^¦ã‰`Kò¾…(ŠS¶Å£í¤¬´ÌþFPû(¯ív,C¤ýþÏêtLÿªÂô&£œÒ(þD£Ãâ[Îù’%S¬[j%ŠL†öLå cdÌAþ=0Íìê.ä/Œ&¶Ô*¡–¥üÀLVîË ç%_‹î.ƒT°Cy#6 Î1r‡4ªi.ðéŠÐ¯¥ÿ®Ð\^°™Dhb­QбtH¶8d£° Í ­lT‚, µPSªp’ C 5®Ý˜f3e‘pûð9à,õ,­OÈÄ)àâ轎å/Tsýðñ’é0*ÐáJphJ ÄžPÙƒEyÉá÷îAQì§$¶ÏÀ0Rí}~$'ªêЮ®,Ç›HÖF±òÆñ [EA"ÎҎױþô4‡ßÑãøi̧ ÐåV€·1“‘û1¦8GŸÑ ²I‚à,‘ŠŠ ô‹å’çt1‘!˱" #= 28¾é2$…‰p‡30gMNR£ÊNC&‰±òì&bR'Ëåk4àðìî°îøô^r'ѬMÔÎÄ&1Û¦å"‘r‚Äãð³¦Ì£R$R*»1q"»¢)uЈTÎ|¼-Ñíþö¶$µsØ2-çY®‘#S&/l‡3^Œ.ÿRîr…˜œ.Ó0mm/É2BÆ’¹žG‹Î2S2Õf0þ­0'3³±èœr)͉NvhâÀ‰ Ê03Ks0TˆÒ4W³×~Ê ±É¤"åd΂ñv+Y73¤2Õ!7{3|òbyÀƒ1'ЉÏÜ|9uc7W"9›3pNŽ3Ã0/As tÍ9¯³—s!°“;c:s1§s6q»Ó<µI(WÄ/Ï“=ù+ôè'†Sì °ÂÚÓ>¯Ò-ãcËî“?ós ·Q:Ío<µêëúÓ@ñ5åÎ,”A÷ãˆó?äSÞÆ¬A+” QÿHÓB7ô¿è>ãS4BCT#yÌ([Ô+UÓFs4#Ëm>cT@þETÒpTGß,+WrHt'Yp»TAB]àÂI7ÔNÒ)J«$ãl ™TFÒÛÎJMTH¿TL/ K#š{Æì2Ç4–”Mß–ÒÌG&oÖN÷ÈMó”O)¨­ˆönSª€³O-tO Q“‡ë±󰉾3QôP#•RŸSÿlðð´R©­4=½¬SCUTc“ GÕTGuS]òRMÐ 55U½ïTuJSòôbÕVou»pUWÇêU95(Ÿ]µW'dW;)´úŠUYyµ3—ÕYßiXaõWïR£IkÔZ³u“>(­P[‡[¿U\)ç;IPÆ5þG']×ÕÿJR…°ZÙL…U^ë•X¯H6ƒ1îìµDÕ•_ÿõí¶PÂ5ÄÖPéÕ`äú©<¹Pa¥aVbù 9&ö`-c3Vc¹Ó_7Öc?dq0bC–dKÖd5QC:ödW–e[6Þ¾ñòÄï/qï4]ÖfoZ~n´°m2TgƒVhÿÅ*O–ÓQcd‡–i›¶øÞæ©CeO¬{€6:k³ŒêÇ‚úbj½È.ŸéÛÚRkËÖl÷îm)¹$Ó5blìkÏVnO–Ìn—–bMò+¨u`çÖoÿVm˜*jž$noÅj9Xy o—q=6‡:’pþwå´³;ø6Às3—Wj-)nW4=ï¡ÔÐPsK×t»%åôò«$WË·r{sítg—v¹ÙÈ'½èáßüÏmGWqI·vƒ÷og ù:wuu—Q]u…3,1ÐL«2…Wz…–ÜŠ·V÷«ß“Qw0¬3}÷CñbzÇ×e/Ž@Õö&5ÐÈ/¶@Ù @aÔÉ—~Iv3;}YÒ©´×⎕a“ Á' ¢~ xcÍnDÕíy/~…1Nþt¯j&‘§ Ø‚–PÏWT'˜9\u†ÞuZß¶p/Ø„aR!Ñ¿7XÑ‹{i~¯ÖÅŽ§Uaô5Á“oKø„þwØ=ëÓ5ð1›u…†FPE8k|–ñ‘†kx õv"-‘‡§8[7 ,m¸Î$C!n‘Tñw‰%ÑÈR ¶÷؃«-€©˜ßÔ‡±J-§`¸}oY7 ô}M-rŽø¸*LFØr]· 9-­˜Ug¦ÒØ"ÓÑ¿$H$ƒ²ŠW‰+ÇëBÒŒ ™“›3 /y}Ÿñ wx. ’2”¡’u{4}qJ ¹“c…áŸX‚ß6ˆ£#£—ÌÖ3’C™ÁÊ„j8LVèØrmùãXP–—¹J?y‘×X޹—¹x×,pë¯}Ѹ·”í`Žkÿwi,˜þ™Ë¹BUbsÀ·yÑ _¶šuébR’;ìŒG'nâ"EóUmåTÇ6Ùœÿ™.·yvNTÊr÷úˆOlB^˘DRØù®mm3) (ÆÊS•½ 3bÅ÷Û= º[·ò~K™Œy²”4‹~½9gíÒêE5Z¦ t Ç¶œw¡ Z€EšðÀäOüXCz4…Ù&l‰Bq›=uœgš©“n8(Ò>!¥wÑŸ³Ÿ}šY5˜¡I{¬:2Mnwó×EøW«›Ú¬YS.}ò¢N¨›ígCvFÙØ8i© ‰L<â»ÂÖhۧ3ù¬ÿÚ“Ë!/:f…°ªÇº–“¸8.4þR©ý<7¾®xN”²É°3Û4™®U©­•2{PãYŠ™¸"¥’á ´õÙ°”:™u•5›¶¯tž5”G»-§!ÕÕºŽáFïR‹ø¤e»¶“]sî­“·ˆš"E/1õŒƒ{ºƒtçôóºYY¹»ûU™»U‰ùë qç+ƒ‰ë?ý÷¨¬ºLz}#W‡½[¾ެ›Ø‹¶ÞþÍ*ÃI- ÷5x-¯x¯·Žx¾œMá›uyµÙ8«64GW°™*â¦ÚÁ\¿8-™k½¹[ÁCÜõ `WVÁ›¡W-¿Ó:ßrªNæŒÃ³»óÄÛ•EÜÆþ­Ôç<óÊ{äê{À9KE›—ÇY;Æá¶…pÀãûÆ—‰l®°¬»$š£‚'[¯/»m8V›É»<3‹–-™´\ ÷xþ¬|¸]ºN¼Ò WɽÎÏh¶Ýyª†’¿£[·ÇœÌõzoºñƒæ<ÎýŒfïÎI4/Í|…w–ß¼&Þᾂr™O|â+Þâq÷ƒ)þâ7žãa5Ÿ;äC1#XäKÞäÇäO^åWžå[Þå_æc^ægžækÞæoçs^çwžç{Þçèƒ^臞è‹Þèé“^é—žé›ÞéŸê£^ê§žê«Þê¯ë³^ë·žë»Þë¿ìÃ^ìÇžìËÞìÏíÓ^íמíÛÞíßîã^îçžîëÞîïïó^ï÷> ;yacas-1.3.6/docs/basicindex.html0000644000175000017500000000242612272440462016437 0ustar muammarmuammar
About
Read the manual
License (GPL)
Download
F.A.Q.
Credits
Related links
Email us
yacas-1.3.6/docs/yacas.css0000644000175000017500000000245212307153546015254 0ustar muammarmuammarbody { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; } .mainbody { background-image:url('back.gif'); } h1 { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:14px; } h2 { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:14px; } h3 { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:14px; } table { font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; } .codeEditor { background-color: #FFFFFF; border-style:none; } .aboutlink { color:#0000ff; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; } .librarylink { color:#000000; cursor:pointer; } .commandlink { color:#0000ff; cursor:pointer; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; } .linkcalc { text-decoration:none; color:#0000ff; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:12px; } a { text-decoration: none; cursor: pointer; } a:link { color:#0000FF; } a:visited { color:#4444AA; } a:hover { color:#AAAAEE; } a:active { color:#FF0000; } .articleTitle { background-color: #AAAAEE; color: #222266; padding: 4px 4px 4px 4px; border: 1px solid #555588; } a.articleTitleLink { color:#222266; } a.articleTitleLink:hover { color:#FFFFFF; } yacas-1.3.6/docs/newtonconvergence.yart0000644000175000017500000000454112261607322020070 0ustar muammarmuammar {{title:Code accompanying the demonstration of fast convergence of Newton iteration:title}} Here is the math behind Newton iteration; we start with a function f(x), and start at some value x0, and take a first-order Taylor series expansion as an approximation of the function: {{math: f \left( x \right) = f \left( x_0 \right) + \left( x - x_0 \right) \frac{d f(x)}{dx} :math}} We thus effectively approximate the function with a straight line. The shorter the distance (the nearer x is to x0), the more correct that approximation will be. This method thus only works well when the initial guess x0 is close to the real answer. We want the function f(x1) to be zero, so setting it to zero yields: {{math: f \left( x_0 \right) + \left( x_1 - x_0 \right) \frac{d f(x)}{dx} = 0 :math}} Or: {{math,heightPixels.160: x_1 = x_0 - \frac{f \left( x_0 \right) }{ \left[ \frac{d f \left( x_0 \right) }{dx} \right] } :math}} Repeating this for x1 to x2 and so on should yield more and more accurate answers. We will now try this out on a simple example. We will try to get the zero Sin(x)=0 for x at pi (thus effectively approximating the value of pi). The derivative of Sin(x) with respect to x is Cos(x), so the above expression becomes: {{math,heightPixels.160: x_1 = x_0 - \frac{sin \left( x_0 \right) }{cos \left( x_0 \right) } :math}} Or {{math: x_1 = x_0 - tan \left( x_0 \right) :math}} The demonstration at the top of this article shows the result of applying Newton iteration to a few examples. For each iteration it shows the current result, where the digits in red are the digits that are already correct, the black ones are not correct yet. This demonstration is really using Yacas, so you can insert real examples to try out yourself. The following block of code implements the Newton iteration used in the accompanying article. {{code: setup(expression):= [ newtonIteration(x):=Eval(`(Simplify(x-(@expression)/(D(x)(@expression))))); ]; newtonInitValue:=3; newtonPrecision := 50; start():= [ x:=newtonInitValue; x; ]; iterate() := [ x := RoundTo(N(newtonIteration(x),2*newtonPrecision),newtonPrecision); Check(Abs(newtonInitValue-x)/(1+Abs(newtonInitValue)) < 10000,"Iteration might be diverging"); Atom(String(x)); ]; :code}} Back to the article. yacas-1.3.6/docs/consoleview.html0000644000175000017500000000600312300203133016636 0ustar muammarmuammar
Find function:
yacas-1.3.6/docs/tutorialtext1.html0000644000175000017500000017303312261607322017160 0ustar muammarmuammar The Yacas computer algebra system

Introduction to Yacas: tutorial and examples

Introduction

Yacas allows you to do calculations, and can be used directly inside your browser. Above you should see the Yacas calculation center, with a text in blue stating "Click here to enter an expression". After tapping in that area, that text should be replaced with In>. You can type an expression to be executed here. If you don't know what to type don't worry, that is what this tutorial is for.

In this tutorial you will also see highlighted underlined text. Clicking on it invokes a calculation. For example, to get the result of adding one to one, you could click here: 1+1 (The calculation might take a few seconds the first time you click). Below in the calculation box you will then see In> 1+1 and a line following it with Out> 2. You can (and usually will) type it in manually in the calculation environment, but in this tutorial you can click on the links to perform the action. The above is obviously a simple example, but Yacas is capable of doing calculations that are a lot more complex. This tutorial should get you started in a few hours.

The Yacas syntax

Syntax is very important. It helps you read code or expressions, and sometimes even guides the way you think about a problem.

Expressions in Yacas are generally built up of words. We will not bore you with the exact definitions of such words, but roughly speaking they are either sequences of alphabetic letters, or a number, or a bracket, or space to separate words, or a word built up from symbols like +, -. *, <, etcetera. If you want, you can mix these different types of characters, by surrounding them with quotes. Thus, "This text" is what is called one token, surrounded by quotes, in Yacas.

The usual notation people use when writing down a calculation is called the infix notation, and you can readily recognize it, as for example 2+3 and 3*4. Prefix operators also exist. These operators come before an expression, like for example the unary minus sign (called unary because it accepts one argument), -(3*4). In addition to prefix operators there are also postfix operators, like the exclamation mark to calculate the factorial of a number, 10!.

Yacas understands standard simple arithmetic expressions. Some examples:

Divisions are not reduced to real numbers, but kept as a rational for as long as possible, since the rational is an exact correct expression (and any real number would just be an approximation. Yacas is able to change a rational in to a number with the function N, for example N(1/3).

Operators have "precedence", meaning that certain operations are done first before others are done. For example, in 2+3*4 the multiplication is performed before the addition. The usual way to change the order of a calculation is with round brackets. The round brackets in the expression (2+3)*4 will force Yacas to first add 2 and 3, and then multiply the result.

Simple function calls have their arguments between round brackets, separated by commas. Examples are Sin(Pi) (which indicates that you are interested in the value of the trigonometric function sin applied to the constant pi), and Min(5,1,3,-5,10) (which should return the lowest of its arguments, -5 in this case). Functions usually have the form f(), f(x) or f(x,y,z,...) depending on how many arguments the function accepts. Functions always return a result. For example, Cos(0) should return 1. Evaluating functions can be thought of as simplifying an expression as much as possible. Sometimes further simplification is not possible and a function returns itself unsimplified, like taking the square root of an integer Sqrt(2). A reduction to a number would be an approximation. We explain elsewhere how to get Yacas to simplify an expression to a number.

Yacas allows for use of the infix notation, but with some additions. Functions can be "bodied", meaning that the last argument is written past the close bracket. An example is ForEach, where we write ForEach(item, 1 .. 10) Echo(item);. Echo(item) is the last argument to the function ForEach.
A list is enclosed with curly braces, and is written out with commas between the elements, like for example {1,2,3}. items in lists (and things that can be made to look like lists, like arrays and strings), can then be accessed by indicating the index between square brackets after the object. {a,b,c}[2] should return b, as b is the second element in the list (Yacas starts counting from 1 when accessing elements). The same can be done with strings: "abc"[2].
And finally, function calls can be grouped together, where they get executed one at a time, and the result of executing the last expression is returned. This is done through square brackets, as [ Echo("Hello"); Echo("World"); True; ];, which first writes Hello to screen, then World on the next line, and then returns True.

When you type in an expression, you have to take in to account the fact that Yacas is case-sensitive. This means that a function sin (with all lowercase) is a different function from Sin (which starts with a capital s), and the variable v is a different one from V.

Using Yacas from the calculation center

As mentioned earlier, you can type in commands on the command line in the calculation center. Typically, you would enter one statement per line, for example, click on Sin(Pi/2);. The has a memory, and remembers results from calculations performed before. For example, if you define a function on a line (or set a variable to a value), the defined function (or variable) are available to be used in following lines. A session can be restarted (forgetting all previous definitions and results) by typing restart. All memory is erased in that case.

Statements should end with a semicolon ; although this is not required in interactive sessions (Yacas will append a semicolon at end of line to finish the statement).

The command line has a history list, so it should be easy to browse through the expressions you entered previously using the up and down arrow keys.

When a few characters have been typed, the command line will use the characters before the cursor as a filter into the history, and allow you to browse through all the commands in the history that start with these characters quickly, instead of browsing through the entire history. If the system recognized the first few characters, it will also show the commands that start with the sequence entered. You can use the arrow keys to browse through this list, and then select the intended function to be inserted by pressing enter.

Commands spanning multiple lines can (and actually have to) be entered by using a trailing backslash \ at end of each continued line. For example, clicking on 2+3+ will result in an error, but entering the same with a backslash at the end and then entering another expression will concatenate the two lines and evaluate the concatenated input.

Incidentally, any text Yacas prints without a prompt is either a message printed by a function as a side-effect, or an error message. Resulting values of expressions are always printed after an Out> prompt.

Yacas as a symbolic calculator

We are ready to try some calculations. Yacas uses a C-like infix syntax and is case-sensitive. Here are some exact manipulations with fractions for a start: 1/14+5/21*(30-(1+1/2)*5^2);

The standard scripts already contain a simple math library for symbolic simplification of basic algebraic functions. Any names such as x are treated as independent, symbolic variables and are not evaluated by default. Some examples to try:

Note that the answers are not just simple numbers here, but actual expressions. This is where Yacas shines. It was built specifically to do calculations that have expressions as answers.

In Yacas after a calculation is done, you can refer to the previous result with %. For example, we could first type (x+1)*(x-1), and then decide we would like to see a simpler version of that expression, and thus type Simplify(%), which should result in x^2-1.

The special operator % automatically recalls the result from the previous line. The function Simplify attempts to reduce an expression to a simpler form. Note that standard function names in Yacas are typically capitalized. Multiple capitalization such as ArcSin is sometimes used. The underscore character _ is a reserved operator symbol and cannot be part of variable or function names.

Yacas offers some more powerful symbolic manipulation operations. A few will be shown here to wetten the appetite.

Some simple equation solving algorithms are in place:

(Note the use of the == operator, which does not evaluate to anything, to denote an "equation" object.)

Taylor series are supported, for example: Taylor(x,0,3) Exp(x) is a bodied operator that expands Exp(x) for x around x=0, up to order 3.

Symbolic manipulation is the main application of Yacas. This is a small tour of the capabilities Yacas currently offers. Note that this list of examples is far from complete. Yacas contains a few hundred commands, of which only a few are shown here.

Arbitrary precision numbers

Yacas can deal with arbitrary precision numbers. It can work with large integers, like 20! (The ! means factorial, thus 1*2*3*...*20).

As we saw before, rational numbers will stay rational as long as the numerator and denominator are integers, so 55/10 will evaluate to 11/2. You can override this behavior by using the numerical evaluation function N(). For example, N(55/10) will evaluate to 5.5 . This behavior holds for most math functions. Yacas will try to maintain an exact answer (in terms of integers or fractions) instead of using floating point numbers, unless N() is used. Where the value for the constant pi is needed, use the built-in variable Pi. It will be replaced by the (approximate) numerical value when N(Pi) is called. Yacas knows some simplification rules using Pi (especially with trigonometric functions).

The function N takes either one or two arguments. It evaluates its first argument and tries to reduce it as much as possible to a real-valued approximation of the expression. If the second argument is present, it states the number of digits precision required. Thus N(1/234) returns a number with the current default precision (which starts at 20 digits), but you can request as many digits as you like by passing a second argument, as in N(1/234, 10), N(1/234, 20), N(1/234, 30), etcetera.

Note that we need to enter N() to force the approximate calculation, otherwise the fraction would have been left unevaluated.

Revisiting Pi, we can get as many digits of Pi as we like, by providing the precision required as argument to N. So to get 50 digits precision, we can evaluate N(Pi,50).

Taking a derivative of a function was amongst the very first of symbolic calculations to be performed by a computer, as the operation lends itself surprisingly well to being performed automatically. Naturally, it is also implemented in Yacas, through the function D. D is a bodied function, meaning that its last argument is past the closing brackets. Where normal functions are called with syntax similar to f(x,y,z), a bodied function would be called with a syntax f(x,y)z. Here are two examples of taking a derivative:

The {D} function also accepts an argument specifying how often the derivative has to be taken. In that case, the above expressions can also be written as:

Analytic functions

Many of the usual analytic functions have been defined in the Yacas library. Examples are Exp(1), Sin(2), ArcSin(1/2), Sqrt(2). These will not evaluate to a numeric result in general, unless the result is an integer, like Sqrt(4). If asked to reduce the result to a numeric approximation with the function N, then Yacas will do so, as for example in N(Sqrt(2),50).

Variables

Yacas supports variables. You can set the value of a variable with the := infix operator, as in a:=1;. The variable can then be used in expressions, and everywhere where it is referred to, it will be replaced by its value, a.

To clear a variable binding, execute Clear(a);. A variable will evaluate to itself after a call to clear it (so after the call to clear a above, calling a should now return a). This is one of the properties of the evaluation scheme of Yacas; when some object can not be evaluated or transformed any further, it is returned as the final result.

Functions

The := operator can also be used to define simple functions: f(x):=2*x*x. will define a new function, f, that accepts one argument and returns twice the square of that argument. This function can now be called, f(a). You can change the definition of a function by defining it again.

One and the same function name such as f may define different functions if they take different numbers of arguments. One can define a function f which takes one argument, as for example f(x):=x^2;, or two arguments, f(x,y):=x*y;. If you clicked on both links, both functions should now be defined, and f(a) calls the one function whereas f(a,b) calls the other.

Yacas is very flexible when it comes to types of mathematical objects. Functions can in general accept or return any type of argument.

Boolean expressions and predicates

Yacas predefines True and False as boolean values. Functions returning boolean values are called predicates. For example, IsNumber() and IsInteger() are predicates defined in the Yacas environment. For example, try IsNumber(2+x);, or IsInteger(15/5);.

There are also comparison operators. Typing 2 > 1 would return True. You can also use the infix operators And and Or, and the prefix operator Not, to make more complex boolean expressions. For example, try True And False, True Or False, True And Not(False).

Strings and lists

In addition to numbers and variables, Yacas supports strings and lists. Strings are simply sequences of characters enclosed by double quotes, for example: "this is a string with \"quotes\" in it".

Lists are ordered groups of items, as usual. Yacas represents lists by putting the objects between braces and separating them with commas. The list consisting of objects a, b, and c could be entered by typing {a,b,c}. In Yacas, vectors are represented as lists and matrices as lists of lists.

Items in a list can be accessed through the [ ] operator. The first element has index one. Examples: when you enter uu:={a,b,c,d,e,f}; then uu[2]; evaluates to b, and uu[2 .. 4]; evaluates to {b,c,d}. The "range" expression 2 .. 4 evaluates to {2,3,4}. Note that spaces around the .. operator are necessary, or else the parser will not be able to distinguish it from a part of a number.

Lists evaluate their arguments, and return a list with results of evaluating each element. So, typing {1+2,3}; would evaluate to {3,3}.

The idea of using lists to represent expressions dates back to the language LISP developed in the 1970's. From a small set of operations on lists, very powerful symbolic manipulation algorithms can be built. Lists can also be used as function arguments when a variable number of arguments are necessary.

Let's try some list operations now. First click on m:={a,b,c}; to set up an initial list to work on. Then click on links below:

  • Length(m); (return the length of a list)
  • Reverse(m); (return the string reversed)
  • Concat(m,m); (concatenate two strings)
  • m[1]:=d; (setting the first element of the list to a new value, d, as can be verified by evaluating m)
Many more list operations are described in the reference manual.

Writing simplification rules

Mathematical calculations require versatile transformations on symbolic quantities. Instead of trying to define all possible transformations, Yacas provides a simple and easy to use pattern matching scheme for manipulating expressions according to user-defined rules. Yacas itself is designed as a small core engine executing a large library of rules to match and replace patterns.

One simple application of pattern-matching rules is to define new functions. (This is actually the only way Yacas can learn about new functions.) As an example, let's define a function f that will evaluate factorials of non-negative integers. We will define a predicate to check whether our argument is indeed a non-negative integer, and we will use this predicate and the obvious recursion f(n)=n*f(n-1) if n>0 and 1 if n=0 to evaluate the factorial.

We start with the simple termination condition, which is that f(n) should return one if n is zero:

You can verify that this already works for input value zero, with f(0).

Now we come to the more complex line,

Now we realize we need a function IsGreaterThanZero, so we define this function, with You can verify that it works by trying f(5), which should return the same value as 5!.

In the above example we have first defined two "simplification rules" for a new function f(). Then we realized that we need to define a predicate IsIntegerGreaterThanZero(). A predicate equivalent to IsIntegerGreaterThanZero() is actually already defined in the standard library and it's called IsPositiveInteger, so it was not necessary, strictly speaking, to define our own predicate to do the same thing. We did it here just for illustration purposes.

The first two lines recursively define a factorial function f(n)=n*(n-1)*...*1. The rules are given precedence values 10 and 20, so the first rule will be applied first. Incidentally, the factorial is also defined in the standard library as a postfix operator ! and it is bound to an internal routine much faster than the recursion in our example. The example does show how to create your own routine with a few lines of code. One of the design goals of Yacas was to allow precisely that, definition of a new function with very little effort.

The operator <-- defines a rule to be applied to a specific function. (The <-- operation cannot be applied to an atom.) The _n in the rule for IsIntegerGreaterThanZero() specifies that any object which happens to be the argument of that predicate is matched and assigned to the local variable n. The expression to the right of <-- can use n (without the underscore) as a variable.

Now we consider the rules for the function f. The first rule just specifies that f(0) should be replaced by 1 in any expression. The second rule is a little more involved. n_IsIntegerGreaterThanZero is a match for the argument of f, with the proviso that the predicate IsIntegerGreaterThanZero(n) should return True, otherwise the pattern is not matched. The underscore operator is to be used only on the left hand side of the rule definition operator <--.

There is another, slightly longer but equivalent way of writing the second rule:

The underscore after the function object denotes a "postpredicate" that should return True or else there is no match. This predicate may be a complicated expression involving several logical operations, unlike the simple checking of just one predicate in the n_IsIntegerGreaterThanZero construct. The postpredicate can also use the variable n (without the underscore).

Precedence values for rules are given by a number followed by the # infix operator (and the transformation rule after it). This number determines the ordering of precedence for the pattern matching rules, with 0 the lowest allowed precedence value, i.e. rules with precedence 0 will be tried first. Multiple rules can have the same number: this just means that it doesn't matter what order these patterns are tried in. If no number is supplied, 0 is assumed. In our example, the rule f(0) <-- 1 must be applied earlier than the recursive rule, or else the recursion will never terminate. But as long as there are no other rules concerning the function f, the assignment of numbers 10 and 20 is arbitrary, and they could have been 500 and 501 just as well. It is usually a good idea however to keep some space between these numbers, so you have room to insert new transformation rules later on.

Predicates can be combined: for example, {IsIntegerGreaterThanZero()} could also have been defined as:

The first rule specifies that if n is an integer, and is greater than zero, the result is True, and the second rule states that otherwise (when the rule with precedence 10 did not apply) the predicate returns False.

In the above example, the expression n > 0 is added after the pattern and allows the pattern to match only if this predicate return True. This is a useful syntax for defining rules with complicated predicates. There is no difference between the rules F(n_IsPositiveInteger) <--... and F(_n)_(IsPositiveInteger(n)) <-- ... except that the first syntax is a little more concise.

The left hand side of a rule expression has the following form:
precedence # pattern _ postpredicate <-- replacement ;
The optional precedence must be a positive integer.

Some more examples of rules (not made clickable because their equivalents are already in the basic Yacas library):

  • 10 # _x + 0 <-- x;
  • 20 # _x - _x <-- 0;
  • ArcSin(Sin(_x)) <-- x;
The last rule has no explicit precedence specified in it (the precedence zero will be assigned automatically by the system).

Yacas will first try to match the pattern as a template. Names preceded or followed by an underscore can match any one object: a number, a function, a list, etc. Yacas will assign the relevant variables as local variables within the rule, and try the predicates as stated in the pattern. The post-predicate (defined after the pattern) is tried after all these matched. As an example, the simplification rule _x - _x <--0 specifies that the two objects at left and at right of the minus sign should be the same for this transformation rule to apply.

Local simplification rules

Sometimes you have an expression, and you want to use specific simplification rules on it that should not be universally applied. This can be done with the /: and the /:: operators. Suppose we have the expression containing things such as Ln(a*b), and we want to change these into Ln(a)+Ln(b). The easiest way to do this is using the /: operator as follows:

A whole list of simplification rules can be built up in the list, and they will be applied to the expression on the left hand side of /:.

Note that for these local rules, <- should be used instead of <--. Using latter would result in a global definition of a new transformation rule on evaluation, which is not the intention.

The /: operator traverses an expression from the top down, trying to apply the rules from the beginning of the list of rules to the end of the list of rules. If no rules can be applied to the whole expression, it will try the sub-expressions of the expression being analyzed.

It might be sometimes necessary to use the /:: operator, which repeatedly applies the /: operator until the result does not change any more. Caution is required, since rules can contradict each other, and that could result in an infinite loop. To detect this situation, just use /: repeatedly on the expression. The repetitive nature should become apparent.

Programming essentials

An important feature of Yacas is its programming language which allows you to create your own programs for doing calculations. This section describes some constructs and functions for control flow.

Looping can be done with the function ForEach. There are more options, but ForEach is the simplest to use for now and will suffice for this turorial. The statement form ForEach(x, list) body executes its body for each element of the list and assigns the variable x to that element each time. The statement form While(predicate) body repeats execution of the expression represented by body until evaluation of the expression represented by predicate returns False.

This example loops over the integers from one to three, and writes out a line for each, multiplying the integer by 3 and displaying the result with the function Echo: ForEach(x,1 .. 5) Echo(x," times 3 equals ",3*x);

Compound statements

Multiple statements can be grouped together using the [ and ] brackets. The compound [a; Echo("In the middle"); 1+2;]; evaluates a, then the echo command, and finally evaluates 1+2, and returns the result of evaluating the last statement 1+2.

A variable can be declared local to a compound statement block by the function Local(var1, var2,...). For example, if you execute [Local(v);v:=1+2;v;]; the result will be 3. The program body created a variable called v, assigned the value of evaluating 1+2 to it, and made sure the contents of the variable v were returned. If you now evaluate v afterwards you will notice that the variable v is not bound to a value any more. The variable v was defined locally in the program body between the two square brackets [ and ].

Conditional execution is implemented by the If(predicate, body1, body2) function call. If the expression predicate evaluates to True, the expression represented by body1 is evaluated, otherwise body2 is evaluated, and the corresponding value is returned. For example, the absolute value of a number can be computed with: f(x) := If(x < 0,-x,x); (note that there already is a standard library function that calculates the absolute value of a number).

Variables can also be made to be local to a small set of functions, with LocalSymbols(variables) body. For example, the following code snippet: LocalSymbols(a,b) [a:=0;b:=0; inc():=[a:=a+1;b:=b-1;show();]; show():=Echo("a = ",a," b = ",b); ]; defines two functions, inc and show. Calling inc() repeatedly increments a and decrements b, and calling show() then shows the result (the function "inc" also calls the function "show", but the purpose of this example is to show how two functions can share the same variable while the outside world cannot get at that variable). The variables are local to these two functions, as you can see by evaluating a and b outside the scope of these two functions. This feature is very important when writing a larger body of code, where you want to be able to guarantee that there are no unintended side-effects due to two bits of code defined in different files accidentally using the same global variable.

To illustrate these features, let us create a list of all even integers from 2 to 20 and compute the product of all those integers except those divisible by 3. (What follows is not necessarily the most economical way to do it in Yacas.)

        
[
  Local(L,i,answer);
  L:={};
  i:=2;
  /* Make a list of all even integers from 2 to 20 */
  While (i<=20)
  [
    L := Append(L,i);
    i := i + 2;
  ];
  /* Now calculate the product of all of 
     these numbers that are not divisible by 3 */
  answer := 1;
  ForEach(i,L)
    If (Mod(i, 3)!=0, answer := answer * i);
  /* And return the answer */
  answer;
];
      

We used a shorter form of If(predicate, body) with only one body which is executed when the condition holds. If the condition does not hold, this function call returns False. We also introduced comments, which can be placed between /* and */. Yacas will ignore anything between those two. When putting a program in a file you can also use //. Everything after // up until the end of the line will be a comment. Also shown is the use of the While function. Its form is While (predicate) body. While the expression represented by predicate evaluates to True, the expression represented by body will keep on being evaluated.

The above example is not the shortest possible way to write out the algorithm. It is written out in a procedural way, where the program explains step by step what the computer should do. There is nothing fundamentally wrong with the approach of writing down a program in a procedural way, but the symbolic nature of Yacas also allows you to write it in a more concise, elegant, compact way, by combining function calls.

There is nothing wrong with procedural style, but there is amore 'functional' approach to the same problem would go as follows below. The advantage of the functional approach is that it is shorter and more concise (the difference is cosmetic mostly).

Before we show how to do the same calculation in a functional style, we need to explain what a "pure function" is, as you will need it a lot when programming in a functional style. We will jump in with an example that should be self-explanatory. Consider the expression Lambda({x,y},x+y). This has two arguments, the first listing x and y, and the second an expression. We can use this construct with the function Apply as follows: Apply(Lambda({x,y},x+y),{2,3}). The result should be 5, the result of adding 2 and 3. The expression starting with Lambda is essentially a prescription for a specific operation, where it is stated that it accepts 2 arguments, and returns the two arguments added together. In this case, since the operation was so simple, we could also have used the name of a function to apply the arguments to, the addition operator in this case Apply("+",{2,3}). When the operations become more complex however, the Lambda construct becomes more useful.

Now we are ready to do the same example using a functional approach. First, let us construct a list with all even numbers from 2 to 20. For this we use the .. operator to set up all numbers from one to ten, and then multiply that with two: 2*(1 .. 10).

Now we want an expression that returns all the even numbers up to 20 which are not divisible by 3. For this we can use Select, which takes as first argument a predicate that should return True if the list item is to be accepted, and false otherwise, and as second argument the list in question: Select(Lambda({n},Mod(n,3)!=0),2*(1 .. 10)).
The numbers 6, 12 and 18 have been correctly filtered out. Here you see one example of a pure function where the operation is a little bit more complex.

All that remains is to factor the items in this list. For this we can use UnFlatten. Two examples of the use of UnFlatten are UnFlatten({a,b,c},"*",1) and UnFlatten({a,b,c},"+",0). The 0 and 1 are a base element to start with when grouping the arguments in to an expression (hence it is zero for addition and 1 for multiplication).

Now we have all the ingredients to finally do the same calculation we did above in a procedural way, but this time we can do it in a functional style, and thus captured in one concise single line: UnFlatten(Select(Lambda({n},Mod(n,3)!=0),2*(1 .. 10)),"*",1). As was mentioned before, the choice between the two is mostly a matter of style.

Macros

One of the powerful constructs in Yacas is the construct of a macro. In its essence, a macro is a prescription to create another program before executing the program. An example perhaps explains it best. Evaluate the following expression Macro(for,{st,pr,in,bd}) [(@st);While(@pr)[(@bd);(@in);];];. This expression defines a macro that allows for looping. Yacas has a For function already, but this is how it could be defined in one line (In Yacas the For function is bodied, we left that out here for clarity, as the example is about macros).

To see it work just type for(i:=0,i<3,i:=i+1,Echo(i)). You will see the count from one to three.

The construct works as follows; The expression defining the macro sets up a macro named for with four arguments. On the right is the body of the macro. This body contains expressions of the form @var. These are replaced by the values passed in on calling the macro. After all the variables have been replaced, the resulting expression is evaluated. In effect a new program has been created. Such macro constructs come from LISP, and are famous for allowing you to almost design your own programming language constructs just for your own problem at hand. When used right, macros can greatly simplify the task of writing a program.

You can also use the back-quote ` to expand a macro in-place. It takes on the form `(expression), where the expression can again contain sub-expressions of the form @variable. These instances will be replaced with the values of these variables.

The practice of programming in Yacas

When you become more proficient in working with Yacas you will be doing more and more sophisticated calculations. For such calculations it is generally necessary to write little programs. In real life you will usually write these programs in a text editor, and then start Yacas, load the text file you just wrote, and try out the calculation. Generally this is an iterative process, where you go back to the text editor to modify something, and then go back to Yacas, type restart and then reload the file.

On this site you can run Yacas in a little window called a Yacas calculation center (the same as the one below this tutorial). On page there is tab that contains a Yacas calculation center. If you click on that tab you will be directed to a larger calculation center than the one below this tutorial. In this page you can easily switch between doing a calculation and editing a program to load at startup. We tried to make the experience match the general use of Yacas on a desktop as much as possible. The Yacas journal (which you see when you go to the Yacas web site) contains examples of calculations done before by others.

Defining your own operators

Large part of the Yacas system is defined in the scripting language itself. This includes the definitions of the operators it accepts, and their precedences. This means that you too can define your own operators. This section shows you how to do that.

Suppose we wanted to define a function F(x,y)=x/y+y/x. We could use the standard syntax F(a,b) := a/b + b/a;. F(1,2);. For the purpose of this demonstration, lets assume that we want to define an infix operator xx for this operation. We can teach Yacas about this infix operator with Infix("xx", OpPrecedence("/"));. Here we told Yacas that the operator xx is to have the same precedence as the division operator. We can now proceed to tell Yacas how to evaluate expressions involving the operator xx by defining it as we would with a function, a xx b := a/b + b/a;.

You can verify for yourself 3 xx 2 + 1; and 1 + 3 xx 2; return the same value, and that they follow the precedence rules (eg. xx binds stronger than +).

We have chosen the name xx just to show that we don't need to use the special characters in the infix operator's name. However we must define this operator as infix before using it in expressions, otherwise Yacas will raise a syntax error.

Finally, we might decide to be completely flexible with this important function and also define it as a mathematical operator ## . First we define ## as a bodied function and then proceed as before. First we can tell Yacas that ## is a bodied operator with Bodied("##", OpPrecedence("/"));. Then we define the function itself: ##(a) b := a xx b;. And now we can use the function, ##(1) 3 + 2;.

We have used the name ## but we could have used any other name such as xx or F or even _-+@+-_. Apart from possibly confusing yourself, it doesn't matter what you call the functions you define.

There is currently one limitation in Yacas: once a function name is declared as infix (prefix, postfix) or bodied, it will always be interpreted that way. If we declare a function f to be bodied, we may later define different functions named f with different numbers of arguments, however all of these functions must be bodied.

When you use infix operators and either a prefix of postfix operator next to it you can run in to a situation where Yacas can not quite figure out what you typed. This happens when the operators are right next to each other and all consist of symbols (and could thus in principle form a single operator). Yacas will raise an error in that case. This can be avoided by inserting spaces.

Some assorted programming topics

One use of lists is the associative list, sometimes called a dictionary in other programming languages, which is implemented in Yacas simply as a list of key-value pairs. Keys must be strings and values may be any objects. Associative lists can also work as mini-databases, where a name is associated to an object. As an example, first enter record:={}; to set up an empty record. After that, we can fill arbitrary fields in this record:

Now, evaluating record["name"] should result in the answer "Isaia". The record is now a list that contains three sublists, as you can see by evaluating record.

Assignment of multiple variables is also possible using lists. For instance, evaluating {x,y}:={2!,3!} will result in 2 being assigned to x and 6 to y.

When assigning variables, the right hand side is evaluated before it is assigned. Thus a:=2*2 will set a to 4. This is however not the case for functions. When entering f(x):=x+x the right hand side, x+x, is not evaluated before being assigned. This can be forced by using Eval(). Defining f(x) with f(x):=Eval(x+x) will tell the system to first evaluate x+x (which results in 2*x) before assigning it to the user function f. This specific example is not a very useful one but it will come in handy when the operation being performed on the right hand side is expensive. For example, if we evaluate a Taylor series expansion before assigning it to the user-defined function, the engine doesn't need to create the Taylor series expansion each time that user-defined function is called.

The imaginary unit i is denoted I and complex numbers can be entered as either expressions involving I, as for example 1+I*2, or explicitly as Complex(a,b) for a+ib. The form Complex(re,im) is the way Yacas deals with complex numbers internally.

Linear Algebra

Vectors of fixed dimension are represented as lists of their components. The list {1, 2+x, 3*Sin(p)} would be a three-dimensional vector with components 1, 2+x and 3*Sin(p). Matrices are represented as a lists of lists.

Vector components can be assigned values just like list items, since they are in fact list items. If we first set up a variable called "vector" to contain a three-dimensional vector with the command vector:=ZeroVector(3); (you can verify that it is indeed a vector with all components set to zero by evaluating vector), you can change elements of the vector just like you would the elements of a list (seeing as it is represented as a list). For example, to set the second element to two, just evaluate vector[2] := 2;. This results in a new value for vector.

Yacas can perform multiplication of matrices, vectors and numbers as usual in linear algebra. The standard Yacas script library also includes taking the determinant and inverse of a matrix, finding eigenvectors and eigenvalues (in simple cases) and solving linear sets of equations, such as A * x = b where A is a matrix, and x and b are vectors. As a little example to wetten your appetite, we define a Hilbert matrix: hilbert:=HilbertMatrix(3). We can then calculate the determinant with Determinant(hilbert), or the inverse with Inverse(hilbert). There are several more matrix operations supported. See the reference manual for more details.

"Threading" of functions

Some functions in Yacas can be "threaded". This means that calling the function with a list as argument will result in a list with that function being called on each item in the list. E.g. Sin({a,b,c}); will result in {Sin(a),Sin(b),Sin(c)}. This functionality is implemented for most normal analytic functions and arithmetic operators.

Functions as lists

For some work it pays to understand how things work under the hood. Internally, Yacas represents all atomic expressions (numbers and variables) as strings and all compound expressions as lists, like LISP. Try FullForm(a+b*c); and you will see the text (+ a (* b c )) appear on the screen. This function is occasionally useful, for example when trying to figure out why a specific transformation rule does not work on a specific expression.

If you try FullForm(1+2) you will see that the result is not quite what we intended. The system first adds up one and two, and then shows the tree structure of the end result, which is a simple number 3. To stop Yacas from evaluating something, you can use the function Hold, as FullForm(Hold(1+2)). The function Eval is the opposite, it instructs Yacas to re-evaluate its argument (effectively evaluating it twice). This undoes the effect of Hold, as for example Eval(Hold(1+2)).

Also, any expression can be converted to a list by the function Listify or back to an expression by the function UnList:

Note that the first element of the list is the name of the function +Atom("+") and that the subexpression b*(c+d) was not converted to list form. Listify just took the top node of the expression.

This concludes the online tutorial. A good place to go next is the "Yacas Journal", which has some examples small but useful programs written in Yacas to do specific calculations.

yacas-1.3.6/docs/tutorials.html0000644000175000017500000000357512307133631016356 0ustar muammarmuammar
yacas-1.3.6/docs/placeholder.html0000644000175000017500000000000212261607322016572 0ustar muammarmuammar yacas-1.3.6/docs/links.html0000644000175000017500000002047112321746431015446 0ustar muammarmuammar

Related links on the internet

Free documents relating to computer algebra

This is a short list of links that might be of interest, regarding CAS algorithms.

mathworld — Math world is a rather extensive site with encyclopedic information on mathematical subjects.

A=B — This is a wonderful book on the Gosper-Zeilberger algorithm. Definitely worth a read, and a nice explanation of one of the success stories in the field of computer algebra.

Structure and interpretation of classical mechanics — From the writers of the well-known "Structure and interpretation of computer programs", this book (available for free online) delves into doing classical mechanics calculations using Scheme in this case (Scheme is a Lisp dialect, and as such related to Yacas). This is not strictly a book about computer algebra, but about one of the uses for computer algebra. This should be nice literature for Physics students wanting to try out calculations in this field. No need to roll your own Lisp dialect, just follow this book!

Wester benchmark — The Wester benchmark has been used to compare features between various CAS.

Known math — (review forthcoming)

Projects that use Yacas

R — R is a statistics package, but a connection with Yacas has been made through the project Ryacas. R seems to have a huge community of users and contributors, and is is well engineered and easy to use.

mavscript — With Mavscript you can do calculations in a text document.

Other freely available math packages that have symbolic capabilities

This is a short list of links to other related math packages I could find on the net for which source code is also available. If you know of any other software please let me know.

Pari-GP — Pari-GP is somewhat similar to Yacas, but based on pure "C" code and it is geared to Number Theory while not being actually "symbolic". That is, all expressions are expanded completely. (1+x)^2 = 1+2*x+x^2 and is not stored in the unexpanded form. Also, no LISP or equivalent is included. More details are available on the web.

Maxima — Maxima is a Macsyma (early computer algebra system) clone, fully GPL'led. It can be found in the GNU repositories, and is written in Common Lisp. Maxima is being maintained by an active and friendly community.

Axiom — Axiom is a "new generation" CAS that uses strong typing to improve code quality. Next to Maxima this is one of the big systems, recently released under open source licenses. Like Maxima, Axiom also has an active and friendly developer community.

Euler — Euler is a package aimed at numeric calculations. It has been married with Euler.

Ginac — Ginac is a c++ library for doing computer algebra. It allows symbolic manipulation from within a c++ program. It is currently in active development, and looks very promising.
GiNaC is an iterated and recursive acronym for GiNaC is Not a CAS, where CAS stands for Computer Algebra System. It is designed to allow the creation of integrated systems that embed symbolic manipulations together with more established areas of computer science (like computation- intense numeric applications, graphical interfaces, etc.) under one roof. It is distributed under the terms and conditions of the GNU general public license (GPL).

MockMMA — MockMMA is a Mathematica-style parser and pattern matcher, written in Lisp, with some additional mathematical functionality. The link mentioned here directs you to Richard Fateman's page, which should contain a link to MockMMA.

LiDIA — (review forthcoming)

Sympy — A new computer algebra system project that seems to have come out of nowhere, and looks quite promising It already has an active base of enthusiastic maintainers.

Software parts that are being used inside Yacas

minilzo — A lovely little and fast compression library that Yacas uses internally, for storing scripts in an archive.

Python — Yacas uses a memory manager optimized for allocating many small blocks of memory (like an interpreter typically does), which was borrowed from Python.

tabber — The tabs that are visible on the Yacas web site use tabber.

Various other mathematics-related software

Octave — (review forthcoming)

yorick — (review forthcoming)

scilab — (review forthcoming)

rlab — (review forthcoming)

Object oriented numerics — (review forthcoming)

Gnu Scientific Library — (review forthcoming)

Miscellaneous

ffes — Written mathematical expression reader. (review forthcoming)

Operations-Research objects — (review forthcoming)

yacas-1.3.6/docs/autocompleter.cpp0000644000175000017500000001007012307607145017023 0ustar muammarmuammar #include #include #include #include std::string lastKey; std::string lastVal; std::string lastDes; std::string escape(const std::string& text) { std::string r; for (std::string::const_iterator i = text.begin(); i != text.end(); ++i) { if (*i == '\'') r += '\\'; r += *i; } return r; } FILE*fout; int first = 1; struct Example { std::string name; std::string example; }; Example examples[1024]; int nrExamples = 0; int exampleCompare(const void *v1, const void *v2) { Example* e1 = (Example*)v1; Example* e2 = (Example*)v2; return strcmp(e1->name.c_str(), e2->name.c_str()); } char *items[10]; int nrItems=0; void getfields(char* buffer) { nrItems=0; char* ptr = buffer; items[nrItems++] = ptr; while (*ptr) { while (*ptr && *ptr != ':') { // Use backslash for escaping for example ':' characters if (*ptr == '\\') ptr++; ptr++; } if (*ptr) { *ptr++ = '\0'; items[nrItems++] = ptr; } } } const char* findexample(const char* name) { Example key; key.name = name; void *found = bsearch(&key, examples, nrExamples, sizeof(Example),exampleCompare); if (found) return ((Example*) found)->example.c_str(); return ""; } void WriteLine() { if (!lastKey.empty()) { if (!first) { fprintf(fout,",\n"); } first = 0; fprintf(fout,"\'%s\',\n",escape(lastKey).c_str()); fprintf(fout,"\'
    %s
\',\n",escape(lastVal).c_str()); fprintf(fout,"\'%s\',\n",escape(lastDes).c_str()); fprintf(fout,"\'%s\'\n",findexample(lastKey.c_str())); // placeholder for examples lastKey[0] = '\0'; lastVal[0] = '\0'; lastDes[0] = '\0'; } } int main(int argc, char** argv) { char buffer[16384]; lastKey[0] = '\0'; lastVal[0] = '\0'; lastDes[0] = '\0'; const char* inName = "hints.txt"; const char* outName = "autocompleter.js"; if (argc>2) { inName = argv[1]; outName = argv[2]; } { FILE* fex = fopen("examples-static.txt","rb"); if (!fex) exit(-1); while (fgets(buffer,16384,fex) && !feof(fex)) { getfields(buffer); if (nrItems>1) { examples[nrExamples].name = items[0]; examples[nrExamples].example = items[1]; nrExamples++; } } fclose(fex); qsort(examples, nrExamples, sizeof(Example),exampleCompare); { int i; for (i=0;i3) { if (strcmp(lastKey.c_str(), items[1])) { WriteLine(); lastKey = items[1]; lastVal = ""; if (!strncmp(lastKey.c_str(),items[2],lastKey.length())) { lastVal += "
  • "; lastVal += lastKey; lastVal += ""; lastVal += &items[2][lastKey.length()]; } else { lastVal += items[2]; } lastDes = items[3]; } else { // strcat(lastVal,", \\n"); if (!strncmp(lastKey.c_str(),items[2],lastKey.length())) { lastVal += "
  • "; lastVal += lastKey; lastVal += ""; lastVal += &items[2][lastKey.length()]; } else { lastVal += items[2]; } lastDes += items[3]; } } } WriteLine(); fclose(fin); fprintf(fout,");\n"); fclose(fout); return 0; } yacas-1.3.6/docs/newtonconvergence.html0000644000175000017500000002527012261607322020057 0ustar muammarmuammar

    A demonstration of the amazingly fast convergence of Newton iteration

    Please wait, loading demonstration...

    You probably played the game where you have to guess a number below one hundred, say, and where you get an indication "higher" or "lower" for each guess you make. The trick with this game is to always guess in the middle of the range known to contain the solution, so the chance that the number you are guessing at is higher is equal to the chance that the number is lower, thus halving the range with each answer. This ensures that you arrive at the correct answer in the least possible steps, on average, if this is all the information you are given.

    The method of searching by guessing in the middle of the possible solutions is called a binary search (or sometimes the bisection method), and is often the best approach when trying to find something. The speed with which you gather information with a binary search grows linearly with the number of questions you ask. Each time you get an answer, you have another bit of information, while maximizing the information content of the answer to each question. The answer you get to a question where the odds for a certain answer is 99 percent gives much less information, because you already knew what the answer was likely to be.

    There are situations where binary search is not the best approach, and finding the zero of a smooth continuous function is one such example. For finding a zero, Newton iteration will usually outshine binary search, and it is not even a close call. The reason finding a zero of an analytic function is better done through Newton iteration is that with a smooth continuous function one does have more information, namely the derivative of the function! The function, together with its derivative, can be used in an ingenious way to not just determine the direction one has to consider for the zero, but also to determine an estimate of the distance to the final solution.

    The speed of convergence of Newton iteration can sometimes be nothing short of astounding. It will often happen, for suitably neatly defined problems, that the amount of information you gather doubles with each question you ask! Or even triples! Imagine having an encyclopedia, where the number of volumes you have doubles each time you put in some effort to get new information (by finding the answer to a question). Each time you get an answer to a question, you double the number of words of information you have. You can see this happen in the demonstration at the top of this article, where the digits in red indicate correct digits, and black are as of yet incorrect digits. With the typical example, the number of digits precision doubles or triples with each iteration. This is very far off from the application of binary search, where you get one extra bit of information in a linear fashion, each time you ask a question. With binary search, you would have ten bits of information after ten inquiries. With a Newton iteration you are bound to have around a thousand (two to the power of ten). And the speed of growth of information keeps speeding up exponentially.

    At the top of this article is a little utility written in Javascript that demonstrates the fast convergence of the Newton iteration for a few examples. You can also enter your own. The digits in red are the digits where the value is the same as the digit in the line below it (the assumption is made that that digit has the final and correct value). As you can see, the speed at which the number of red digits increases per iteration grows exponentially for many examples.

    The following article delves deeper in to the math of Newton iteration, and presents the Yacas script code that was used for this demonstration.

    Your browser does not support Java, so nothing is displayed. yacas-1.3.6/docs/range_control.js0000755000175000017500000002012512261607322016627 0ustar muammarmuammar var prevInit = window.onload; window.onload = initSliders; var scrollWidth = 320-4; // Same as in css file function initSliders() { if (prevInit) prevInit(); var sliderReplacements = getElementsByClass("slider"); for (var i = 0; i < sliderReplacements.length; i++) { var container = document.createElement("div"); var leftSlider = document.createElement("div"); var rightSlider = document.createElement("div"); var inbetween = document.createElement("div"); var textual = document.createElement("div"); var sliderReplacementID = sliderReplacements[i].getAttribute("id"); if (sliderReplacementID != null || sliderReplacementID != "") { container.setAttribute("id", sliderReplacementID + "SliderContainer"); } container.className = "sliderContainer"; var lowValue = sliderReplacements[i].getAttribute("lowValue"); if (lowValue == null) lowValue = "0"; var highValue = sliderReplacements[i].getAttribute("highValue"); if (highValue == null) highValue = "0"; var variable = sliderReplacements[i].getAttribute("variable"); if (variable == null) variable = "0"; textual.innerHTML = lowValue+" < "+variable+" < "+highValue; var cursorPosition = getAbsolutePosition(sliderReplacements[i]); var left = cursorPosition[0]; var top = cursorPosition[1]; leftSlider.valueX = left; leftSlider.className = "sliderWidgetLeft"; leftSlider.style.left = (leftSlider.valueX) + "px"; leftSlider.style.top = (top) + "px"; leftSlider.calculatePosition = calculatePosition; var right = parseInt(left)+scrollWidth; rightSlider.valueX = right; rightSlider.className = "sliderWidgetRight"; rightSlider.style.left = (rightSlider.valueX) + "px"; rightSlider.style.top = (top) + "px"; rightSlider.calculatePosition = calculatePosition; inbetween.className = "sliderInbetween"; inbetween.style.left = (leftSlider.valueX) + "px"; inbetween.style.top = (top) + "px"; inbetween.style.width = (rightSlider.valueX-leftSlider.valueX) + "px"; container.appendChild(inbetween); container.appendChild(leftSlider); container.appendChild(rightSlider); sliderReplacements[i].parentNode.insertBefore(container, sliderReplacements[i]); sliderReplacements[i].parentNode.insertBefore(textual, sliderReplacements[i]); container.leftSlider = leftSlider; container.inbetween = inbetween; container.rightSlider = rightSlider; container.textual = textual; container.variable = variable; container.lowValue = lowValue; container.highValue = highValue; updateTextual(container); attachEventListener(leftSlider, "mousedown", mousedownSlider, false); attachEventListener(rightSlider, "mousedown", mousedownSlider, false); } return true; } function mousedownSlider(event) { if (typeof event == "undefined") { event = window.event; } var target = getEventTarget(event); while (target.className.indexOf("sliderWidget") < 0) target = target.parentNode; document.currentSlider = target; target.originX = event.clientX; attachEventListener(document, "mousemove", mousemoveSlider, false); attachEventListener(document, "mouseup", mouseupSlider, false); stopDefaultAction(event); return true; } function getAbsolutePosition(elem) { var position = [0, 0]; while (elem != null) { position[0] += elem.offsetLeft; position[1] += elem.offsetTop; elem = elem.offsetParent; } return position; } function mousemoveSlider(event) { if (typeof event == "undefined") { event = window.event; } var slider = document.currentSlider; var sliderLeft = slider.valueX; var increment = 1; if (isNaN(sliderLeft)) { sliderLeft = 0; } sliderLeft += event.clientX - slider.originX; var sliderWidth = slider.offsetWidth; var parentWidth = slider.parentNode.offsetWidth; var parentPosition = getAbsolutePosition(slider.parentNode); var leftPosition = getAbsolutePosition(slider.parentNode.leftSlider ); var rightPosition = getAbsolutePosition(slider.parentNode.rightSlider); if (sliderLeft < parentPosition[0]) { sliderLeft = parentPosition[0]; } else if (sliderLeft > parentPosition[0] + parentWidth - sliderWidth) { sliderLeft = parentPosition[0] + parentWidth - sliderWidth; } else { slider.originX = event.clientX; } if (slider.className == "sliderWidgetLeft") { slider.parentNode.inbetween.style.left = sliderLeft+"px"; slider.parentNode.inbetween.style.width = (rightPosition[0] - sliderLeft-sliderWidth)+"px"; leftPosition[0] = sliderLeft; } else if (slider.className == "sliderWidgetRight") { var cursorPosition = leftPosition; slider.parentNode.inbetween.style.width = (sliderLeft-leftPosition[0]+sliderWidth)+"px"; rightPosition[0] = sliderLeft; } slider.style.left = Math.round(sliderLeft / increment) * increment + "px"; slider.valueX = sliderLeft; updateTextual(slider.parentNode); stopDefaultAction(event); return true; } function calculatePosition() { var parentPosition = getAbsolutePosition(this.parentNode); var sliderPosition = getAbsolutePosition(this); var value; sliderPosition[0] -= 8; value = sliderPosition[0]-parentPosition[0]; value = value * (this.parentNode.highValue-this.parentNode.lowValue); value = value / scrollWidth; value = value + parseFloat(this.parentNode.lowValue); return value; } function updateTextual(container) { if (container.textual) { var leftVal = container.leftSlider.calculatePosition(); var rightVal = container.rightSlider.calculatePosition(); leftVal = parseInt(""+(100*leftVal))/100; rightVal = parseInt(""+(100*rightVal))/100; container.textual.innerHTML = leftVal+" < "+container.variable+" < "+rightVal; } } function mouseupSlider() { detachEventListener(document, "mousemove", mousemoveSlider, false); detachEventListener(document, "mouseup", mouseupSlider, false); return true; } function attachEventListener(target, eventType, functionRef, capture) { if (typeof target.addEventListener != "undefined") { target.addEventListener(eventType, functionRef, capture); } else if (typeof target.attachEvent != "undefined") { target.attachEvent("on" + eventType, functionRef); } else { eventType = "on" + eventType; if (typeof target[eventType] == "function") { var oldListener = target[eventType]; target[eventType] = function() { oldListener(); return functionRef(); } } else { target[eventType] = functionRef; } } return true; } function detachEventListener(target, eventType, functionRef, capture) { if (typeof target.removeEventListener != "undefined") { target.removeEventListener(eventType, functionRef, capture) } else if (typeof target.detachEvent != "undefined") { target.detachEvent("on" + eventType, functionRef); } else { target["on" + eventType] = null; } return true; } function getEventTarget(event) { var targetElement = null; if (typeof event.target != "undefined") { targetElement = event.target; } else { targetElement = event.srcElement; } while (targetElement.nodeType == 3 && targetElement.parentNode != null) { targetElement = targetElement.parentNode; } return targetElement; } function stopDefaultAction(event) { event.returnValue = false; if (typeof event.preventDefault != "undefined") { event.preventDefault(); } return true; } function getElementsByClass(classValue) { var elementArray = new Array(); var matchedArray = new Array(); if (document.all) { elementArray = document.all; } else { elementArray = document.getElementsByTagName("*"); } for (var i = 0; i < elementArray.length; i++) { if (elementArray[i].className == classValue) { matchedArray[matchedArray.length] = elementArray[i]; } } return matchedArray; } yacas-1.3.6/docs/yacas.js0000644000175000017500000003412112274504604015074 0ustar muammarmuammar // This file has some functions needed in pages where commands need to be sent to a Java applet. var prevOnLoadTutorial = window.onload; window.onload = initPage; function initPage() { var viewportSize = getViewportSize(); var preferredWidth = viewportSize[0]-400; var preferredHeight = viewportSize[1]-100; if (preferredWidth < 320) preferredWidth = 320; if (preferredHeight < 200) preferredHeight = 200; if (prevOnLoadTutorial) prevOnLoadTutorial(); if (!document.getElementsByTagName) { return; } { var popups = document.getElementById("popups"); if (popups) { popups.style.height = preferredHeight+"px"; } } { var links = document.getElementsByTagName("a"); for (var i=0; i'+ ' '+ expression + '
    '; } } } } { var links = document.getElementsByTagName("span"); for (var i=0; iwww.java.com' + ' to download and install the latest version for free.' + '

    ' + '

    ' + ' Alternatively you can go to the downloads part of our web site and download yacas for use off-line.' + '

    '; } else if (object.className == "codeEdit") { var width = preferredWidth; var height = preferredHeight; object.innerHTML = ' ' + ' ' + ' ' + '
    ' + ' Code editor<\/span>' + ' <\/td>' + ' <\/tr>' + '
    ' + '