Loading...
HomeMy WebLinkAboutAccount.mhtFrom: <Saved by Windows Internet Explorer 7> Subject: Account Date: Tue, 3 May 2011 14:32:50 -0600 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01CC099E.FB1C2430" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6090 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/taxweb/account.jsp?accountNum=R011171 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" = "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd"> <HTML xml:lang=3D"en"=20 xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD><TITLE>Account</TITLE> <META http-equiv=3DContent-Type content=3D"text/html; = charset=3Diso-8859-1"><LINK=20 media=3Dscreen = href=3D"https://act.garfield-county.com/assessor/web/css/base.css"=20 type=3Dtext/css rel=3Dstylesheet></LINK><LINK media=3Dprint=20 href=3D"https://act.garfield-county.com/assessor/web/css/print.css" = type=3Dtext/css=20 rel=3Dstylesheet></LINK><LINK media=3Dscreen=20 href=3D"https://act.garfield-county.com/assessor/web/custom/custom.css"=20 type=3Dtext/css rel=3Dstylesheet></LINK><LINK media=3Dscreen=20 href=3D"https://act.garfield-county.com/assessor/web/css/tooltip.css"=20 type=3Dtext/css rel=3Dstylesheet></LINK><LINK media=3Dscreen=20 href=3D"https://act.garfield-county.com/assessor/web/css/drop3.css" = type=3Dtext/css=20 rel=3Dstylesheet></LINK><LINK media=3Dscreen=20 href=3D"https://act.garfield-county.com/assessor/web/includes/modalbox1.6= .0/modalbox.css"=20 type=3Dtext/css rel=3Dstylesheet></LINK> <SCRIPT=20 src=3D"https://act.garfield-county.com/assessor/web/includes/prototype/pr= ototype.js"=20 type=3Dtext/javascript></SCRIPT> <SCRIPT=20 src=3D"https://act.garfield-county.com/assessor/web/includes/script.aculo= .us/scriptaculous.js"=20 type=3Dtext/javascript></SCRIPT> <SCRIPT=20 src=3D"https://act.garfield-county.com/assessor/web/includes/tooltip-v0.2= .js"=20 type=3Dtext/javascript></SCRIPT> <SCRIPT=20 src=3D"https://act.garfield-county.com/assessor/web/includes/tabbedlayout= .js"=20 type=3Dtext/javascript></SCRIPT> <SCRIPT=20 src=3D"https://act.garfield-county.com/assessor/web/includes/modalbox1.6.= 0/modalbox.js"=20 type=3Dtext/javascript></SCRIPT> <META content=3D"MSHTML 6.00.6000.17097" name=3DGENERATOR></HEAD> <BODY id=3DPAGE_ACCOUNT> <TABLE id=3Dcolumns> <TBODY> <TR> <TD id=3Dheader_cell colSpan=3D2> <DIV id=3Dheader> <H1></H1></DIV> <DIV id=3Dnav> <UL> <LI class=3Dfirst><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/search.jsp">Accou= nt=20 Search</A>=20 <LI class=3D""><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/saleSearch.jsp">S= ale=20 Search</A>=20 <LI class=3D""><A=20 = href=3D"https://act.garfield-county.com/assessor/web/help.jsp">Help?</A> = <LI class=3D""><A=20 = href=3D"https://act.garfield-county.com/assessor/web/logout.jsp">Logout=20 Public</A>=20 <LI><A=20 = href=3D"https://act.garfield-county.com/recorder/web">RecorderWeb</A>=20 <LI><A=20 = href=3D"https://act.garfield-county.com/treasurer/web/">TreasurerWeb</A> = </LI></UL></DIV></TD></TR> <TR> <TD id=3Dleft_column> <DIV id=3Dleft> <H1>Account Information</H1>&nbsp;&nbsp;<A class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3D">Account=20 Summary</A><BR>&nbsp;&nbsp;<A class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DR011171.1295542708590">Remarks</A><BR>&nbsp;&nb= sp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DOWN304S202.1281679200000">Owner=20 Information</A><BR>&nbsp;&nbsp;<A class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEHISTR011171">Sale=20 History</A><BR>&nbsp;&nbsp;<A class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DAccountValue">Assessment=20 History</A><BR>&nbsp;&nbsp;<A class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DTaxDocument">Tax=20 History</A><BR>&nbsp;&nbsp;<A class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3D&amp;viewer=3Dtrue">Attachment(s)</A><BR><B>Acc= ount=20 Detail</B><BR>&nbsp;&nbsp;<A class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DModelC2743374.1276064172603">Land</A><BR>&nbsp;= &nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DModelC2743375.1276064172603">Land</A><BR>&nbsp;= &nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DModelC2743376.1154930400001">Residential</A><BR= >&nbsp;&nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DModelC2743378.1154930400002">XFOB</A><BR>&nbsp;= &nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DModelC2743379.1154930400002">XFOB</A><BR>&nbsp;= &nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DModelC2743380.1154930400002">XFOB</A><BR>&nbsp;= &nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DModelC2743381.1154930400002">XFOB</A><BR>&nbsp;= &nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DModelC2743382.1154930400002">XFOB</A><BR><B>Per= mits</B><BR>&nbsp;&nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DDOC344S8">1755</A><BR><B>Transfers</B><BR>&nbsp= ;&nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DDOC304S548">789930</A><BR>&nbsp;&nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196413">682990</A><BR>&nbsp;&nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196412">563475</A><BR>&nbsp;&nbsp;<A=20 class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196410">B:=20 0911 P: 0335</A><BR>&nbsp;&nbsp;<A class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196411">B:=20 0638 P: 0164</A><BR>&nbsp;&nbsp;<A class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196409">B:=20 0340 P: 0393</A><BR>&nbsp;&nbsp;<A class=3Dnull=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196408">B:=20 0419 P: 0014</A><BR></DIV></TD> <TD id=3Dright_column> <DIV id=3Dmiddle> <H1>Account:&nbsp;R011171</H1> <H1></H1><!--Start TableHtmlLayout--> <TABLE class=3DaccountSummary> <TBODY> <TR vAlign=3Dtop> <TH><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DR011171.1295542708590">Location</A></TH> <TH><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DOWN304S202.1281679200000">Owner=20 Information</A></TH> <TH><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DAccountValue">Assessment=20 History</A></TH></TR> <TR vAlign=3Dtop> <TD vAlign=3Dtop width=3D"40%"><!-- BEGIN What happens in the = location text stays in the location text --> <TABLE width=3D"100%"> <TBODY> <TR> <TD><B>Parcel Number</B> 2395-011-00-018</TD></TR> <TR> <TD><B>Situs Address</B> 006690 82 HWY</TD></TR> <TR> <TD><B>City</B> Glenwood Springs</TD></TR> <TR> <TD><B>ZipCode</B> 81601</TD></TR> <TR> <TD><B>Tax Area</B> 011 - 1R-MF - 011</TD></TR> <TR> <TD><B>Legal Summary</B> Section: 1 Township: 7 Range: = 89 TR=20 IN LOT 9</TD></TR></TBODY></TABLE><!-- BEGIN What = happens in the location text stays in the location text --></TD> <TD vAlign=3Dtop width=3D"40%"> <TABLE> <TBODY> <TR> <TD><B>Owner Name</B> MCGI 1, LLC</TD></TR> <TR> <TD><B>Owner Address</B> PO BOX 11253 <BR>ASPEN, CO=20 81612</TD></TR></TBODY></TABLE></TD> <TD vAlign=3Dtop width=3D"40%"> <TABLE width=3D"100%"> <TBODY> <TR> <TD align=3Dleft><B>Actual</B> (2011)</TD> <TD align=3Dright>$676,030</TD></TR> <TR> <TD align=3Dleft><B>Primary Taxable</B></TD> <TD align=3Dright>$117,390</TD></TR></TBODY></TABLE> <TABLE width=3D"100%"> <CAPTION><B>Tax Area:</B> 011&nbsp;&nbsp;&nbsp; <B>Mill = Levy</B>:=20 56.9860</CAPTION> <TBODY> <TR> <TH align=3Dleft>Type</TH> <TH align=3Dright>Actual</TH> <TH align=3Dright>Assessed</TH> <TH align=3Dright>Acres</TH> <TH align=3Dright>SQFT</TH> <TH align=3Dright>Units</TH></TR> <TR> <TD>Improvement</TD> <TD align=3Dright>$295,810</TD> <TD align=3Dright>$55,120</TD> <TD align=3Dright>0.000</TD> <TD align=3Dright>0.000</TD> <TD align=3Dright>2.000</TD></TR> <TR> <TD>Land</TD> <TD align=3Dright>$380,220</TD> <TD align=3Dright>$62,270</TD> <TD align=3Dright>0.000</TD> <TD align=3Dright>110207.000</TD> <TD = align=3Dright>0.000</TD></TR></TBODY></TABLE><BR></TD></TR> <TR vAlign=3Dtop> <TH colSpan=3D3><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DDOC304S548">Transfers</A></TH></TR> <TR vAlign=3Dtop> <TD vAlign=3Dtop colSpan=3D3> <TABLE width=3D"100%"> <TBODY> <TR> <TD align=3Dmiddle><B>Sale Price</B></TD> <TD align=3Dmiddle><B>Sale Date</B></TD> <TD align=3Dmiddle><B>Doc Type</B></TD> <TD align=3Dmiddle><B>Book Page</B></TD></TR> <TR> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DDOC304S548">$550,000</A></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DDOC304S548">08/10/2010</A></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DDOC304S548">432</A></TD> <TD></TD></TR> <TR> <TD></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196413">08/12/2005</A></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196413">SA</A></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196413">B:=20 1729 P: 489</A></TD></TR> <TR> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196412">$325,000</A></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196412">05/10/2000</A></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196412">WD</A></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196412">B:=20 1187 P: 429-430</A></TD></TR> <TR> <TD></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196410">08/04/1994</A></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196410">Deeds</A></TD> <TD align=3Dmiddle><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSALEC5196410">B:=20 0911 P: 0335</A></TD></TR></TBODY></TABLE></TD></TR> <TR vAlign=3Dtop> <TH><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DTaxDocument">Tax=20 History</A></TH> <TH colSpan=3D2>Images</TH></TR> <TR vAlign=3Dtop> <TD vAlign=3Dtop> <TABLE width=3D"100%"> <TBODY> <TR> <TH align=3Dright>Tax Year</TH> <TH align=3Dright>Taxes</TH></TR> <TR> <TD align=3Dright><B>*</B>2011</TD> <TD align=3Dright>$6,689.60</TD></TR> <TR> <TD align=3Dright>2010</TD> <TD = align=3Dright>$8,212.24</TD></TR></TBODY></TABLE><B>*</B>=20 Estimated</TD> <TD vAlign=3Dtop colSpan=3D2> <DIV id=3Dtab_control_5885> <UL class=3Dtabs id=3Dtabs> <LI><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171#tab_5885_0">Photo</A>=20 </LI> <LI><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171#tab_5885_1">Sketch</A>=20 </LI> <LI><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171#tab_5885_2">GIS</A>=20 </LI></UL> <DIV id=3Dtabcontentcontainer> <DIV class=3Dtab_page id=3Dtab_5885_0> <DIV class=3Dthumb><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DR011171.1295542708590.A0&amp;page=3D1&amp;viewe= r=3Dtrue"><IMG=20 = src=3D"https://act.garfield-county.com/assessor/taxweb/accountPicture.jsp= ?page=3D1&amp;width=3D320&amp;height=3D320&amp;idoc=3DR011171.12955427085= 90.A0"></A></DIV></DIV> <DIV class=3Dtab_page id=3Dtab_5885_1> <DIV class=3Dthumb><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DSKETCH&amp;sketchNum=3D1&amp;page=3D1"><IMG=20 = src=3D"https://act.garfield-county.com/assessor/taxweb/sketchPicture.jsp?= accountId=3DR011171.1295542708590&amp;sketchNum=3D1&amp;page=3D1&amp;widt= h=3D320&amp;height=3D320">=20 </A></DIV></DIV> <DIV class=3Dtab_page id=3Dtab_5885_2> <DIV class=3Dthumb><A=20 = href=3D"https://act.garfield-county.com/assessor/taxweb/account.jsp?accou= ntNum=3DR011171&amp;doc=3DGIS&amp;page=3D1&amp;viewer=3Dtrue"><IMG=20 = src=3D"https://act.garfield-county.com/assessor/taxweb/gisPicture.jsp?acc= ountNum=3DR011171.1295542708590&amp;width=3D320&amp;height=3D320"></A></D= IV></DIV></DIV></DIV> <SCRIPT = type=3Dtext/javascript>TabControl('tab_control_5885', { current: = 'tab_5885_0' });</SCRIPT> </TD></TR></TBODY></TABLE><!--END = TableHtmlLayout--></DIV></TD></TR> <TR> <TD id=3Dfooter_cell colSpan=3D2> <TABLE id=3Dfooter> <TBODY> <TR> <TD></TD> <TD class=3Dcenter>Copyright (c) 2011, Tyler Technologies, = Inc. All=20 Rights Reserved &nbsp; &nbsp; &nbsp; </TD> <TD class=3Dright><IMG alt=3D""=20 = src=3D"https://act.garfield-county.com/assessor/web/images/tylerlogo-mini= .jpg">=20 = </TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></BODY></HTML> ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: https://act.garfield-county.com/assessor/taxweb/accountPicture.jsp?page=1&width=320&height=320&idoc=R011171.1295542708590.A0 /9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCADwAUADASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+d/w1 eyeIdT0D4p6UPA0PjzxNfaJbQ6autINN0vUW0q41T7H4jn1LXLoXk3inwZpmh+Er5E0+LT/D2tQt bPD/AG3Ot5L5lqPgbVtd+IcXxR0fxYdK1jXrSDV9Gv30u7e+utcll1+18N2fh7QtNt7a6l1ua903 w1p3lR2euNHrwhsZNUTWdROiR4MXhDx5d2nixfB89t5Ona/B4d8QaxBbx2scyf2fLJe6pONUku38 J2Nh4WbXZ55/EGt6LZaxqLNFp0c/iHwyb+8h8Y/BD4h+F9I1PVvEsXiLxz4ZthqgkvPDF5ba3Baa nHp/meK9audRt9e1myt7KEacLzUfEOlTajoCaWs19JKbW2vNPg/K6ddRhGVPF0KXN7GEeb46NOSj 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 e382mw3Men6lqbajrGi+G7W3j1Cying07SLrR5tfktdUgmvoJGu0WJhEt9574V8e+OvEVrYt/aOo Lrfhqe5GoaNf6w+h3GqalOskr3FxZtJFHNbRSvJGbG6fyZSxuGt3jFsJi21zWJbzTrGfTxd3TLLH qCXMVleQJbXNzZ4udMihMcN/bu7Xdi9vbtcXJkhWJ9Iu726tYrnm9S1680nxHbPpmjy654g8Yi90 2DTbGxs7q/uXtLbUrhobvTbQzand39k0V6yafAXlhlvbaK7ghjTTpR+TVOJ8/wAVOtVq5jj6laUX VjN46rKmpuqsXWSlTqKNOOJqyliY2j+7rWnTTTlOP2FLKcvko06WU0JOTpKnGOGXv3oqjTgt5StS UacI2b9yKacajPdtR+M/iOOPbBplvbDVLlLTSJbyzuneG/WFrq4hdbeOMw27Rr5UMs6TyQ+VIs4u ruJ7dszUf2k5bKzsLW406C08Rh9WS9sIInv9OuX0+CQt5V8k0SafbWtx5kF7c3MnktJC0JnRw6Lw +narq9pDaMmjJpdws818LZHGu/Z5/wCzbS/mt9RtkupL7Qr26h1e002xk8RWvhu6kuL6O08q6gQJ daTTxanLcX+q6at01yt3aQyC0N1qPhy3lZIRFZ30URvdL03UIbJr5tORrm2hvFggJ8uxS+l97A+K nHKjXoviHNKiq4eUHfGwqzhFVXUjOjUnTm6NX2kIudSi41IxToc/LKn7Tgr8FZF7WnUr5LRpyVqj pezlDmjySpRlNJQ5oWV1TlGS5otr94m4+s6Z8c4Lq2hkk0iM+XBE99Obt7aMuTFhFiktmeCRY7mO SSW5eK3LERlomZAeg0r4v6Nqc0MN1omrWDyAlo5FtbiSJo7cmZJIIj5oKyrKsbRCRpgm+GNnWeK3 +W18P+HU0fWPDnh97Wyg1XTr1bh7ttM1K80S83WVyJUudSuX/s6G1KRXlhNG19JY3Ut2baKBZVhf bn0Caxk8N6noeoS+IrOHRbTRptMgt5/7U+0WVxHYTXN7rtxdixuIXF9eyXKTS2er2o09Fk07U01G O5tvby/xo46wcKSln/1qCtJRzHA4WpOpRhCMaUJ1oYeM3UnLm/eKvz1JpVJ1JStI8zEcA8O14Taw sqekpJ0K9aCSnUp6whOVSknTnO1uXkilKLhayl9G6j8YfCVpb6fLaSSXTXlzp8d7GkUrvpNrfFZR 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 J4rFToqdP4W6mHp4iLjNOn7RqaX2mX+HmfYuNOrWp4bL6cmpcuKrctZU3KCu8NT5pOb5rqlVdOba d0na/wBhXWoaVYTW9te6naWk1y5W0iu7m3gmuX8uViYo5GjkkxHBLkruQLE6sUZWQ+I+Ivjfo2na hdaNoWlXWsSwyWoOro8KaGnnbvMkM3mxy3SpIqW0MVqzGWeaOYtDYCW9Hzz4vnvdSvYrK3u7ZNa1 eW2+w3LTtdrbvBNarqd/DBcWVlO0dpPei21K8F/qNultZJLobTSEM83i7wX46+HNx4S03xBNa2Om 65sEusTW66hLdapp01sIraGeJrUWttKLcTSpNcvqEjHnTV06wvbi3/G+IfH7iXMqNSnkWDw+Q04z cnX9rHHY+WHnTnThGMq1GNCnL2rc+elh3VjUp04wmkpOp95lfhlgqKniMfVqZjHDez9rGKVGjSlO VO058lWU5Q5YcjUqsadm5S1cIvdtPiZ4li8Qa/CmuapBHMn22yvtbuLN9DvJnuLuxurXSUtpNRTT LTTbhRPdWsytdsLi2YxzM8e+RvEvjDXVudS0fx1q1gtvczT61LJpcDWWn2U0txdmxthd32n2gMFj Y3SWdylxLJqEEN/Np6wyN5o8q8d2upXGkJpvh24gv549Xu7ua8l0jwr4Z0ywsJtU05LrULWDUIta 1SXW9OsrTxVDd6xpGrWFvrmqQzxyaRqUV3a2Vpd8Ha5DpbaNZapc+INds7vdq9z4lt/tNnos91f3 cmkw2trqaPENS1pDLLELUrc3Gk2k9tdKyfa4Cn5HW4j4mxME8Rnua4mjKrKvySx+KqKE41JSddYe c+SlUftZT5oxjUhUnN09Lp/b4fI8poVuSGBwEYuj7N1IYeEVpGm+S9OPNOkpcqejvGLUb25n3mr+ PfHs8E1lewaus+t2FzaRa0unPbeHtLedtWtYy3kveLpl4lrp97PcWl/qYa8jsGEDtK85nnuPCGt3 fh+717UdK1VPClzbziz8RWmkXUl3cX0VuLY6nBocFnf6jYWqan9kibxZrOnwaEYL+HXtNuJxFfWt vZ8Y2fhi08N6lr6XVu8en+MZbuLyLPwklmdM17S7Kd9HW/tpdJv9JgvL251kjS/D9gscN9o8d9qG ganb2sS6Z5jpPiq/lul+Hd1cXthf6zaz2GjaVeHVl+xRSql3HcaPJb6npxs4Wkvbj7CYonsp4NJu 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 2GjXUVrc+H5dQc8bWeMpU6EXKjOfJWo0q0oUaqnH2b5lVm7U6UqsZSp1Y2bg481oykeNPO8dQxmY 4WMoRi6taFd0akK8eb2k4qrGdJOnKnStKTWGilNRbjzOUVHv9I166njnhtdB8MwvCT4hm1O7s5NP 1iW2F8moWKW1u2rrpl3Yy3cVzeJ4hmstQlmmKabpNzJYWmqWt7X1zxV481vSdV0m5vtY13SL3xId PvSs5WO5istQOuaPqtxOhglubuHUtLtLC7u2muDbzraWk15CtnbXcOd8NrvQtN83Qbu7g1G/uxNa WYW/FxPc2sliNR0DVvMVlsLi/kt5bjTNU0eGdLuL+yIXEVjbTw3h6u903V7zQda1TS9Yh0bUE1iO 7SGKOwsWv9U0lrqy1EIrPaeX5DWCm7iulVSl7boiy6ZPKkvlTlK6rKcpRdWTqzqPkXI6cZ0+SMra OF5xjTnKcItU1G8bHzuHzLHuly0cZW5asK0KtGjUcIVacKesKvJKEeVpvWanOUJOzbevIfDX4p+K rzxXpHhqx8N3Fp4VSS50y0sHnnSK8u7C4tvt1nMt49zeQTWGqDT2tZ71Yp5rnT21GzvysNvLF6p4 d+FPwV+E3i3XpdflfWLm8g0zWNX0jwtba14V8KaBPo6aP4i8MXrWur6zrurX93BMbiFdQ0LxNpem yaU7R6jo+p3scUg8r8c6vN4FtUvNJdpPEmuw6jJpVlaeHF1K9udYttJFrdzWKx/bdSsbKGF9SudZ NpYXOl2cMiJqkTG0ea6xxoGv61a2Wpax4u1mPxTrGk2U+pan9p0m8tbySx2zzW15dy2N3bvdDUbj UjF9quFuNV+0NNdzSabbRxV308bBwi6E1hli4wpuClUnOqoOU5yqQi/eSaSlOKklOLjrFOJ9Zl/F dTKsvVCOHp47HUsbQr4atmKpYnD4GjTjFShh6Uv3yqVP9nhaUo06cFOdOEK1qkfef2gLjwvF4E8J a/o/w08DeJJta1hNFg8Z634YWaDw/oWh6dc23myXUGmXktjqFpdz2kmk6XJeXdr/AGdpd2+m3Sy2 FvexfG3xT8YazpOzS9T0m2uvDmo3dwmqeL49Vnt4bfR7S1tbW41awvrPUbF4tSjuNUS20e7lliLX 0Ow28upSvHbP+O/i3S7Kf4c/DnRdGij1RxNpUUFxrljdjUdIv5rPQtTN5HJZR3kkI05I0t4obqe5 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 rmgaVPeeIdLv7G/Gu2V/FsWK8DWKeG9fjd2ubKbUJo5pY9Plk03XJtJj1O+fTbzSZYJR3kfjPwV4 y8KaJpnjKy8GLHHC2s69rN1f67f+J9T1yzhmh1bVPEuqNqFpb+J5tRvLEpZXkviC01jS9M1/X9K8 OX09xD4Xt7j7V8MXGiaJ4OtfG/hfSrDw8+k6ToOq6VHp9ppEkC+DbbW9DGt6tez3mkap4V0C98T3 T3tprWqaBHZDTLue4ZFsfCviPXtU1363F5nVo4V0sTgJvEVG6eIrcyhRxE4QpUfaKVJJQ+sOF5Uo pwp07SmnKojStWcUoVYTlKVTknL2kZKtHlguZTlUglJJfw4cloqTdm+WPk/gLwreC+tPif8AE/UZ NBtfGvi2LxJqI1rU5L7UY9e/ti70WDxN9rl1ywnia31m+v4ZA6z60l2smkx6vbJrmoNb/RV+NP0+ /wBbt9Z0DwatjZ2elzxWMlzoEF34O12GyiFteWuo3elWOkadLp95Lp0lpd6S0F9a3trdTQ3g13S0 0mz871P4iFms/h38QfDaarqF02q+Gdb1TUXWTS9a1eG31bSNDkubWxtUv5NO82/0HVLbUtRj1Oyl 115LhraZ/B13okHT+FPhP4T8MQWPh7X7y81vTbgC9tPDlzZ2XiHXJDe21hpeg6FKdOj1S7sbTw+l tfR+HooZpprWVVuoJrDVGGly/KYyNTET9tWU6dW/JQjS5JRVK0qdCpRrQlJqVNKVOKXLJ05LmnGE Xz+FWUm5N1FB3pui1GKpyw94w5U5PkcaairJ6zs22lGUZ4GrfDyHxdepDf6H4Eh07VfB7W8us63p 2k6l4i06TWBY2Wgf2dHHZ2Ok6pq8Ok3+myaXLD4m1mztI9Uubfw5qOmX15r6ah4x46+Euv8AhXWI PEXg/V7vUtL8Oadaa3q9p4guI77TE0HT9I8QaLYW9tJ4m0u5gvZ9L0Vta06SLVtCivvB9rd7tIe6 i1GYaX9Pav4lm0/SJNFs9G12fVY9RGiaZaaebfUpJWtJ7eePSNX8PSal5+hL5jaPeaHba1pum6ON Nt77S7bVdKttXsxD85eK3+I/g7xHYaV4efVrbSvGlje3tn8N9Qv5zcjxDZ3VpqN3a2U/iK6GkaX5 yxWB1VdN1iz1C8uLrUfD1lA630Ml8sDXx0KkKcJxaVC8KOIvOnUt79WNRuc5U2qT5oz5YUYyi3KU dZEYSpUpr9xPljTjUtSrtzjWhb2qheN/ZqFNKV+RKPLz+0itXzemfFfwT4Y8WazPpcGoarpGntda BaTQDQ/CHimygOi6paTDT9J0DUtB1cLfapcJcWk6wxW2n2uoXsWr2FyuqRadFL4d+I/i6KBNP8JX GvRafYXlrpltFHBpsOir4f8AEFte6jbf8JHPHd63NB4h8SXOpQ6G3inUorS3tbgmK+mS/tpbjS8D Tfh3pN/rfilPEui6toWs6xbRanoD32mf2E915sWoQNM1pqusyNHc2CtqrMdI8ZahFNa6O99qAubT TfE1hB714L+Hfi/RtN1xtW8LL4vbVI7XR2utRi8MQjw3Npd3YX0Eeqz3Fq0mmWunaxFqGpeIvFnh XU7+y1vVrHU/EuuWWrXk89rqvqV3gqcGo0fa1vY0eX2jpypyio0+aailGMZJTnKpNSpQV7OnOTfN 2VPq9NWhRnUrQoJyi5twkpOimpezai5OLr3k5Uk+WMLOTTfkXxcv7Pxrdj/hIJdEupLubV9Ph8W6 ZrGg6u2jQ2csUNxqGo6JY6quutpYvvDNxHLqcthe6Vptr4ht4Yb19WtF0+/6D4W/GTx14RttLm8a JFrGiy67BCNNs9PMGra7ZQWj5tkvtCktH11EijvbW5ZIb3xPo15LNDqWradf6xYaX4l9xl8GX/in U9YvrF2todeu9L0jxVo91pGmLfDxJb602gahd6NLf6rqfhfTLVUtnu9NudPi1T+0bvVbm7i0Wxur HS7i/wCTPgjxvoMfxE8PabqM+q+CP7X1rSX8ZX1x/bmuWWntZw307/2doEgluriBL7QbTUre61CH 7Iuh391p9lZS2d5Cxg50auGWGVPDyjSmpQdWtO8KblB1nTnVjy05e9FckZyhUULxpxlJsKCpQwyh 7GE6dKpOVOcpptcyo1JqDnGy5ouMqns6k4uyTjzSSelrVt/wr3xJYeIbzw58YdMj8US2/jL4az+N bE65L4o8D+LLi51HStTtRomq+LdPi0vxdYXdxeRyaJYwppusxXtpps+i3+kJaxZU/wAaPCcfjfS1 8SaFr+kxta3tnYzXvh25iWV1ksn85PD8ktzeaekkNvfWE2ox63HeWgu7W4ttElluxbQ+rfC7w7c+ PvDvif4XaVrHgrxR45/ZrtvE3j3wbJojXl1rHir4Qarqzax46tLjUX1a/abUfh54ss9G1zSvDq6C tnpnhvU/F/izw9Bqw1XTtYvNu++FHhPxJ4buNM8Uvqmr6Pd2888V9bSM+t2MhWa6sk0hrVY1tpUv 5XeKztdJh+0Xs+6a1u7w3Ly/TPI6eNjKsqc3GnRgm6Uv3s4VYtxqxioU+dSUoydOpySTdSDXM5QX p4nB4dT5pQk8PUpc1KVKryqNOb5JNKSjzOFWElU1hdRjG0bxm7Ph0JqV1rtnH4msNX8KLoNpZeG9 V1DRdFl1LRpr2FJ1iubrTJ4YbbTrXzDi0XTUnM14Y9RsdNmaO31DyD4dfDzxjpl5rGia7pvhnWk1 uWx1/SNQW2vxpVxKmqQIdQfVLfTdK8TGGSy1gabYWNrNFYi5bUo7L7XpOqabFH6bpmheJX8IDQpf E2psP7RuLg6/OIdI8W6xpGnywXGLjXhd61q14uqImsaaC2rWRsbW3s7K/v3k0drG4q+KtZl8Enwl 4w8RTDMGr2tj4m8PyG28Ty29w9zHd+MN+ppeXNtLbtomm61aXVnpkl5bLf6fb6s9tPqwvLGvkPq/ sa08M7yjWnCE4xjepCVNtUZaW5G6kYzlKUU2rRbVnKfFQwkaNSNOpTvCtTgudN3km26bpRk51HyS m+dJKo7ck4qMZOWPr3hbTtO0Zdc8N6h/wk9z4fWOBNKhuEijEWheItQ1e+ub6ISFby4tb6bVF0az vLrVTqNxrscGn3oVdPgjXTPi94Jv/EbeBND0XXo/E2oT/wBmavELmy0ie2mttN1CxuLXTdburSWW /upZNREmmjGmp9qvrm/utYju7sac+H4Y+IeheKrC71y707SrLRNOs9DsJNKs5DCUv7DU4NOmum06 x0/TbC10240OCWTQNFk1G7iika0g0R01+SGBND4s/DbQdH0WPxh4TXS7HUZoGt7aS1uxpE4F1bx3 sN40c+l3mpeIQbe2ks7++sNX0S3e6NtqMcPkHX3TOEILEVaOJdVKPNh6NZyajCS5Ix9qk5OdNxdm oxhOKk4qbXukYeEI4ith6kJShB/HzQvz82jlTafLG9SNqd42jJSVTlbpno8epa7AItG0bStTnu5W 12RLq90lbyx1hZIhLdpITJZNFql5cxW982itPq8kWp3k0E9lJdWcmp2vzt4u8eah4j+JX/CK+EVu Y9KgS7kv9Oh0C+sZ9Tv7SO6itp/tK6Xp+u6W17Laf2XJfPZppVrpVrFqeoRWtndajplr6p8IfE16 0GmR3eq6nq1hZwzWl9f6jYExXuoXEGhQajK+sx+II9SvIBqVtbR20Ol6fo0ht7nSYb9rjV7m4itH fEzS9D8N+KfBWs3ESXs/i3xN/ZK3t9p7odNGo6S0scTXml3NpAljpluHuL2xutNurqS1hkliFtcr pNxK8LTVHFKnLDwxk406tKnFWj79pSi3F04OopRUZWupxlJttuyXrZZyxq16U4Rqyv7OEJRlKN4R avo1B+0dnNStZpNWUbSseI/D+oa2NGm1e0h1JdHe0stA0fTde0+3ewMlvCsmoHULCzv93iLTIr2V pdN1fVDY+ZLc+Hpki1R45bT1bwvqj6LYaNrdyl09gk0Vu3262JvNS0ifUWt9Y0e4vpJv7U0xruP9 zLCdRutTt5lma6vLOG1WOfiLqbw/LHot+9yNTtfEsEZ8Ppf291Ywajo2lXsNreanpuoO4j8TaTcS JeGyv5Lmew1OaU3KvcXEEN8u9rSXnhe2tYbiPUdebT73SYGfWYbWM7d8VxJp1nqUMr2TzlZhDaSa WkKm5jh0+W8he2hS448ZGrUoqEuaEYNyoU4RmoytJRkveWklOKU24qE5KTnKppJ+hiFPDRVWM50K kW50pQdVrm5Yzg0ly9I3t/DfOmlzOwmpiw8S+Itc1KHSJpbG40yW0EmpajoOlRGB5LJI7Wy0i11W G+my+hXEkFrp1nq66VeyTQTadZ2F1JBLJr9jc2XgfV9Y0Tw5B4ltNJudO1W30rxEBY6i9jcp4gjS drfT7+/+zarotpDKltcIWlVb7Tr2xa1intrk+SeFvFWn6xqtjIumLoMMl0Gv7fQ11prXUJNWKta/ YTbC+GsNfxJYQXKWsbw/a7+DddR3tpbWejr8RPiDr+meE9T/ALPliS5kk8Q2U9tbyWVxqepC9uE0 vVBZxNPHJYWUdm+mR3EFvdXOqabqV1bECE29tqcXgRo144yEYUkm60aMYS5oRgpJRlJzp1G0p03d ck0kknFNJNeJSxtWeKcqkWquK5oTr04pSaqpQkk704qEY8qdFuSeih7uktrVfjRpvw78JzInhyBP Beo3uuCWSOwOqmK78Q6DZeJik7G+1e4nTVbua+gjuLh4vskkeoSNYi0soba/8LsPi/DJqWjya6t8 2lw6bqz6VeT3Kw3mk/bdc1PV9Pe2vLnVbZ9Lm0uXXNOtX1Z9Xure0utG+3QXNzDcebPNZ/FE+LrP xboGoaTY/wBt6ZdeEzodpcwA2/ie+03VLHQdUtJ7fVrg2+kXd9Y2OiC+mltbZbYtq2oPGLyYR2vA fDj4I/FL48eJLfwd8MfB+reI9c1HUZtFTQPDljLJqksAuJ0W3nvILDy4NDttLtmub67nnFj4e0hp NW1DW9N0S31i8sffy/IoSjWoYrDTp1nOEXVjWVWU3WjzUvZKMJXa9pyupGUqcmrPlnc9JYVzj+8c oRdODck4y5XoqUWr2mnFp3d4Tdm27SS/QTwFrtnbaZp9+H8MyaTG8sdnaQ5gmjjsbt5LXRLyKzW5 jjj0m9HieG2sb6C8g1O5it7aHU4/ttnb3tu18WSeI/F2paXox1M+H4tU1KS1ury5t7UyizTfbWlp aG6KWUt3qMbFI47u7sbKykjtrXTby3eCVf6AP2CP+CeHhn9j3w5PqnjLU/D3xI+Kd/NdzQ6jBZWs /hzwDBqMUqX+meBzJp1lqVzfatbyGLVfE+pxWl1caeTpek6Z4f06bV5fEP6C3HhLR5ZLXUB4X8ON LbBpLZzpGkRTW6q7rHLFKbVJ45BsyNsQkYhV8nzZIbaL2MPwB7WgqeKzCFL946lOisNGu4U5WtGp OVamuezi3ShFRpTikpybmnlRwNZ0oLn5KalzKCp2k4L3VzNtOn7SKU3GMVGDajy+7r/JldW+iXWr 20F3HHc+RoupwPrl3H9pW2tPEJj0F7IpBKgEuqXGlwQTwsZI420qX7AUWWwSfh9SsZtIj0Yas2pQ xJbDyLSS6jijtIbvUZJ7VzZDUBasplubu9hsoIZLWHRJLiRY7i3F4NS/sIm8NaNI2+bwz4dMm0Pi Kw01wzR7PLYu6FtsbxK5DeXukhjjjc28EskmfJ4c0B4gsvhnwreWuRJEkljp/wBlYpvRf3ZVoCkg M6B1TAikvLgIPPTNYPwyw1HE1KssznVc5KryywUZRi09oTjXqxptpyu3azk5KMeaz2nhG+Ryn7sX KXLGycknBxUmmpNRjGKTa5WnJSU1ypfwkftD6vbaJ4y0PUlF34lufDmlzJP4b00TWs0j3FzE09nN dwTQRxwyxlrPxBZyG5uF0waX9k09beENp3k3iHxz8Q9E8O6P4qt7nSNJ0PWdLuraXTv7C1S+M3iJ LxR5Mt3qAgZrvSdEaCwj1P7Wv2v7RcXDPqMtzJLpf+gdJpGiyGSKXQ/DkkU0QFxGmjW6maFY5Azz LIJI3ZFmmcqYgQZ4ohiMMjZ2p+CvDGsPHFf+GPDGoGJFlRLzTdIuXRYXwscTPaMCouhBCELRtKI5 G2l5NrfW0+HqNGjTwtap9Y9m3edTCOq5UpVJzmoxbqUozbqO1bk5nrdaxa09inHl5oNJtKUou6jd tpq1rtyd5RtdybaTUHH/ADk9R+IeqanHZmKaXRP7HvRfwaJbQTXunRTpbrpkGpw2u2a5vtetbC8l fS57u9MFja2lqkiyKskttqvo3iLxjoV9LF4zsvCkk0F3b2PhnVtSa31C2hjj8ParZDRYp7bUdau4 NYecWWh6e8ulTaf/AMSeCLW/ENtpdybX/RDtfhl4JsozBp3gLws1shgiktYvDmiW0rJG9pZ207Rz wQ+ZHDDpzSQuZpY/LhhSIGOOIC5H4R0CG4hhs/CvhWPyokdIrfTtGgMLSvqBl2RpaGErhl2xxqoJ UMru0cch7p5bh6HJ7KUINTVRc9PDuTau1eNRxmm5Sl77TqaycW7s6KXOm3CFOLcuaSimlK7jzOU3 Sk25SfP7rupNtSSacf8APf0n4bWlhptnd6br6ReIZtRs7ezvLO7uYY7vTbV9O8QQPr0d1cazO/2P TbjR7jN7Y6Wvh6/0qy0rUrq41g2Z1PyvWNB1LQrnTfHqQy3niGLWdA1Xw7NDots/h2y16xa21O58 N6gLhLGC8u7uwMl8li0Xkz266fNpVzeWmprMf9HObwppUkbzt4d05YLRjMxXTLIyFIPs10vkGKIA De84YqjJL51zuVkkY1mXfgbwje3zXD6BpP2qBZ4RONCgjuLVbh7eK9MV21sAsMkNxbzzPbujH7DH JvBth5U4fBzpzlOpjHiefmc4yjCcuWq7ulyKdoRSsrKDjaLi3LmcY7KVSHM5pyjKLUlOyXK1dOHu csbOVnFLkacrx+E/gC+FPgH4j6w1x4z0PXtNk1tCut2cty00sEyzxywizudLiku3j1m3TT4XgtUt 57C4v7NLe3u9V1WPZd+2/DGzufCFxqGj+IBNpt5H5STahfxaPaS2I1K3a51aG7+1QprN5rEPmz2t 0sju0ZuDPYJBbT31pdf29XXwx8I6gbuB/CugXUOoTWs1+194Z0i6+2XFjLBFa3jxXdi73clpd6da TW9xJJHLGi2dzFKktpYvF85fEv8AZOfxla394mpx2Pie4tWsbfxFpN7q+iXlhYTTBDBm61DxHdya oYjIFv01NGbUIbaKTTUs1hW08vFcNPMJ1/rOZeyo1U4UKUcDClKhy6U26kcV++5eabakmveqcsIq Vo+VWwkq8qjnUuuaFSlGNBR5FFt04uUfZyqPmlOV5rlUpzkorm93+UjxP4q0zWLTW5rfWYbCe+D6 ZLq+rSXH2JrW61DUrqOfTYL0/abpo9Ou7q32XSCO72R3a22mW08j2/F+EbzStI0rWfC1tZ3OoXur SQRaTq1rNp0zaksKeW2sTyxxWd7YXCJNLqlpqE7ESSWsDf8ACQRxzWUD/wBHvif/AIJoWeo6nfan pqXhEtnbXlwup+On1SK61W5tIVupDpureBGa/sYrl7m7cXOo6ZLfTSPPDf2ZgW1T5U8af8EytVv9 WmstK8F+PNP1e+S4lsdS0zxd4b0nw7FfLDcJcXNxeSWPjK/vNKlvYmudNsta13R9Xnt0IjNlNMIK zy3w/wADRnUUOJK0KdSpGpKMsvp25o6/vHHFXmrNXhbkjFWpwi3zR5IUMZhak6kaGHqwmruEsQo2 5OeKvKdOU5aTTaSS5eaLnFfH+E+ma34x0Q3llpNvceF1ttJff9iTWpoJ3vI54zczD7VqMuj6Utzb XT2t2ifZrp7h4IDbtMt9aed+KPF2oTXjDWtUeS68ND+yZ7ewuxpqtbI2saa2jWVzHG636x3F48dy Rbx2bSy3baQW0p2vI/1o/af/AOCYP7Qnwy+GV78XtOh0vxlN4N0qfV/FMWhOdQ8Qpa6c+65vmsbf 7JNqFhp6abaajqE1pFqaKtsniJGhtLjxHLc/jn4n124vpX0a4u9J0vSpWZtUutWS2bU1vtN1ZZIh rVnGkd0kWmz2E9ikNnp93b2q3Op21ot3dXMN3PlPJ/quNjTnTo1LRnTdemk6c3DlfPSqNyqSjKHN 7rhGpGcm5RjZxNoU1L2dSdJU5NSXLJxThd05auLalON9ZJyhJy5m0vi+R9KtrrVIraCxvo5ptTu/ s9pZLe/Z0FzZed9ms51vZLOJHljuJ49NdXuYr64ka1Tddm5ij+ivh/o3jnxN4alHhXU9XbV7DX4t Aj0KC8htpYrjVzYymPxHpbRxJ/ZCTeCrC3bV7hJFaa0sNBDpJpmnW8HlHw00K019biyu7d7m6t4p tRtb201e20690+CzFqLyaWC5Ful7b2Vgq3caPqENvpENpqV7MsGm/wBrX0Wtp/jiN/Gtv4ls9Ytt Q1yLUobqV9Qs59Vtdb1T+0Iltbu9tpv7Fur24S2Ml7JqGsxXEtzqpmvr7Vba6v2kh9fMISqxrUcP CMq1JKpCVSlzxip3cYVFCSShUjTdN1Gk4zkpLnXMj0qtGpWio0oUKjUHVSqOmnzQqRdOnyzcZWqQ hUj7RVIukk7RlzKL+k9V+Gvxo0rxHptp4j0XT9Ot75NGspJNL/4RzWhomgaI2qaLZxza0bGSyjt5 YtQ1CPxDooGmeFPGOpiDTbqzuNV0dNL8P+l+FrDxGmoWdt4j8f6BrMWgJ/wiznUtWitNTt5NGjn0 O0sNFC3Ezvr1jfqPECLr9vIw0H/hH7G0uLm1h1DTdFw9E+POu2vijQtbjsdb0TTLb7fd6lNbWtlb 6hHaWF9/wjWjW+lxsuoan/Z+ma3omjobAeJdT0/7Vda1ewW9pd6xrM999L61+0rZ6l4sutO8Q+Jb C7t/DY0TS9D1/wAR3MmpeHoLKfTbyzsrhry6i2aW9/qMNjpniHR719E07TrvSdbvdb1COaXUbO2+ Rx1THWhSq4ON4UXOP1enTcYr2kaLjNynUaqwk06ShLmqc1Ock2lB+FiVPkpwrUYU5U6Upwp0adGU lBPknP2sp1JQly1KbU1adRypylFO1/ENR8T/ALQun+I9fu73T2vfDEPnJPceLvF1j4f1nVrY6Va6 bqOkaNeyPYyP4tt9ZsbPSdH8c2Gg/wBpN4hsNV1OWG6gtdb03T8jw1ZPfeA9El8a+HdVttOsPElr HoWkazL9q13wLo2leI75bXVLCHS7m11671dtGXVobTRdV8KbDFoOt69FrSRXL6FrXtHjT4w6A/hC y8QjVNdg0zWVsrMw6I0esReDJrm4ubfVLzXheWB0O2hXVLCa1FtNH88dtqF9NJcWkmmJc+F/Enxr 4i8O2Og+M/hh4vn1Kx8a69eR3Wp6hZ22o2ETSWkc+rbrbU9BdNHudaiutP8AO0yeV7m8vYLa1gTX 5fD8N/BxYeWIx0IQjg6OHc6tKFHE05YmjOc8NzSqxlUp+19lVnTqzl7Tlunz01GaqORxYL9/KWEo YWFP29ejDDYmjCVPnnRqc1S1VVatOnOMU3KvNShGPPBQvVuvZm+EnxR+Jnjuf4VaBY/8JN448M69 4R0TVr6LwrpGrW3gQa/pOqayLbxR4v1/TtP1HQvEi/2bdSyeCNVvLvxRDrGmeJNM1i51nxRY+K9O X6R8G/CD4zaVYahF4lttcHiYjW9d1PV5YpLLQoIbHS/GXiG/C2f9jaTOYrXxFpMti9npiXV/BZ6k uq6JJp1tJolrD+qf7AfhTw34c8CR/DXwzpWveKPHtjrWq+IfjL8Qdf8AAOk6TrV/42vFu9Sk1y28 NTeI/FOrWEq6xplh4atzqug2kjePPhT4st0tr3xFYa0/hP3PQvhV8W9W+MGpXfi3xf4+urjWPD2v XdnrWsfD/wAF3fhC507Qb3SdW0/Q9EOkW2haT8P7i+8L+HNI1fxTc6PHo8N3rUcelf8ACO3mo+OL y41/rwX1TFc1ClQ96OJ9kqlWUIzjJuLnUozVGNR051m2pS5KjUeeMbzTf3mL4Xw2XUcPKpVnJ+xl ipckaNVU01zzjGrKFGpzxcZp8sm46Rp8k4yUv5uf2OvgX40k/an+Evw+1rwT4itvB3jHxz4d0PVr zX9BKWtv4a1q9sbTW7oWmpS6zoUmnJGC0ErXLSalb2ysXeC4K2OV4I8L/Hex8deGIPB3hz4iR2S6 xZrqE0HhvxRcR65Fa6rDrWp2euWl0b/QmstMvlv47mSLR7SaHSYbga1NebtSnu/6vf2a/h14ks/j CdE1e0j03SdR8X3GvT3ekWHh7SrLxRNY6AkTXUj6Hpllr9hJdWGmWr3drHqKQNPPOsv9pXP228vv aYLvx9LqMUNh4/1z7Xq0tppRA0rwQqyi4mayhhkWPwvEekg8ycTJKWxI0oKqV+yw2T4uc68p0MFW qUKFOrVdapXpySUq0V8VKalUcaMracrhKDpuSbk/ClXyecsFOcsRUnUxFehTmqUZQqTlTwMXOpH6 4oxt7aKUNVGUqnPTjKNl/Gb8YtF+If7Gf/BRD4lfHD4caDNo2heBv2nPireeErebw4LTwZqHha68 ceJbO78CQNFbx6e2h6p4Kv77wuVsY/tNvo1y93pskN5aR3CfuJ4z+JX7Cfjf4G/AD4j+L9U8S/s4 6f480jX9O8PQeGvAcHjmWXWvDVp8MrPxPpvja88Kxa34jN5ZR+Ko/Efhi48VyHVPEngqa88SSzSa trFnps31N+2/+z145/ar8f8Ahz4YyeNdQ8OfD3wz8XlsprCaCwuoNYtNX1o6JPe6fHbQ3F3/AGt4 T0oz2ehzeIbKdbqTWNSihu9PtTc3epfOf7KPwg0XwF8Q/iZ/wTT/AGofCOmeNvCU/idPjD+z5qOu W+o6Lp3iPWtF+3x3lx4fvbXU7O4L+JvC8utLFFpepXFvpGoW3jjQNbudWks7jTFyzbMcbk2EwtFV oQx+LwiqUoQkqlStQwkYSsnWpR/eSlWtGEYybbSuk9fo8mwuBzqVRv20sLg68aDlVbh79bldRpUq s7KMIOcXJpcqT9m2pqPwH408Pfsn+GvCln4+8N/tPN4d8QXawt4Y0vWPhX4/u4PFQtZb/QpP7ft9 I8N63Y+GrObTdN0PW9Avb+/1bW4J7zXydLW9s3a88D8bap+zd498EeE9Tl+PK6F4v0bSbyTUfBug +AviQPD1xdXmkT2N1Da3Umm3mnzXFl4b0LRNLvpL7yGVtc1C8toNR1DSFg8Rf0Y/Eb/gmR+yprXh e50LSPhFfWui3unT3Yj0TxV4hjM+qP8AY4NNuJ01XWL29S/sXuJb3TpV26aVfVB4iT7NFZ2V5+dH in/gjVd3Wo6j/Yei6To+l6peaKdKtPDfjPXtYPgzStJ/tS31rbqvifUfCt7qmu62brRLjRop9K1X SpNF0vXtGvb7wpq1/Z68fzfD8ZYOrWliMU6kK7co3VDDWcdWlUh7S068W3arzN2ld2cuVfS1OBpw k5woUqnJJxpToV6ycoS5XTqulLlhTqU4uUVyzkuZ+0TtLkj+RGi+CfhnHP4h8ReEvi54R1mG2sdL 1HVPBsGg+INJ08aHrfhnT9Zn8MWmta5aaFc22tadNPfeDPEraNqFvMbizeHTTPp19e29p9s/DTwT 8HPir4U1f4d/Gj9oXw18C9cjvb9tJuPGNnJcJq2h6bpWpyXWqy+JLLW7fRdK8Rz20VzbXFlcXI1G ++02mg2OoeJbjV4bOb9Hfh3/AMEV/gDbeHNQF7/wm+m6rr2jPexaRrHi6DWodE1fVtJeOXTdTTQt N0SGWTwxqVxdLaXmnapqz3hi043Wq6tHp2oz+K/arr/gj7+znq2kWGn694x+M2p3FjNM6Xcni3Q2 d5Z3lUlotR8JahGipbmytogPmSPTrdyzz3GqXOpcWJ4nyuriIzUJ1FCVNKp7GUKl1ytTTpVoKWtl q0lFXdSpJ6ckOAcVPMKGJm8PHD+xdOvH2tSliG6cYuhJSpxUZybt7tSScI3vVcnyn5Yp/wAE8vgx b634pubb/gop+xpe+H9bnmn0eyvPi74WtBYzBtMSOaTSI/E0untKkmk6jFZmK/bT7qwtPDIMf2O5 s/7O7rxd+xp8KfEl9pd7qf8AwUM/YyvtDg1i2vtQ0vU/in4TCTWdroSaTHG15DrFzqKXsdqut3UO rzQut5Prr2F+LrRYF0y89f1H/gl78GNO/aE07QI9J+Ms3wS8PeKfhnH471y4sPhzb6WPB99H4ck+ IEuneN9X0PTop9R09L3WIrMW0OpXtreacbGezv5nBrtj/wAEkf2evtM51DxT421GyGi3Uq2Xh/Tt A8N+JrDW2vrc6aiTXFn4o8L69p8Fp9ot9Y06213SZku5UkN/ZC2eCX7bFwwGEorE4jNMro1KVL93 TquvSrSap8nLShHEcqqNpJylyNSs5Sair+XhsopV8VTp0MpzKSlJx9tBuVGGnIpzkrxadNpKTXNO 75Vtb4ctvgb8LtPGp+Cda/bu/ZaudN8H3uh3Oi6rBr+pX1rq72ulQFLrwynhxF0u906zkhutPgt5 ZIogxku1mFtDp9zBfuPgX4X+Kkk/gr4J/Hj4ZfEfxn4ds3vNL8J6H48h8J634wV5L5b6w0/+17qb T/EQWyNwpGoB9Pj0yK3lmjubuK7DfpF4E/4JXfsr+FWvWvPDOq+Obktos2nal498RajPBp629xav qEp8P+CF8Gwz295veL7JqN5rSNbTJNDMvl+Vc/Z/g74N/DHwFq1zL4J+HfhPwDFqNjps+oweDfCv hrwg7wQPBas8OpeFNH0LU3M8cQcvJfyPKQ8iDy7m4hb47FcU5DQqKSg8XOFSEmsHHExjzt6yVWrV owi7r3Jrn5bty5r6/Tw4KlXhOLpSoxqxtzV61pU2l7s4Qpuo7x5YpRk4vli4qyaa+EPAX/BLb4Rf EXwnZeMb7x94p8f6cV8Q6JYW3hPwCvgW61G0W4tNFtb62h8c+LNAaYaVeaVqWpWusayl1FrGl6qm o6BNqNhNpfmfQejf8Elv2X/DT6RNa6B4o8USyXWljW21vxanhIWOn26CMPpVt4D0C1jvbu5R7qy1 CF7jRhNa3Tyrqk7COOv0q8O2WoR2ka6VNYWtrBd3ivDdWU94WmeRpQsbLqFp9miSGSONYTHN5cik JLHEiRDaltvEqhG+0aO5CRGUHTL5MfvGClGGrnOG2eYWUAp90hgWfy8Vn9edS2G/s7C0ZRpzoweA jPERp1KUJxVaawlSNWcYycXUV7623Z04XhDIsPBc2XU604txm2ouMpRk7yUZTc+Vu7SlJuza6yb+ K9G/Yn/ZE+DE134yh+BnwK0nwloeja1rXiq/8WeBovEeqi20ySTVrnWrzxRrurXaWek6dYaelzfW Eul3cn2qB9StNSsPKW3f84vhn8Z/En7Wv7R3xV+HvwR+Jvi39nL4T/D74S+JvFHw0tvhdpHhbwnL c6lpniHwJoD6t4m0/RtA0t9f0zWZNTfU4tC1HUX1LSosWWl6vpFte68l6z/grV8Uv2i4LvTvhVcW lv4O+Ceo3F5LY6hYXQW8+K+saNY+F9a1WfVbdb+5v7Xw74Rv/EVlZaPo80Qsr3XLW41u6udV1DSt Kj8M/L//AASbtdcb48/GO4S8sY7hPgB4gEMlzp5vbNmt/iJ8LrzyHt1udPllaWK3ntVhS8iXN3uc h44wvsYStmMcsxWZ4nOZVpzwlaeHjSlUdCgo03+9cKVCNOdSLi/c5H7KMeTldRuK3q4fBQxdDCUM vhTtXw0Kn7uipVU6tKKhzTqKSp8slBWfvJpKyPvOH9mb9rCS6Jb/AIKF/GtZGufJIGi6ptjkldpi YVHxFjiRW27thjhiMjmfcMJtsWv7L/7WMKzSR/8ABRL41Q8XbSAeHbxPMkt45jAxK/EU/Mz7UkkZ WYCTc/yYU/ekPhnxreNeXMfiDwFbSQy+bKD8PfEUgNzBbXBkkE8nxMUguWV1VFjxsLB/NklaTn5d H8fvJcSWuv8AgUpAPMlH/CBeIpI7lZoPJlX5PikGXKMquQ6zAxs+GkJll+DqcQ5xoocTKWstPZYn o42v/sTSer2u9dUfW08pyuV4vJY7xS0wyjHo9PbrmvtazV07a3Pi6H9n39rPT5mWD/goj8WriV0t oWS/8GpqKOdQ8p/MC3vju5jjlCtHHDcRRpclQ/zbZCtdlp3wf/bP03y7iy/4KBeNZJY4pd5vPg54 T1FFRUSV18u/8QXSNI4ODMAFSNVlYs0ea+ibix+J8d9Lb2Gr/C+Nz/Zaz3R+HHjCeS4LadCsLNG3 xe2DyYZTG8kcZkeUrPF5LqgFq98P/F220JL0+L/hm09z9sPkz/CzxTvSOB4Vdw6/GWLzJJbeZv3O VRjGipudxgp8QZzKUXLiZNO0lH2eL3lazb+oJLV92vxYpZTlkIpLJFF3UbReGkpbO9lidFaLtZXV tdWfJOo/s4/ta6xNPqk//BQP4t/aLG3tb2OK08NDS9OeVb+zaRX0vSvGllpocrcgvJ9mZnaBI545 Y9yCIfs7/tbzpk/8FEPi5JHqWtgXHn+EpC0Iuru2nE0UjePs29ukkjk6dElvaQwIkUMaRBlX7Bk0 r4oRRrHbeNvhW63dppt1cWa/CfxdHJHHd21ndPbiWb4yXkflRTyWzFCzzlogvnrF51q09ho/xMub ONp/Efw5C4iu/IT4ceIIybmC3in8xpj8UmdHLMissbwpIUh3oMXAuK/trN46riRXas7wxibd0r64 HRebabS003j+y8vd5LKItczdl7Hm1Sfut1rW2a7ed2fLMHwI/bA04gRf8FAfG08flJGgvvhV4R1N 9scImjUSarr925IOXWXzFceargl1xHq2/wAMv21TBHdt+3xrTJBL5CI/7PPwinZlCSwq0ouZZVkK lBGCVYYkMgQSgsPpCbSfH4uJfM8Q+BlS1zZqLfwH4kZ/LljtbhQBefFG9izHHJLESIkd1MZz+7jV NvTNF8VrZTrNqvhMRfaHZ4rPwrrMTym2vzbndcyeN7gotwr3EriKHEUkwEYEcYUNZ/msVFLiVJ2i leOMum2mn/uCdrddVeyvdEvJ8usv+Eak921bD6N2TX8dJJWuktn+HyfqXwf/AGzb2JLS4/b518qu oiBxafs/fCzTbmJ1MKtKbmxuEnYKrsmfO3NFlABEfLrh4/2X/wBrvVYtTuD/AMFEvitaGKd7SWO3 8GW1rFKZLWxYhbWy8Z2sbx+XdRsVwmAmzcoGH/QvTNKMd/cvfJDdEpb30kUMctoJrmSaYGOaYyXY RUaDLi2ZCzMco0aoBvRLp0p1ZbPSzbuySEBdQeUC5j063uEuLbzoCsUpjiitSlz9sjVoUmCMSbc1 HP8AN5O/+s17S5knDGJK7Vl7uAbTdrWcmtPQHk+V8sV/Y0FFWdl9XsrpaXeIcr2er117uzX5ff8A DM37XbOyj/gob8WHkjHlpK/gss0yNKwmM4bx9Mhj8xAsKFWULHHsWEFDG64/Zb/a9Es00P8AwUV+ KzPBctYjHgKDBEcYmcJ5fjwIElJjCr5SrI4LYQ/upP0We10aTT5jHY3sEmnNYWl8328LLNLci8ae 5DWzfZleR7VmUQCO3iDKqxBY1Mty3j05N8Qt7koupFZ7kyx/6XciSGL7S1oYLmKCB41aZreHa3mS 7C6iPyzpLPs60b4milLRRksak7JWsll+i27a6dTD+xsnu5RyV3i0lb6uop8sZdMSr+676N67H5ua d+zT+2EywxS/8FCPiZumWW6hE3w30i6KyR/aJGO6bxs8kDM8JkRlKTOyRuh2Opro4f2Uv2u4Ip7p f+CivxDLJulWOb4UaTMkwS7ukRZ0u/GdwiOl0Rc8q7N5aBt0khEv3ZbyaXdNaS6eLu0lfTtQu7dX +zSLElrZ3ty8DMqw4eSW1uPKlaBIzvQrbQLIqxzxHfFO7Xuoqn2fdLEgsndgbkzGKAiNFUtdH7RL MZfOSN2RNkMYjdriHOnFv/Waldu65oYptq0Vr/wmtaR6PTTTuZTybK+a6yVxSkrpKi1q20nFYlxa 6XSa0s3a6f57XnwG/bmie3g0b/goJ4gnuZrvSbW7fUfgp4G0y3j0yC/tF1LUIRBqGoPPqljprXd/ plhJFb/2pqsdrpt/rGj217dazpv8pf7VHhj4UaB+0H8cvAuieJ/Emg694F+JnxW8MzDVLPTbvRte 8Y6D8SvEOlQSaTaWn/CO2fw98K3OmW0DLIl74pvLS7tFFrbtZ6pDbaD/AHkR6dZxXdslsJp7hrm3 iXzlixFO00hmaWYOJERrW0uZU2SFXdIEMCxzzyn8ELz9mr4f/FjxP/wUbnuvhV4K8Qa14g8dfFeH SvEt/wDCnwj4j8cWut6h8bbyW3fwbrup+HdTufD/AIvvA00yahoqLr9xbxGye5nsZ7u0uP2Xwnyb NOOsViMHLiWjhp4SjisV9aqTlTw7camW0YUq0KuEhzuP1ipJSdLkgpTcZuVkvy/xHz7JOB8vwmLx HDWLx8cxzLKstjh8Iv8AaKUsVDNpvEwdPEQUYNYenFuVSzVPWCjdy/lv8DeLNH8Ha5e+PIvsunah 4Y1vRNb8OaFZy60zarPB4i0XUJvDmlXq6ldXtlo9rp+n32mz+IL06lNPa372s8c17fLqGnYHgGzE WkeI9cu4tShENzZazpVxFPZR2E2paRHqLpYXQgMV/bTTxzXUulXlnNAoksb1LW2lns3e0xPC/wAV NW8CziTQNQ1SOOzub7U9HtI72eGx0nXL7T59MXW9LjE8klpq+lwzLd6LqqAXlrqNpY35CT2dnLa6 9v8AE+11rUon1bwlp8loyNbtpehS6f4dsI9txd3VrLBBa2P2eKbT1u7qO2byzO8j+dcTSTvLO/09 WliF9YlTw+IqOoqT51KgpuNNRtRpQnOkls251ZyTlUkk4xTS0w+RYfE1Iwr55lGAlV9lFTxc8fU+ rx51zxq/UsuxMZU1d1JShUrSlGUnFe7GEv0h+F3iLwp468E6r4f8XXGv6LZ6rd+FLHUfGFjoBhXx vHZ2Vl401vR9S8SfYpNGg12bUvD8dzqccmuXl5qsUdzpcrf2lraSWfyH8QPBPi/4e6prun6e1la2 PiuLR/A88DX2gapPCdYudL1NYbjT7KW4XUWS90ueLTPElv8A2s+nT6BbNBqVvMNFv7j6B+H/AMa/ hfc2+g+F9S+Fj2Fyw03TY/F2mX+p6dqsd5FZQ6XpWq39/Y+L7G2jltSltq013Z6WqR32nW10NJuF ge0l9Y07wP43aO58K3esN8U9E8FC4vYNB8Q6X4mj8H6boWr3mmzSWHiKfwPrbXGo6j4XhbVbXTIP EOiR3UupeIb6Wx3tHoz3XzkcQ8HVq8+ExVGnTTqxweJoxqe2ppyrOrRnCpKlGUZRpRtOoo01yppx bcPocx8Ls3w+Dweb5ZmfC3EOUYnMHlkquUZzRxChmVVU8XDBVsPmayzGYbEYjD+0qYdzw3sK9PD1 50auJqYapCPwBcfFrxp4O0lvBfhPxTex+HPEWh+IfD3iDwu91c/2dqlhqFhBoMVxqdrC1uo1C2tr d4bK8kitNYtZY72ERWtjrWpafff0vfsO/wDBKG1+JH7Lfhnxd8adauYvHnxRuNE+J/2vxIk/jzTG 0y80/SpfA9td+FrjxJp9vONK8KiWc3L3nh/W7fVNU/4R7U01jwfp/wDY97/NRq0WkfC74ra3f/Fn QW1fy9Iln8K6dAtxrema9sSDTNE1PVVbxbpGp6Xay6ZFNq8VtLeSXtnfx6ZZ3egx6XPNFH+lPwM/ 4KWfBzSXv9V+PuqfHbx3rN9FAkbpD4k8Q3Gn+TFLC0MOq6j+0x4baeyAlNvBYPYwLbxAI0uEVGzz 763Xy+NPKcrxdSdeFCrPFYShg615yXPD2UamIw6qzpzk3KopqCqKEYuai1Hzsoy3LsJjq1PNFg6U 6dadOtRruvGXtKFSbl7SVLC1OSUqsWoytz8zsrOaP6W/hJ4b+Hnwq/bFvPgx4FsfiB4E0v4f/BDw nqGmxaV8UvEXibwn4j8NJr3gr4ZeHfCfibwh480XxLf26+HpviPdJ4d1LS/G1umi2ESw6fZafPez 3I+9davb+z+J0NpZG9v5NX/Z7+OtpBpttDLcNcahP40+BOmWUtrFC5Mckba7L57JCqMkzTvPEIXZ /wCVvwz/AMFNP2BLrWILm28JfH+y8QXE1nPJrb+EPEJa0TTdt0l7Pc6J+2iNWkfTmgjvlls7dprU WzPFbyEBo/1M+HvxJ+Dnxj8R/D/RvBP7UN94j8W/EfVE8BfDmy1i5/aPstZ1nxB4k8Q6Noo8MaXd +IPjMILX+0fEdnodvdWb3NpALyHSnvndLOJbX5XLamOyh4WDyHiKVeDjVlOeCwXLWrp+803mz+Lm jenzKSSutHeP0WPw+XY2niVPNsno0qyq0tK9aHs6eIjKnFJRwSanb3lKUYp1F717xv8Apd8NPD/j 3w/8QNI1jUfCHiG1g0q08R3klzJYySRxyp4X1sWMYWMutxLeXYgtba2XdLLJLGEjKtvSl4T07xoP F3hGSXwV4ztbdfE/hhprq78J6zBa28B1qxWa4uJ7mzjtktbdZN1xcvIY7aP97ISqAH44+E2l+CPj DaazqXwm/aTtPG9tokEC+IZ/BHxL+KGo3mhHW7bULa3h1ezs/jXPcafJrFqb+FRdw25uY2vokSQW 96r+pH4T61Z6mn2f4qeMYpy1lM8sPiX4pJ5IhlYWt1arL8TpXguILqyWdXhnRlMsoCkhTXsYvxSr 4OtiaeMyfHYevXw1OnKjOhg6co0rVnGaU83k0/30rOUnd2smk7/P4TwwwuJo4erhc3oV6GGxUq8J 069ScZVZPDOcJOngOVr9xBJ2TXNK8rtW9nt7HxjefETSfEEngXxpHpV18RLLU5dRbw1rT2EdtJ4l gvLi6a9eyNpHbxReZPLcSTLbW0EcskskUML7cz9r34Gav8XdB8O/ED4dzSWPx5+Cety+NPg/qSam mn291qf23S7jX/CmrPcSxWVxpPjCw0i2ssX1xYRR31vpy3Oq2GiT67Be8h8Pv2bdVvtesbqH4w/E awsrdJGvFsdd12UKrTTeTLHZXWt3AuMSyxt9naK7mDpG/mkma5hxPiR4U8QWtgB8DPFnxa/aFuJf EFu2uX/hX9om/wDB6aJpt7a6vcQT6Y2sXGqeA9RW4uMrqOjLr9hrdpIdMfSNMTTBfyJ8rxLxJjOI o5Xm8cJi8FQyWnUcK1KngK3PTnUp0lOpShmsq0YOdCpSa5ZKaUlrZxX0GQ8NYThyWNyv65SxdTMq lOUo1frFP2clH3VGpLBRpc0VUhNXkmnyp2uj7F+DvxLsvjR4L0/xlDpepaFc63a373+garp91p2r eHvEWjXy6R418PapaXsEVxb6hofiuDULC481VW5lMjae1zaRrcyehSaFMsQJhBXjaQUU5fAbcxYH AHIUHsV44r8WrS48UfBPV9d8aa38OP2nPDFmmpeJfGPxDsPB37Snwn8RJI/h7SbvU/iHruoeELX4 m2lufE2k+GdNvm1jUDo9nrJuzY2zSJq+r6db6r2vwp/b7+FHx28WR+DPhB4b/wCChPirV57W8u7e A3XwWTTfPtdJ1vxI9s9z4q+IWkaRY3U2i6BqdxpsFzqMd9rS217p+mWU15Gnm/JYzDU8XXxOMw+H zLC4Z81XERr5ZUccPNwlVqzvSr1JQw7dOpOLnGKirxvaJ9DRxMsNGnhqtbB1qsbQpuji4OU4QfJS vGcKSdRxSvyOWqe9j9bbTTpLZ386KNPLt8K7MoAfAaPOGJI2/XcwxzkAqQVKDcgwpf5Muoc+YSCT 82FJKgkhsqcDAr5U/Zkj8Y6nqPjrxV451f8AaV02eOI+ELPwV8ctJ8NaPpKyQ30etv4k8M6b4bvt cl1SIQXEOk2nikam1rf2xu7GL7YLCMWPV/tC/tRfA/8AZd0zQNc+OHjS+8H6P4n1CXR9J1ez8D/E Txfph1aKyfUBpmoaj4H8JeI7HR7+6sre8u9MtNVuLKTV4NN1abSUvYdG1VrPzMPGOLnCOX+0xftF eFOOHr0qsnFXqL6vVgq2lrqXK4zT54OUZJvtlUjRXtMTKnSXupt1ISgnJxULVItwfM2lHVNyfLa+ h7Ynwuk1LSLa/wBKkS2bWfEdzZW9hp2leNPFvi7Wr+xg0hdS1QaD4K8N+LfFH9h6N/behQa14rms U0PQJta0tdZ1HTTqNrLP8ZfHH4/eFvgZ8T9b+GPifwF8Y/EepeHrTRJG8SfDD4X+JviD4J1tNV0H TNWjvNC8S+GLa4t9Q/4/RHM7W8UrXq3DxCa3MV1P93/ssfHv9kX9qv4DQeIvDvxD1vXrPwh8YfFN pFqOjH46/C67kW/8GeB7jXtAN1pHh3w/rWp6bqJt/Dst9aybbAvaWtysk09lcW6eeeNvCPgD4heP /Fev6Re3lj4dvNZtj4XWwjbS47bwv9hso9B+y6fKlu+m2h0lbTybO80mCe3jkEckFvIogX9ljkvC +J4byeu8ZmdfievzPPqE8zajh3CE1hfZ4ek44nDSlRlD27rVGq1VSailGLf5tTzTP6OfZrRnQwNL h2jy/wBjVqWXOVStKc6bxKrV5ydGvF1OZ0fZUoexgopyqSc/Z/CNr+1t8ENQQW974T/aI0qWISed O/wA/aAsgwaO+VvMbSfCNyMCRkzy2ZdsSyhpXaGdf2iP2cbwMqp+0UjRs8x/4tV+2EHhcF/naSw8 ErsTMQZYsqFIMbokjTV9WXvwasJb7UJbfXdRiIh1e6iCarpM1tdTJczxxSz2l1oDXYku5pImKwXk cBJaaINCSTeT4O2gtWaDVdR1Jhe29sVeWx3bDbyTySNLZaMuwC4ijjXyyA0oYIAHYLwx4Xyy6vPM VfS39pYtq2jVr1F10ts97rZeh/beLjrF4Rq2reCoLf7rdPvPRPgprPhzXvhx4b1jwrPrNzoF8l1P YTeI7LxdpmtPGly8EzahYeO7Wy8XWkrXMMxS31u2gmSBovsyix+yg+pzEfNtJXIADNjkhnPQgj0H y8clVAIGOL8C6amh6JFpiswjs7m9YbsliNtvKSwEUeCDIdq7QuckFxuc9jKVMjZxwp+6yZBIbPzb sMMtkkkgtzjORXwOaQjSx+Kox5pKlWdOnKTc5OFNRhFylL3pyajzSk7ttyfWx9Nhuaph6NSVuedO E3ZWi3JKT93Wybbsk7JWR+Ef/BaWENY/s8/MQFf4yZbGCuX+GTKOAT820gMpY5CsoViAfm7/AIJC 6Ok/xK/aC1qQBjY/Cew0pAQzlJ9b8WaVMjbGVyWH9kEqylTGUYsoJIj+jv8Ags3Osg+AVkTmW3tf ipdmM8oI7mbwDCrk4IyfspyASDtJIG3NeRf8Ef38qf8AadnztlTS/hdbowQlUFzqHjOZjuAKctZg LCVJABJ2ELX0mHlbhV6Rd8HmUk27Wi3iLLbVbNtNJW0ejPMqL/hVglJrnxmAStbRqph5NdHZ69Wk 0nytrT9t9Hmt4IdUCHEzs3lblKuTLBOy/LJxuYPGcxgIGkBYEKij89f2tv2ifiD+zPofh248F6L4 e8Ry+PvE+ui4tvFdtrOoyaZY6H4Y8G26rpj6RrOlT6bE91czyywG6a2kmunuIrdJ5JJm+0l8TXIu J41nUvFbFmTeojZ4rZyr7fkUBnjcuVyNyk7kIG75P/aM+G/h/wCPM/h7Q/Fvhn4nT2fhifUDo2r+ DNX+GljZXsus2GmXGoNNH4o8Sf2pNLbf2abaPz9FsELrOftF3DLDIvzHBNTLMNnUaubywywH1HEU 5/W4wnS9pUlRVP3JJqUkk3dK9lZaXPd4joY6rl0qeWqt9aliKMnKjKUaijFSTs46JO6un7rvbrc/ OD4of8FUvj18MPhV4D8X6J4E+GGt6p4i8dfE/wAN6zBqml+Nrqx0rQ/A3h74N32iXQmbxpdam1/d 3Pj/AFWz1K+v9SmW6WHQoIoLK6F7Lf8A6s/smfG3xF+0v+zJ8K/jN4r0zRdH8SeNpviFHqWieHob y10S3i8L+LfEvh7THshqV9qerbbjTNMF5cR3WqXKm+kuHtVgiZki+bb79gn9m7xb8Kk8D+O/CfxU u/7H8Va74t0TxNB4r8HabreizeIvDvhzSNUsZLe0j1bRNXsZf+EP027ulm01dQnlt4obLUNPja4h m+v/ANnz4e+H/gX8H/Dnwh8F3WvDw78PW8SRabcatc6WNTvH8U3HifxHM9w+ktAq/wBn6tqcUMa2 9tCi20kLh0kSdIvv+LcZwhisgxFLJpZXLGylhFCOHoQp1+WEqUqrjKEEuW0ZSlqpO70SR8hkGD4n oZzSr5lDHfVIqvzyq151aDc04004OpKSkk0vdXLGzfNG7S9TjAe5iYlWH2Cxt1YRL8zWv2e1y7Ji PeohPIO7e0nyoVKps6VDIljb3DGFzlrZ18xQ/nLa2e4tAr+asUglQRy4CuxkRZGkik25Nvqz3xVJ ZZTslkWNWm8zcUvLn95tcu3mMG3M6MCcqxJwpD9Fv4ru0S8iWfyb2wsbiEXVlc6fdbLmDMa3Nhdw 2t7aXCK4FxZXUEF5bvujmghmXYfw+tzKco200drpaPl1b8n0ut2fpsHeEX1a/FWv+a+8sPGHe8BQ /wCutkHGVJMMK8BcgYJIIPIZSSByauRfLG5LZDSzNwWGFbUW2oArEAoGCPna+Q24K2VGbFdt512k giBXUoEhO6OPzR5SAyM7zNBsUf6ySaS2MSlMxFEeer0OoWt1Axhmhd0u7mCRBszHPBfLHJHIFIZH RlyUdQcAEqCQBhLmaXutpbP7N7pO9lo7Nu992tLFtWdtPk/To3frvt+BNAzJd3EhY7fsluTw6sGW SVyN+csqqzBhjcMkfxCsySZbZNQaE7HaaJiwJX/l2skc9hh40KuOhRnbhskWRdo93coGWTbb2hAy o3JO14gAy+GwLWRmYjITDxlgWIyZbiAx3ks5glQyW5kRpJIgC0FlGrF4pFJUGTd8jIDtC7nD4G1B SclZ2tKKV7atuNrtuK1Wu90vW5MleLs09kl6W720W35FWJCJbtljd7e/8YaJZPHGGaOZZLbVL0Rt K0oSGGRRK0zqgIM6mQ4ZUj/MPxH/AMFPrTwP4z8ReH7/AOB1hr7aNquraT9ut/H1zpMFw+n3stqb v7JJ4N1JrUzvbDdBPd3wt2kMXnPzLN+pdzqOnWcGquLO5n+x3FtrKxaZBqN/fvc6V4fvfLMFjZG8 vb+5EcRgtbOxtrq/v7jy7a1ivL1kEn48+JP2HPDfxC13X/FGm/FPVLG98Q6nrGrS6bqHwl8VW0Wn /wBq3NxMbMXtze2bXYg88wJPJZ6WZniYtZ25IUfr3AmHyCWFzF51Ty/2ir4b6t9eVBvkUKiqKnKp d8t3DmUWlezeqPguKpZtbDvKvrnM6bVZYaNRraPJKag0uZKNk/tK6ukrPS+MP/BXfwT8IfjP4++E y/sx6v4gHw/+IPiv4dReJovjZY6Ot63hvxJqXhWTVE0Kb4Q6nLY2mqNaT3Mdm2oXZkknNkt3d3MX 2hf06+J3xE8GfBjwl45+I3xA1618LeA/CkBTVvEF7bXUljYxXmtaZpGmRMtnBd3F3cX2q3tpp1ja WdtPd6jqd5aWljaSXNzbwt+PPxl/4JYxfFP43/Fn4taP8a7XTY/iN8UPFvxCi0XVPBVzHd6ND4r8 Val4gTThLb+JGN/NYJqQtZZRFaRXMEczTpbrtYeO/wDBbH4d/Fj4pz6fqVj8c/hXpXww+HtnoOs2 vwOvfEl1pnxJ1Pxb4k8QWfhq68WWXg6zsL2DxYum6ZqNte22o3Gpae2heEoPEk9npEP2jUNX8Se9 xLkPC+dY7KMvySrl2DhiMZUeJqZfSpzrulGDjCMVSjOb9tN04qVS1GFpVJpunyy8LIMwz/LoZri8 5jjakKOFoyofXI8lJ1FVqOpJKcotRhBQ9oouVTl1hG0m1+gGrf8ABU39jaLwt488V+CfjH4Z8Y+I vCWmax4o8P8AgLUZfEPgq+8W6pplprsuheGNNvPFPh+0ijuNev8A7HZNe28N8mkW051a8tvsVlMw /Fr4y/8ABVz9oc3V3rXwI+H1v8ENc8R+Kl8X63eWWuaB4ysNMutN8Wav42ms4o5NPfTb6yv7KDQ9 R+IWteLwugeNrS21qCz8FeG/C1ze21/+c3wf8JeCPDvivw0/jrwhN8XdEsNemg1HwvqXiu58Fw3+ l6baDxLqekW2saTFNqmhQa1PqOsWyXUeoFNOnuG1ea2e5MixfcXir4C+IP2kT4csv2Zv2GtX+E/w /wBMs7mTxPbaz8UvEPifSPGd9YarZWt3pkXjr4lx6BpOjGxjEWgxaJ4QNt4vhj1nxE2oanfWlwkO jfXcO5NlPBVPGU5VcZBzm5fWMd7OnCl7d06UsPJr2VKblUw9/ejCaTUb2cuX5/OM1x+f1MNy0cJO PJzRo0Z2qV3h4zqRnGFaU5qUY1pOHNCCTbk580aal+CWp+Go4pG/smbUby3MgMJ1Sz0/TriSElCt w9vba3q5jZlJkZEmcQxsFNxIMtXoGmfC7xRDaRXVpp9i8r2h1NhJr2hNHLCEWKOK2eLUkmjl3yMz 2Xy3HAdVZWCrctl1a+uYpYLXWtSkYTurLpupyxMLeze8voUAsixjs4IJJ5VJYCOCabdGsczn1yPw F4t8Otd3et+CvGXhmaaKF9S1q8+H/ifSrewna2sdSWxuJLjRYITLcWeo6dLCkEqh4r63uW3xG3Zv SxeZ4+lT58NRvGKvJywNaurvlTUkq8ZQScVeS522+WNPnaT/AGPh7gTgTFYyOFzvPZYeVeoqWGi+ JcnyqtUTg1TdD69lmNhi5VatWhCMYShSpRl7SeK5WlLzSLw98QVmisRp1vZ3kbQXYW21fTnSVBG1 wJXU3lwN0cYBeIN5W8ZMYwWr+hv4MSaJ4/8AAHgDxB4w8I3uta/4csdWik8XGyfVbWw1LXbka3dz 2S2S3OnW96r337q7t4rK+tSqaXHAstq15c/mh8IfiLa+HI7HUNEg8RnV55hYyX2maF4nttRuXim3 W8Sw6BZTfamZf3kKTMZPKVYRHKrvC/6j6T8bvijrnhfSri00aPRJfA9nc+FlstIOvaLqV6dG0iW4 sNO8R2/iKW/h0zU7zxJrupHUEttE07TdF1KeTUbg3MrOE/MeJMzzrNp4PDxwFChOGInCrVrLHYSr KNSmqdsLFUK0cS5TioypVq+E9nGUakJ4lp01/VuE8DuAuD+HvrOXcXYTiHJs8x2R53XoLiDLsRW4 dxmVwrf2Zi8wjg8DglKVOjnGY0q88I8XGXsuaFKPs1GrxX7f/wCyd4T1n4NeCNZm8CeMtS8VaHpQ 1zwx4w0+w8UTvdeEPEPjSXQvEl548m1/wzF4v8ZWugXuj3x0ibT/ABFPbLqd/c+br0N5ZaroWo/z ueIdF0iDV7nRPDumaNq0DSJHYa/BNr1u8oghhvL1o7O68RXUYSKWOe3mklt2jkjWe6jSN5k2f1o+ F/G/jnVvh9ZXHiTQ7ex1+90V4tVsNG1rX7O9tNckedNUSS9WHUGv9IurrbF9mu7i9j+wFnm1GJi0 kf4W/tNfCr4mj4xXvibwR4P8Z6JpE95feKdJn0bTrvUPD9je65dM+sapp9tYSz6b4bbULyyN7dWc sz3i24tLvU5LNwLLTvq+Fc6xlSjicqeXUsNPD0q1TD162LqVKE8TFxg4Vq0o1Zezr15OpaMZygnL lVVNtfzF4heG/D/Dry/jGvn2L/1fxvEeX5VmeAhRws82+pYmnicZXxOVYR1MJQxNfBZbgo0asMRi 8HTrYvE06k61Hmk4edfDP4K6T8PfiD8Fbj4ufDzxesHjEeB/HXhqxufDniez07xz4en1Cy1C6+3v Lqnhu+XwLrVsl3ZXfibwwby9i0tb+8sLuOazN9X6jfBH4xfs+fCn4y/s7/ECOC5+JHjT4S+NfBWr aMukeKvGEaaZ/wAKc8T+EvE3h/w/d+G/FviLxHrfhbSdasdEXQtR1jRNB1bRfDepx+INVu7GxEMt vF8hy/speK7/AOHcHiLTviz4W1TxPeeEZoksI4Li41m0g1bTdLiniuNM8OXWp3O638V6Xd+FJNZt ptYiL3+mXiaZb3drdaYfMo/2CPjnr3hrR/idH4i8EW9l4q0Dw7rd0/iDxHeeH9Y/tHxT4e0nxBJZ 3smv6fBZNdXM+sSaaSNWeCS8iuLXfAQIU9WphMZi1RlisxnT+q151+XDR56f1lSapctSFGnVlQUY Rc4Nxp1PZPmi+aMo/kmdYnh3EZtmL4ZwmIp5NWj7LB08xpSWM+ozhHmdejLG46msROTqNyji6zpp +7Nc0oR/oJ/4InfBrx/8LPCv7RuveL9Hv9O0bxhrHg/Q/COo3un3+nReIYvBmrfEHTtVnsE1C2sp ruHT73ULcSSwW9zb2811Jp892NUtNTtLT9m722EusWaglfPjtEk4yQomuHZv9YQo2ghRghexGStf kx/wTu+JvxE8A6N8VPB/7QPia0TQrjxzYeKvg54t12xutBm8b+GtZ1nx14a8S3WilzNo2s+HNK1v 4aahp2lXGganrsFvqNjrHhdb/wDtDQxpOn/V2n/tYwXHjzWp9Z8O3Ft4FtoGbwvqNlo2urr+srHI p0+4bTdSisJIIrvT2ur26hvIbE6YYYtOvBHqSTW8v4nxbRzXMeIcZUlgailTwuDhaEKvs6kVh6LU qXPTpz5nGpFuk489OUakJao+/wCG6uCwOTZdSjivarG4ms4S5Y3hVlOSlCu4ylClGm4On7TmVNuN 42i0fpP8EkT/AISFknYvDBBA/kiLBJuppzI0cm1sMVij+9lZWeMrE8kbeX8Jfsra/wCG/h9c+M9A 8c63YeENb1278HjSdN8U38Gi3+sXWnjxIl9HpVpqVzb3OovYyaxpAu4reJzaHVNLSdFN/Gs3p/gv 9oL4Vywa+mrW+q694dv/AA3Da65Zr4V1jUbJNJ1S6Gn3dr4g0y505rlLC8NwumXttqNj5cklyNPl UzXccB/LS28LftBxfAu71HQPAvw9ufjhdahBf6f4L03WvhbpGmT6nrF59lvp7Ww8P6/pmmaVLeaL dalqNrp9h/Zi6c4uLbTdMs/IfTU9vhvKp5vlmNyKvVp5fKtgKb+sYqrTw6jiIY3F1aOHX1idGDdR zi6k3O1GF5OMrq3lZzjsPgs1pY6pKpWpwxlOlOnQpTxMlTqLDUa1flouUuShGFSa91qpKCpc0HNS j+q/xr+Gtzqnw2+LN9eeOPGWsC/+E/xK0G9tbmTwvBp8ljdeBPE+n2D3Fro3hTSknOmpqtzPbm5u dtvIBNOJAkpf4K/Yf+G+lfCj9s742eF/BejNY/DXRfjF448LfD3xE1xfXdj418I+HfDnx2g0jV9M 1u7eSx8SK+jT6CE1LRWjsJtPhsbxWea/lmuP041rWrKb4e63a27XN7Pqui63opTSdKvb9559Ss7r RJY9mnQzuVtp7yNLk7Fit4lllneO3jlZPIPB1jaWXxD+Gevrod9o8WgXPiM61fy6LLaWUqzfD7xL pcLi4itsTSM+pS3IZh9onEkk/wA++4kk5MnqZhLhjPvrzrTxNSljKdOWJhU9tKnDB0pU/Z+0tNw9 pKrGNlJczml71yMww+DWeZVPDunGlRlTcnRkvZTc67V3KEuRTjZatyfK3daRZ9w6rdZuoBZvuNta LHeJvkjMU8nmXAXL2kwci3uLdy0BdNj7SVl8xF/Ar/gvz498UaD+yf8ACKLwZ4k1rw74tufj54au YP8AhGNb1DRdWm0Oz+HXxQSWRZ7JrG8ED39xpkLRurAXMNqqqZua/Tv9pH9qr4afBDwhqWtnW49S 8fT6H4tv9A8D2kdzfXk83hrwwde07UNcjsb23i0rRtato8W8V1c2+tzwWV2bKxnu1+y2/wDJR+2p 8cdX+Jv7WGveJNK+N+ufE7wHJo3w61jw1NPfXen6BpWq2HhnwnH438P2fg3Tmt9E8IXOmeLdH1+x 1HSrcarE9yk13NrfiOS/fxFNzeHnDePnnUsZi4qlQy5ucqU3GVSrXnhlUVBRi5cigmo15Ss6c26L pufOob8Y46lg8DTwlL97WxdPDVozhKDhCjKcakpuac4ty5ZKEYtONpXlGUOWX75f8EMNS8T3/wCw bofifxh4o8Q+JdV8WfE74ia7Z3+va3cavffYLCXSvCUVjDd3j3V5Fp8d54cumW03iKO4u5pIyVmG Ptv9qz/goh8J/wBiS38GeCb3w3q3i7xhrfg/wVrdlZaJNYCx0iLVPDsN9pR1+a7v7B45dV1CO/Sz tLTzNun2F/ezTQiC0s7r4i/YR+IXwH/Z4/Y9+Cnwz8efFrwJ8MJ5I/jN4i0zTPFvinRrHXY/DWnf HPxtpWqavomm3d5LqHigxxb7rQfs0clv4uuLQ2ulXrRGQ2/0Zpv/AATx+Gfx/wBRn+LPjK01nX9Q 1O+u7uy1RdH+LllZ6lpGqaRZ2lip0z4lgz6loqeFJNJ0fSBbCXw7pGl2y6L4bTT7Ow+xWv6Rwvld GpxLxFmWYUpUsDPFuGFpczp/WfYpwdnB88MPGbcLpJTlFxjJqE0/guJ8xxFHI8owmWuDxcqCnVnU jJQw8Z/DHl5XGpVTUJTi7uMZczinKKXzxcf8FLvjX8UPAHiHUdK/Yv12Xwt4v8JarbR+JtP+LVj4 X16x0XXrCTyfEPha31Lwtqd5bXMVhcx6hpl/HaX1tbyGCdI5bVnaviaT9uX4daxZav8ADTx1ov7W 3gVbzVNEk1nxR8PfjT4Z1/x1po8NXOqJcafo2p3ngvwnFJBdLqLpqVjFrMcV6mn6WYRamzumn/bT S/8AgnoLTRpfBOm/GD4sWOiWmjWdhFp9v8LfgnpmnwaQ8N1pdrplpqkXwEWKURJa3kE+m2893JZW 32P7baxRXmmM/Hax/wAEtfCtjBqbeFfhB8KvGt7rM1xKdS+Jvj/9ozTHt77Ubxp5bqDSfhNpdhKz +dPIvlxziCCJ3ZYUWBAf0TDxydTlfAYeGHV+SMalV1ZSjKEouV8ROKatJys487sklaz+Cc+IIpup mMK06qUeSnRrUoQhJx3cqFHnupXi4Jq9tFf3W/C39sb4fn4HeN/Ffw38E/GrXfh7+zr4I+BcninU PjNL4Q0D4reLvDvxO1XXPCS+MLKLRfEnijw9rt/pNh4KutbvDqXiLSdS8dazd6jZLF4ZubWzufEH 3h4M8d+E/iFoGmeMfBevWHiTwv4ht1u9G1yxkk+yX1tuMMjOl1DBc2VxbXEU1tf6fqFvZ6lpV7bX Wn6rZ2OoWt1bweOfs+fsRfB/4Sap8Tpfhh8TdN8SfCn4pfBM/DTx58KbDxJdeLW8P+Ik8WeJtRvR bePNT0/w14sudG8H6d4k1vwZ4ai8R+EJNdlt9Tu9SvPESXEB0pPljVPBf/DEf7LnxK0n4gTfFbxV 4Tg1/wAY6r4Wi/Z88baxpmt/Deyn03R9QstR1LU/Emj6ZrGn/D2HWY9U1q+0fwR42h8SzZ8QS+Id f0zS7rUtY1P8z4r4OwmZYv2+SulgqlWaq13WnX9jKNSaVZqDlXnGrTclNKHuzjz2Sik1+hcP8S47 BYRU86hUrzg40qUKEKfPFRXuNSfsoOm+Xk5qs4yjJ02r80oryP8Ab2+HXw5/aj1rwNfeC/2vP2Nf DraFoMmn2Ph7xt+0B4U07xDqeoeIL5J5n0+10eHXogYk/svT7vTtQvrDV7XVGk0x9LW+iuYk+YP+ CXOjQ+GPG37Y/gyx8V+GvGqaBF8HLf8A4SLwfNqlx4b1R7tvHdws2l3Wt6ToWpy20eZIRPJp1vb3 ZH2ize5sTa3Mv84XjTxKnijxtqevaZYywWniC7kvJ7BQ7StczajOdSt4lgMsssd1qUFyGuGhE8lv gSQKzPbD+t//AIIL/s++Fdd+Hvxjfxb4Y+Kw+Jb6loHwz8ZeENHXwV4Yv/Bsnw+8Z/Eq3XWfEmmf EDUNG1YXOhv4kms/GVnbG512GHStK07RdH1K/s7m0tunEcJwlw79SyynKeKrYKtRj9ar7VKtJv3n yU1FuU5wb9nF8rXMl7zKpZ9UpZxSxeYNfVVXw1ZxpU480KUZrlatVlOTg4Qg46q7klJ2936Lmhki 1e4V3I84RopJ2uJCxWVWYA4jKqgYocyZkJ2l1Zt20ghDwxOFkZ5VLM6NuDeU5BUYHUbUbcSrDg4C 7D+VX7VH/BRDwx8GvG+leDLArH4h1fWtKim1q8sru/8ABfhfSpNXtV1LV9ebTJx4g1GXR9Ma51S5 0DQrW6ubm2SGO5lsVv7GW86H9rr9tOf4K+BbH4mfBvx18NPir8PNBvrC28XfETwv4l8B+NtHvPiD Ml1Z2fwitLrwf48vIvtNzbeKPDfjXUpNL0zUdU0nwh4E8RLqGsWN34i082P4VLJM0qSy+m8NUpzz CoqWG54VIJtSpw55ScHBQ5p8sE3KU2pqEJWR+wf2jgo/WJe3jJYSCniJRanyNxnNpJP35KMG5ct4 xbSlJM/Te/vrCw0Jp7meCzUQSytPdTLCiRrbW8d4xkkdU8qCTULVZZixSM3MBkk/eIX48+IRZ3l1 DFdRytd6VDfwxQlX84Zv8tGIkwQYY4ZkmdzEyxlo9qiRz5R8MfAfwD/a2/Z/+Hni34yeI/ib4T8a 694C0/xjb+IfhVqHjLT9Kl/4Sm+TUoLbQvM1HRfDci3t1aWGmSWVs/j7xN/Zvgrwtqepy3Hkq9lr fDz9ke007WtL1b4IftcQXE0yeH9M1Twj8cdJ8AeO4Nc0pdI1Maxe3QvZPhDquh+HYNfjfQdQvPFv iDwtr+l3Og6nBY3ni6zmubmPWGW0sI8RSnjcLXxmFqSpVKNOrenKtz04OEajipJQcuXnlDkrzjL2 DmpQZg8x9sqUoYfERoVIxnTrVaMoWhKLcZSinJNSspKMZuUIyXtVFps6ab4lWWleOfhB4Elk05NY +KPibXLVdPkubj7augaP8O/G3xC1nWrCRQIytnqOl+HtMnkufNkWPX0Bg3zpcQ/SNvpkbXGoQNJY QTC1glhkOpW4G6OS6VpIrcXkpuGmjKb5llZI1+zsVjMny+LfCz9jv44fFn4uXvxo+LGq/Auwh/ZI 1PV7fS1+CDeMNRi1y7+JnhC58Jar4YvlvvGuo+GdJt7PSdc8PeKYdZ8Oy+J7e5gt7LTLaQQ6sdSX 610nwMk0OpXtlf35tpntrEW91oGrabc/6BNdQAOl7FY3f2Znuo2jvGtVtY4UllhnNtNK8fx3FP1n L8Tl7ksRhI4jAOtJqU1TqN4rGUOZTpKUKip+xjB80o1IzhNShHr9FkdfBYmhjYzlRrToYmjSTdFy cb0cLVktUnFuNWXu6vkad3ds+WvDmvXN/wCCvC3iC6iSNvEmgaNq0llZWV/Pc2l1qWl2GpyxxwRL eXbrE0zRJGollIBRpXVcvtaydY0/TZnvreyjkgngcLCr3CRwWO+GFPNiRGaV4tkl1HGH/eFY4XlW IzS9p4a/ZdfQtL8PaUfFMM6aJpWn6a2ox6Bp9lJeRaXYm0tzLYnXPLjEpCTyhp3kLqWZ41JRNC8/ Z61u2kxPrGg6pqCXbPpUi2EFlcf2RLZ2EscT2Z1PU1u7myl+1zTX0DQyTWzrFBpNssEt1fcLx2GU 5Sjm1VuPuw5vbcrik7fFrdtrV/y97nb7Oi+W9ClZP3rQipPVWSaTSVr8293ra2h5X4a8S3eqzfb5 IIPsMi3KFpLJoG+0LHFI62xl8yR7YR6h5fmbZY1lhaITGaCVBq3l7BHp95Gr20gcx28XlxndBFaO ZJ5ZLmUIJ3kKxNHi1RoWiuIt85ZGtvTtI+A3ifTr2GeOXw6qRxTrIRd3izOZUaNE8/8Asy5dQokL yASuCgkjCv5m4alz8IPEc1tLZwPpCzwzX0lywuNUKhYYoLeJY5Z9MtyFQQ7JpNjQ3JVnt8x7JJOa eYYmdemsPjKkqclBJqorKUZvmvGS+K7bTfSyta996UMt9lJ1qdKNRtu3JdqKjaN3ZXSdmuknf4b2 Xzjq+vS6Xomo6zbxgXNpZaNqkSzSSspaXTop4gzQrO3yIJS6xKQ6u7thcOupPJA93fRgoiCSV0wN oVnM/wB0sqkIZBtRDwAQDu2pXF6mghtUt5pIdiWXhmEtOXa1i8rw5cS4nMrpEse91Z94aJJCWw0i xuuqbom4upWy4aa4jIKmM/LcyFsK4VtgBBViu7aeMF2L/oWJocmFpV/ic69SF76KMKVCaWyTu6st ndO2rjqfJ0qqliJ0rcqVKnKT2u5Skkkuy5UtdtElHW94LDJ5b4UukV4Nr7SVHlO4UE4LArKdu8FU JcLg/Mv4t/8ABS/9lCGex8WftOaL4px5+r/D/T/FPg7WLdtjvPJofw/sNT8L6lZABRCsXheW68P6 vamGeJNd1qLxGsqaf4duf2BtrotNOMl1dZQDgB1Y2pxkgkbVAVc/umVsnaVG4/C//BSzU3tP2YxZ c4134rfDjR2Q7d7rFrFxrcKI3moikDRYsSTMyIgAYCTDJ63B+YY/AcT5XLB1p0ZYitRwtVxhCXtM NVnS9vGUJpxkpRV+eylGSjKDU4xZ5HEmFwmKyPMYYqCrU6eGr14Xk48lejB+xlGUXpKE2l0vflaa bv8Azi+DLS3fxPp9oyySQjXNQukBQCRm1DQILKcbwioqNFYx7VCrKJDK5DsAF/r3vNei1/w3oWta lfGRtU8L+CJ4TBdJJPLd33hqyuZ91o+64VDc20sV6J5V+yyyWlrJ5UrtG/8AIx4ScxeM7NG27Gey fMmFJWeLUUzGFLSMztAAWO7JBVsYyP6m7YaVpXwe+A0dr5l+9z8Mvh7q9+llbX1vdS2+seD9DubM FoI/taRtLEBMoWeQKwM1q0Hm+d+2eKcKksJQ5Yrk+sVpTc2023XUIpJyjzTg605ac0W4vmSUlf8A JOA3FZilKUnUVCMItRjpCEaNScmnGUbVPZRUndyftIu6dmv4DfD+v+L49StrbR9QuhLbXcd1Cq7Z BZzRZQXaiRCUkhSV1abJ2RvJvYxtIG+kvib+0N+0VHpUvwv+IvxK1zX/AAzf3Vr4hltpIbC9s9Xd X05LO5h1Ca2sdTmsLO48OWUVtpsk/wDZ9lPpcZisoZ0d5fpLQP8AgkX+1bqQ0x28KXkNtqVzFax3 lj/Y+s2cHm232j7Vdz6XrsqQ2aomySdmOLho4sSzyW9u3ufg3/ghd+1B4pv9NS+1PwpZ6dNKRNdy eJNCeMW4XzZmtjpupaxJGYY0aC5/0ac2N7JtlgZY2WX6OrmGW3cPrdD2MrqrRgoyVaSacZOz5Hac b2dOXNJxk5RlBN9qxOfTq4StOeZSxGEahhq9Z1a08MlF6UJ1FOpQa5Y3alFNQhF/DGK/N7wj4x/a C8VTSQ/DWL4heJQ0oglXw14Rn1d7O7RbdR5Ufh/T5o4ZUgNsySEbVZohsDrGzfuJ+yH+zT8f/BHh 3wH4z+NOnfGX/hBfib4r8HadLqnxE8I654Y8C26avc+G7XV9Gmkl01NWk1bTtX/tjT5ZtP8AF2l3 V5pMNv5ui6XrdrNHpXUeG/8Ag3n1F102LWvj+dGZtPhjvf7J8Ny6lGdaaSS7uPsbXU/h6SKG3ja1 mNldIs7NFctJqUEYtZp/qf4ff8Ef/iV8MtS0cN+2n4m8Q+HtGmsE0vw1qfgG6msNJ03S7yHU7a10 Z7r41ajpemTxSWtv9klstJVLSO4mjhsSlwLKXy4V8jozk6eHwLblFRnTwcFNqEouMp1oUpNzglzQ VPl95bv3bfRZlxT4h5tSjh8y4p4mxuGg6jWGxvEOYYuhKnXjKliKccPWx9SlCGIoznSrWptSpTnT mpQk7/mhoXxl+NHir9oH4w/D/TPF2keF/hb8JPiDrfhTTrvT/DEN9qnimx0nxTqOgWUVje66UFm1 3pulXuq3GpQW1zLpVwdPj+yXqXsUi6n/AAV18OeA9V+J37Lnh/wvc3dnp+o6He2fjq60Pwbp2u6r 4c0sap4a8OWd7ZaRo0nh7SPGUtv4c0mfW9Gtjro1fX5JLq+8UanpPirWNbktv6FPEn7CP7PPi+50 698Y+HPHPjS+0yK9l0h9b+PHxwv7LS21g23n/wBgaRZ+P4NE0K3vJ9L0WOXTfDttpGhxw6PZw2Fj Ha2Vrax/TngP4e+H/BuhReGPBujSwaZaObhLeW5nu57q8mmt0jL6jrWo3d5qF6Ektra3SS8luILa CCGF4rKwjVeSjjsJh5uph8IoVbx5pWV6yUXF887ymtZSmo+9G8t1y8p5OJrZ9j6GEwmZZvXxOFwM /bUKNac50YV6uHpYfEVY0eanFVKsKdNOo25uMFByknLl/lc/ZN1D4L/D3UNF8MW2r+JNfjv5BbWP ibWfhNp/gTxh4q0LVobWTT/+Ee8HDVfESx2F5etbfZtbsdY1bUL57ODxRJHcatZWmm23T+H/AIHf tJ+A/AWq+I9F0P4r+MdQkn0/UbX4UaT+zX+3J8N/Emom/wBesNPvtGv/ABx4RtPB/ghbjS9MvWul 13V7jxAjxW90I0u3vG03Vf6rLWwd2+WPckXlb0WS3kgikm/fwKhlMeAwkRrspNP5MplQp5mdu5aQ KFhLRi4AOxWLCTZHG6QtO8rrujURzlfNkeIOyPtG6GQrrPMq0opOmpKN3zVFCUk5cif2FFXsneMU u1tEeXHLPZSnavTXOqjlbDtWdVwbcVKrLlfNFSbd5Xu+ZO9v5+bX9j34v/tNeHPC1svgrxj8K7T4 U6XNounW3xMTxd4Wa+uda1i61YnQrHWbmx8QPodhOp1zUnv5JJm8Q+L9Wlnl1LVLfVZ7rutB/wCC QGuazo1k3jX4xpoerWM8rNBo3hLV9ajs4/mmaO0vtR+INhCHu3lIuZ7rRoo1SSQ7rx5Yyv7sQT2j tM1rAsZffHLOkzEzuistwAkKp+9SVndkcEIYvs8jNcKwqwJlAJiit3QTxNAqQXNwx2tLLOsx2TN8 7efKftEscTqwjxEAFq1mOKlJNOnC/LK3LzNSWjSc7/GviWve10gWAox5NZya0vFuCfvJ6xi0mteX bVc103eR+Onh7/gl3qvh2YRyftOeMbyyhjPlWlpZeNdKlhmmiYy3CtpfxcW0j/0pmu7aFLJoFMKy XCXCPKkn1L8Lf2ST4ESXT9f8deLfFmkzLAIrXTPFXx88I3EP2OAQiUyr8dfEFi37y5kmES6OYWV7 qNZIrOSJIPu+1UlAxlmh2MsLSLbozyK0IFvFtEs8bGecMobdMuWWfcFQqIoxJNKNslwrP8ijKGPe YYXNq8QmxFEEPmhHjhuVZy0irvijbnqYmtVupzj9nanSW2l0oxT0Wj1Wjst3fppUo4dp03NPzqzb esXdpyd7dNt3Z3PGNC+D2j6FMs+lweOGaF1mWbV/iZ8UdeWVzJGz+faaz4j1Kylj3braaCYIkgWW O4jLPJIfRr/wyur2b2mo6Dpuq2Mi5e01DTrO9t2RDKVDW1xEyO8cbSqJGVt8TOsYI8onopLy9so/ PeV8LEksamC7VWTEYiZMIYDdQyRwxyWs0JWN453mZRDBDT5Lu8ZXJtw8xAiXe7MznyoUKspB3GZp Hd5LeUMHa6kkhSWaInBxpza11i2r8qjZOyaSXN5PTsaupVtZttpr7U3pa6+Jp2WitqtL36ny/wCJ /wBkn4B+Jb2C68R/Ab4Q3t0HkmjY+B/CsDyRzSszvfwWtjEL+SYxLHdvcgtN88Fy+1Jwnj/iT9lr 4MW0esXem/sQeAdc1XTLS6tNKstO8NfAzQ7HxOvmzXVq1vFN4qgaG2u5QIL7UNX0eLURARb3VvdQ NbWUn3D45+JHhz4b+Fdd8beNdT0zw/4Y8K6JNrWuazey7bTTbGJUjllLm3up7iSaSeC1tY4IGvb+ 7b7DYW11dzRRzfl/8QP+C137KXh7XLjSdH0v4q+NksnSO28S6B4Y0bTfD9/DdW0DvFbWvivV9D10 RQrM1nHHquh2LW92o8l3trS3afswmCxWJb+qwrVuSSbUVPkT0a5pRnBRl2vLa9nc5a1fD0uZVHRo zmubncaSq2uk3GMqdRyTervBq8b2XK7cd4u/YzX9uL4mab4o+MvxCb9kL4s+AtJ0Lwlpvw2TSIvj w8/hdLzW/EuleJ7jxhYal4M0FZrzWfFWsQrpUMuqx266VE2oXTNPHZWf9BP7LnwitPg34A0f4d/E Dx54N+N/hjRNWuH0vSdU+G9noGg2HhOY289l4TXwtrHibxza6jBoN8b+70DUr/VXbTRLpWnQ2ttD 4fspbn+QX9o3/gs78MrX4q6V8Rfhf8KfHWsMPhwPDNi3irXPDHgmO18TWep+JNSi1HVNG0C38bHx Dotnca5pix20WveG9Uv7e2v4f7Q0x3triH3P4Z/8HHvg+w8JaQfib8APEuo+KbbTbZdU1HwJ8VdP 0vQNd1CFdt/e6T4Z8S/CvUtT0CzMysIdPvvGniO4DJIw1LDLBH6lHBzwi5fqValUcV7SNONWak7J 80oupNynaV25KTi5W5rnPjcyzPMsJQwE8xWJy7Dtzw1LELBQ+rttuUaNRxhVpQlKU7xi4wk2tGlG 39Kmm/sl/DrT/FXh3xdBYa1Z3+nawutarZ+GfjH4zs/D+u3U/iGTXJIJ/CGq+J7XwvDosU0txbye G4tOGiXWmvFoqWNpotvFYyepfEr4HeM/i38JNS+EGg/Epfhnp2sW/wDZniPWdX02PxgnifQdRsNT i1XQI9N8O/FfwFqNjYzapc2GpXTT+Jxp2oWunHwhrXh/xJ4S13XdOf8Ambt/+Dm34GhJNv7MnxXt pVdPLmu/iz4SurTy43kMixwWfw4huWlmDKYDJcQRouRLHGSWHW6b/wAHPvwKsZ4hN+zX8RL6FEjc i38f6Vbq8skSkxGabwyJQYJQ8c5FoFJAeF3i2vLtUqTtyyoYhJRS9zD1IWTUbK9OEfe20jrfRdjy sHhsXg61LEYZ0fa4arCtTdWthq0uePI4P2deU4zSaTjGUXFPVrt+unwr/wCCQ2jfsv8AxI+HPxtj /an/AOFhaj8PNP8AFbJ4bHwx0fw7Z6injbwf4g0K9s31rTvjJ43fT5NLuvFt5qKRw6D9n+1WhtYV tYnaSHG+M/j/AFm7sfjfL4L8SyaNF4V1K80zwpqVvdX9sNR8R+HvhzpGrzeJLlJrKaKK50Lx7qmv +Ht9wl60I0UlYp1jYL+cvh3/AION/gn8dfEWlfDqx/Z3+KXguXXb62gbWNP8V6T4outPimvLeGSS PT7nS9Ptnt7GOUXVzc3skccdlHeT+ZmKLfDbePf2i/G1sLXwP8FdW8T+FPE3jBfF/ifx+fH3gPQg o1XWrXU7vSvDnh278ZabrCwx2sATVbjUdL1KL+zr5bOy0+TVorpX8ipTo4X36VOWHg5QlJ1nVUpO rK0pQdaTlZRhZRWkXFO1rn1ub59n3FePpYziDE0cZjKOEp4Sn9WwOU4JQwtGdRwpujlGHw1FzdSp Vl7erTdepKo5TqVEkl+S/wAOv2M/B0Pjy517wv4q8TeM9E0O9t76zlvNAk0ye4ij8Sa7YSXXh+3l ZtQuNQtbrR7yPTtLtZNRu4bnRbnUpNUmm1W3sNL+r/2evh58Sv2dtU1e++CfxP8AiJpFrf2mo3uo aG3jTVvh/oGq6obfU59Bn1aLwq9rqouPA9zNZ62uppqeq2zyJrdna6ZpWqX+m+IvC37FTfBzQ75J Ib3QtJuphY6ZaQzSWEwvYLHw5Bp1roNpbR2j2Uq22m6Xpwgt9NZrnSIoHurs2JuLuKdM+6+EGl3M 9rcWq6Qt9DcwXDXdtYrcRXF4JZdjXMqT3S2hikEgaG3NpeqZAjTpCXI+ShWzOCq05YqpiIVYKm/a VpwtGEuaChyJOHx1FKSbk00nJqKPVo4DA0qtOrVpKU6VpRfxPmSjF3k5Sk4Wi3CEud+/OV3KVz8v IPgpr+p+KfGsGieKfA3hLxr4907wX4l0vVtdt1+KNr4K8QeFNI0fwP4cg+GEt5onhqz0C8lsrC1a /wDDHiHSdVTxB4a0hVtdW0uzlv8AT4fzd+NXhfxz8Vfjj8APgd4s8O6B4I8LWvj6fT/iT4z8INDa aZ8S/HGvWHhHWfjF8Z/GnhHSdN8PaT4W8aWPh1rDVdR8Pw6Xr2oW+uQ3/hjTdf1drLS7C2/pRb4P 6HpmozXuhNe6VfTG5EstlrviiHTrkXyZuxqmgW3iBvD+ow6iYFBlutMWG3aS+Fo1mtxMZfCPG/7H /wAOPHmtrrniPw1datqtvFdjTNaTUYbO/wBEutVs7/S59S0s7Z5oZbJ7mXWILaea1sdQv4LS91e2 vYJbmyiwdOSq08THD4d1pRqSU/aVG41ZYepQhVpwnNUk6akvdnGVOWtRr2iUn01VTdOcKVbEU4zn TXsIxpRisPKsqlSl9Y9nOrKdSSk3VcVKXwu8G0voXXPgl4M1rwnrGl/Cj4++APiJrmua7DJ8OvBX xc1XW/G138KXkFy2kP4Is7m/8BeHLXU9Nlu4ra08QeKdW8XMmnWenReIPD+oJp5+0aXxR/Zx8V/B rTdP034f+APCHxM8X6rZXKal8VPEvxUvfHHhS8tNIibUJ1svgP8AA/wb4wstC8SWdpbT39lq0HiS 31rXbnTrp9A8FwvDBpEfzdJ+zL4mvx4Zt/En7Q3x613RPCCAaJpPinxrF4h0nSYz5t1bRWPhq30t bG1WazZtMgisNPgtozM13JZiKCEL3Vz4F+JGn+N/hl4p0bxpCl54G8ReG7+SBvhx8DfD9pqWl+Hr qK+utO8RWXgbwV4ZfXV15NPgiupdestUlu9Pt5YLm+tbXU2eH5uPDeLSdP617SlHmcaU6GC5anM4 29rVrQr1Zcrhdcs4zam4Rlc9H+1opxaw9aEkl+9dao2rRTtGnQxFKCu7Rd6U4u7k4TsfRPxH+OPx 3/ZW8W/s+/BLVfCXiDVPhBp/w6T9oL9oTxb4LuNC1jVPGPjzxV4a8X+DNO+EM8l7d+CHjl8O6pqO h/EOF/EMl94i1vRvD2g6NplvZTaVJpd7D4M/4Kk/sTj4keJNA8W6h4t0qHwzItj4otYrrwloWtTa 7avZW9lNok02q6toHiXTYk1STTrqVtSki0+a0+zQwJHc2V/d+bfEvw94p+I/jPVfiL4h8QSt431r UdHl1jUhp11e3MM+m6bBpkF/Y3NpfWcs2n2en2dlFbWHmw3ttpX2db+KGSHUIh85+Of2fLHX7fTP Eev+IvDOnahp3k32qWGh/DjwHovhrUL+DyPEWmXvia3sdBHjG31LRrGx0R7bxDc67JqenzWMd1eS CxuGOl6ZlwvlWY5phMficFXxFPLMDTwODwNedGWEqUaUanI6lLpKVWpOtOSlOHtZ87U3BRc4PMMR hcJLC0sRCNbF1pV8diI+2hUU6nK5zpSiou/uKKV4WguWKV4pfqHov/BU39g+/wDDtp4l0LSviZ4r 8HapaznS9bTwj8Q9Sub7VPtl1pqaRomraF4VsPCOr6qtxbPLJ9mEukWTyw6Xq2o2WrRXVlGvi79t P9m3QtK8OeKLfU9f0/w148exj8PW3xDt/CvhDxBZX810dLlj1vQ9Z8SaY+mapeanFPceHdUvLbT9 L1y2udL1KyuYme4srX8vNJ8C+L7zVvD2lSeJtPm0zQ9BmudD8eTW2uadrF9cWV1oxXXtQTQNC1+1 h17VdN0ey8OXFhpukabLcJc393o+lrJY217pvzH8Tv2U9f8AiFo13ZDwZ4i8beNLK1vXsvHnifxV YR+JVgs5bS1uXuJdJi8Hax4u07+3Ej15tE0O6srCW8udeSxtbpNQ8q35804PyvMqNHDUsoyvCRhN TeKwtDC5dVh9lxlVp1k60FGduWrSm5TXtaekUp9GEzWrgpzqzx2LrzlTlH2VXE1sRQXKoOH8SnP2 cm1Jp0knyvkk5c91+9M/7avwE0uFNQ1DXbq00R9VtNHt/EMtlF/wj9xczvEj7/EOnSXejWEOmywX 0WqnVb2yXSZLDU5dQW3srX7SnRXn7XH7Numf2Xp2pfFbwhYahfxagllYp4l0S6v5YbLULy1k1eWG xuIoGtb2WzujHcpawWN9PDqEekXN7awx3A/j+8Y/sqftIfDnybjwB4d8c6GuhXfiC9106Dqut6To Ekup3k13a6kfF/iH4m+OLSBrLQ57bRLq40iLRjqd8Hu77Vbq9SCy0bmLnwV8YbG1j1jQviV420GO 2tjc6xoOt+BbLxjp+kSXNkieTbxWmqazq9/biyhsbye+u7SP/TPKkj1AyWaxQeRT8M8v54whVxdO UlKVOpKtQnRpThKnFqpGmqznfmjKEE4uUWrVG+bl0nxXJybdCTjHWcXGaclp/NGLi27qUkqsVJpK +l/6FpviX8M/EMV7jxxYWj6eLW21Bnt57aH7NZWdxoxvFj1uTR71LS7nIayF7DZzX8MjC1tDuQjq 9N1/SvENtrmuaT4g8NXnh/R4pbvVtZstb0SXS9HgtrGXWdTuNSuLHUZorJbPTI5r7UTciA2lpYTX FwsXlyqv8zWheKvjbo3iG31vVPH2i6hOyGMajJ4Bt9IhlsL+W0jmZrO+1LRJ7SWS3sQZbeS500XF vLEkauEjiW/46+OnxTu7SHTNT8K6FP4Va2v/AAxHr19pPii9tdTsEuLZtfj1H+zJvEWnyw3N1q8m tahBZxXc9m7JBbX89lrWqz3H0y4WrKFPDrDYXHUqcp3cJV8PJ60YT5lLHp+1lyXioUWlaKit7eZ/ rNh26tWONrYao5RVNzoxtOOkoQUng5vljGVS65m37nvNux+zXiP9t74E+GvEF3oNt8UvA9/Nb6xq Ggym7X4iWEMl/ZoY51sruw+Guu6Vram4aKO1k8P6lqUV7FNZTwTyLcoD81f8FI/iZYeKf2SfBPjH RtT0jUdM1D4+eHbPTrrSLjxNC8dxo+geNr+Q3Vt4s8IeDNSiia2ltZrRo7K4iureb7Qk0cUavXwX 8Afh/wDDb4k6jPbeOPiN+z34p8O6Vo/iDV9e0v4u29h8E9bt4U1OV10/wV8Q7u98Karc61JE/wDb mleHdO1xLSzur/VvDnhzQJNOvdUlWD9rmwXwn+yTZ6Ro/wAT9I8ZeD7b9oTSv+EZ0geKPCni3VLT Z4d+M1xda9aeI/C6xXGs6Nqul6n4Zj1D/hJ7ODXdI8QWt3ZSXep2V1bSJ62V5BhcFnWUYinleIw1 aKqc1dLEyoRqxwyTjCdSsowi3KUIqtQi3JJRbcvd83GZtisXlmYqeOw1ei6U70X7GNfkjOm72jSh GUVaSk4z9peF/Z8jm4fGcevLouuJqU/mPBYy6BcTi1iNxOLeafUI3ZY0aNnKxp5zQos7qiukUcs0 sZr+kn4V/Gj4b+O/g/8AD248M67o8mq6Z8Jjp0eqStrE3h/T9S+D3wV13xnrmna9Ha6Pc3UF7cN4 Yvba3EOnuJUvtPuLe7n0Ga31lvwN+Al14R0b4q6VffEay0i78FyeFPEujeKH1vSYPEdnp9v4g8L+ IPBlvqkOl3V3pL6hqeja14t06+0iXTtQsNYttUt7XUtL1CxvrO31a2+gv2P/AA3rPwa+PXjm11PU BJ4Sn/Z9/aT8cR+H7bUb5ri1n0b4BeNdW023vrLXNE0S7OpW2keKClnrbaAmn3B1K+OkTzW7XYk/ S+IcFh81zHCYTGUZVaMFhqsIunNKTrSUpw9pHl5ZVIxd6b5n7Nz5eScU4/BZRipZfRjjaOJpxmqi wsaMa0HVlTnCg4T5HKXuqbTp2TprkfMnG6l/T/pFnBI9i0lhHaXFuLVrW4jgaPbHcww2ty0drp8k twIbZZPMkDRIsUEUiu628gjTqDpsGoSE/wClBopLliLU3hcxwb4JIrewnS2srjTLqNmWGcSTwzWk 7XEXnRpbmK/b2/lC1toJRczNawPLKbW8kiu1nAgsHiubnyikq8sWjWQypHCttO8Me9rYhNwbBPsL TxSSSuYLO5dU8mWCJxE4jimvbZYYZZFW2eBi5W7klMCiQr8DGMZNcqloruSV0/hvd20a00XMtb9E n+h1pzU5Nz2m4p/DZXVmkpKV3zWVm+2miMvTLhyiwRyPM9vujf8A0cPMWRY72a3fy2n+3yWkeAI7 qSBo45Y7ZpGmIto5J7OWdTCv2iC5tgJxfma4RDNC7RwRXS2rp59vGoiuZ7OR4reWRBc26vPak2t3 7QIbcvcNebbe0FuxkKyFrjdNKvyf2i7hjJ5UrO8tvNJF9ouppLd0WUsabzYbeSJLOS5zcPFFI0Jj luLS6ms7hI/s80IhuLm2uXuo54Q7W2Ykna6ETWknRGC7aPW70m3ptyqN7X25U/I43Vk73SaST0uo q/Jve7S5Vppa7Q+O4u5d8M93DCsQt4EDQrbmaN8SxpFi9MmpNbuZNtxHIY1tljsoWvpUWNdHy/8A Uy7IoY47cwgRsLqd7mOCKQGb7RapPDIbtBZwXbTTxssZS3ia3MC1EY5pVtk+zAN5c6PLBBOYSY3A iDSSbkAlguLeV5laVjFcQmVDdrPDPKLWytp5xDc3d0PLVLhZrRUie8ihtEW7ig+yC8jha6O+4SG2 06SCSKItI1rPJcz7rV3aas1y3+LRpKK5d19+9rmFo2cb3a16WtJxb3vzW7tLZWW4kksyhZlFpcGR oLxdskqKixSyLLJH9njvZoZUd7jagWWYSyQRAqzwmWzaXdnYluXtQ6tEiywme5gubeF0D3DS/bZY jM6Pcm4uoGhu4pIkmt4hcpfM6SO9munWaxs7iWZo2aIaaiW8bwCNdix3jRlpl8yTyJJkFtC8UV48 kq26O8NzbmUXE8zSz29u0b30NtC9xJD9niDqltiW7LIZYrRbZprL7NdTtOkUFwVtpjdpXsk30ej5 m/dtpd6a2100VtjJ8tr3S73elrat3636JvyubFteNFEImjd3liM0gltmJhhi8q4Jkj3SshMHkvOZ WuvMaNzLESTvZFdSzmSJI7WZ55ovLjUiCWWKaUyMrK0zxrIx8to7dJI/IjlhR1YxzxWtWwjlgiZg Hnmv7dvOu5Lm3lkvVMWmSwQLayyte/Z/3SWFvLcf2dczo8yi4vYC0mmxXU15pRsbddRTyntXtdUv ZbeJbiJILK8aZnu4bi2gjnlhjvlkeW3aCIxTi5DwwnTLTaLaVlpG+t079Oivt077voljJbJWu0nt bR2s03K7T0d0ra76s1I0WRbqAWskBJLyRTQSYXMrwuPtErTwOGlhnkU4h8rqZHfyHMlvfxSCOKIS RzGQ/uJkjniz5ZIKTxNLZi2uEtLR4JjGpaMQObezlCwR0/NHnxygzrHIoaSaG6gXzt8oE8cbmXYU Dxw3ssMiSw27XbI6rdTS3B0JJI7d2jskFgw82OSOQobjfJaqqNG0wFuIftoniWzERcO8ZW73wygv Xr1Su1vdct9tOqTvq22DV23G9772utk+rXV+nQju4i1u24odkbSECFY7l3dYSpjjt7i4FtDewXMk bFkj3W6XpSBZraN0p3UkvmRkW8Uyzs5Rba5NpJGZrh0fMMrQrCu0R3Db/skax85mCS4uT3cVvdZh a4nlt7QWVxbvcNcRI1rdtayRTW9vJdCzaC6N8bp4pPty2cMkmpWCMqx2lbV7iFo5RGfsbpbyQtLC I423BWt4mt54v3css7tEUlnjbzVSS8vmhtftDzJJLXWOyabTs2k7X9Gnp0fQtar3mmlbXZbLpfR/ 11OS8ZeDfAnxE0uHw7458G+EPGnhsXsd2dG8W6XpXinSLe5gIS3vltL6LUbYalC08q2d6zG4hF1c QWVxDn7IPkzxl/wTo/Yi8e6tJrWu/s8eC9OuZ5La1dPDF/4p8B6dFBc3o8tIvDvgnxN4a0hWtYJZ WeaLT3u2tlt7mWW5Nu0h+17lXj0pL2eJLaG6sLW5DajcpaKt1qVuwUeRfwwq4smuUWOEGBpbvYkd 0izqLdRLpiiU3sUU92TYy38cNpNGH6SwXc8JuTPDDBawM9ldK13FbzWbJdLFLBPGN6detSu6VWtT 3XuVJ01dNX0ja+l7O9nfRa3Oarh8NWa9pSo1GkmnUpxlJWataTUpXSeyskr6K+v5n+K/+CPf/BPH xVZQ2L/BW88MSQXEdw+paR8SPiw2oSeXAJTara+KPGniaybT7qSFo72aKwjuEeWYR39ilustl89a j/wQR/Yia5kkh8VftBQxGGeeOwsfGXgceUzo17BaW6an8NJ7g7om+z2xvL3YVWETXZmS4nk/a6Sa 5RrS7aB4opjLdQw3Vv51heIn2lWggkklhVSBDIxup0iUXkUqXUMVut06tktNWwlqsEiPHJDE6zXC 3EBUxQzm6R7wXCXSQs0T2MaTJdXsSJGn2YQR2ceyxeNlb/a8Q5NfE6s5Ozsmk3LRaedtrGKwmGi7 06MYpuPMl7RRa6O0ZWb3ctNfwPw7g/4IHfsRXUk0UfjX9o5Xt5Hint18Y/CyZkceWyPI1n8PL+5V AxlDobC2lge2lhkCXTQWd1Q/4cJfsbRgzx/EX9oSS2lgWaCa18WfDiZT507wwQi3T4V+ak2SvmxM S8alJ5BGZYRJ+78elypHDCiQ3Z8h44oLYTPHFbJKm+882Uyr9lSNY7iVbOQWlzDavMlxLBBbXMzL 6xmeWXzJIryFJFuZIrzSbW5DRTzTTW1rH9pijDXUF4nm2pupJLp2gtmdDaIRfEsZj9G8TVet9a00 36pW1110lbfuaQw2GhrGk7tvmvUqyVuVXUVKTXLa71ejs7J3Pyn8E/8ABIf9ir4d6fDa2HhjxXqX in7GYY/F978RvEsuvpBNETLqBXwlqmleGvtsfkSu8C6PBB9sBsptOiglQJ97/DbwR4Y+FPgnw98P vDm/+zPD1vcW1kdQ1C6vNWnmXUWuL7UL66uGW6uLm81K+W4huCIYri3kgexH2FrdF9ds7eS4s2db yS2dWYG1uIi00cNoQYYp7eKS1eV0aYK6SmOVLW7uPLjggdLq3WbRoYmtI47nTrS1jihX7Pbx/O9s bFPLtYILWGB3mIhgngjNszQ6ao3lWeB64KnPVnetVqTWjtOUpp20d5Se+umml31O7DqNJp0oRj7v JdNpqO9kr6W6u+t7Pe5yF3rlraLbiYSRyX9/b2kaiDVbmNriSByzXiwwXFxBp/mWUzzXEjW1pGiQ g3EMi2PkXk1O1EzvbR2zwXQSFTGZpWcoYd09ss08pMhgieSOQIxkjCoojgBmlkj0iyhE8JuXSOS2 hCut40FvHCssl7NN50ce+1ieOS3lhntNgLNCVSeWGOKWvLo9izy2qxl7ua9e6iJgvsTwyTRXgZ4l aR4mkkCzx3LiNFuLhLxoJZSxm5lTpp2ilJXd7K6T69uyWzV2lrfTt55W97msmusnfVaWs9O8nJeV 9bQROJ3ka7sIGaHKS3AMEDyJJKWhMQuAuJrWURMzSDdMZUlVnScqciGO5LK1rqcqxsbi8MiyLI8k TliSzXYhuHtv3AlgnjSRnRWeUpGwddia2hgi3WUVhtEU8EcNtPLZC3huQqvdq9sIp1njjR442t5L aT7TLBLHe28loIZqdwRDJFMIVlgS6S18q2+yTPC8s9iVMMcccdzGgmFqRcz201tOtrcGGJ5IpkWX S+GyTvJXfKnpfVbytto11W1tTSFe27mtFy78tm1ZL3U01ZJ3aW1ldq1KBIk8mAyyW4MrvNIsi2cc 0MMjyJLNDh/tsMsscZuYN6hOPtM01syu1TUrOK4uUld7aRfIhe2Nq0bPG+4LasZC1vG6tM1u6gIW t5beOaJZp4YmttNZQ8yPfXDyWyW4uJJpnW1uLOKSOJ2kt0KfZmbdd3Nq1/IN6ToYJGYQQTuy2ktr aRStpJZXUUNvHAEiYzG7llvo7mS0MXlXN7PcWkU7XL2kilbaeMxI0bGGI5Lpq3KtN2tLKNl+XRbd 99PaaXSu3JJX0srKzS7p9NElva5x9poFzcRbTqWoExG6Bjs7dHjeJ7i+u7czRXkWrTGeCMyNNOvl GWIS+TDb27yGls9PurPOdSlMKRmS5isI9NJnt4LezNvcifTorErCZis08j7radZ0KwxXcpnl7J9N trXUTDY2NvGumpb2NjpUk5s4bS4FrKt7dxS7oYHhdBZv9m/s9Y44hbRG7Mz2CXVXWpNK0MWNvqL2 UIuQkEEkxAhW5SBbW0eVZJ/IZ1uZdRtlnine4uWubGFZPtZbzsvZWeysraXeySStdLta6V0u9i/b Rmne6ezbTbStFNJ99dGt1fXRHF3mjWskSLJprNYRwrN5lvDOsgnkKXCCJFEolvLcrbys0W5YrqQw z+W10d3lfjH4OaX4mgvP7O8X/Evwnc3Zthfz+FPHHiTQvJtI7eHTbO6tNG1afUfDEENkhXUHuG8M taXl/b+dren38MVzIkfxi1r9pcXupJ8A9B+HGtDRdIa5Nv8AEzw9ONE8S6tZ2EN9cReH/Evh34qW 2r2l7Z5ht7RfEfgXR7EatY3DS+I7fT/sqH8i/i1/wUW/bh+DGpwaR8V/gD8N/Crs0thbXWq+HPHd 9o2pxzW8ZMeieIbb4gyaVqoSwe1ZLjStYle0Q2zeazq2PTwWVYjHSj9VqYact3SnVjGol7r96nUU ZSS0fMoyi1s5XODG5ng8KlHFKtGCkr1FRrOmmnZpVKeqaem6dtW9bv2TW/8Agn58bbhb690j9u34 5aFoGrq95Fouu6Zr91MLF/Omkk1Oaw+Lei2t+wjLXryLoNjLBHIEW1+1tNaN8iaz/wAE2f2xDf6z LB8fPBN19lvb77VNrvjH4s2Oozrp7iWCPWFHgjUrWDU72G6guEsJdSupEt2nuJ7iO0tZpYMa8/4L C/HO9WQ33wp+BggdJ98MmkeN5ZBDdTPPfxSJP41uZI47t3eIwwy2UVvLF5/AhsRDQn/4K1+P7+2j h1v4WaXfW0e4vFofxE8eeEnnhMkDQ5vtD1C21CBlS3gVR9ruW81E3SXETuD9HHKOI48zeGwFWMbP lnh8tk07WW8YTcnor31tq3c8T+0MgldfWsXSabirSxUnqtoxqRfKkpOaV7xsr7XPDvEv7PX7Z3hf WLjRU8YeCtRuLN0S3urb4+fCK0chZNk32XTvFXjTRfEtssU5dJN+lRtapbuxaK0V5W8Sv/A37VTQ R6np+ieJvGo1nVNY0pL/AMA3enfEiSfVNCuYLbVTDeeAtQ195YbeW4toxqNtLJYXoukWG9naVBN9 WeJf+ClOp+Jkjhj8FePNBsE06ztGg8PfHrxHd3k14kdqGvXvvHfhnxojq00MTN5FraknzvKu45Zm uk8Vvf21oL94r258EaprOrRrLsu/FGt/DHxbpLTx21vp9nNJous/BIrd3ltYWGn2j6jfXlzNdW8V xbSPFbTvC3RDK81SvLKcsvZRvGlSg4rR6unUV1r9lav4ZSckny16+V6KlmWOnaTtCSb5ko2i3Lkp 2cJO65r8yi46qV0/4Ufsuft+/Hi/1/w78Pfgz421bXvCfhvXvFM2ma5omk+Etd1bTvDNolzrlp4U HicaNqnj/wAVG1hkmsvCHhl9f8VauyXC6bpt0sdyE+UfiZ4H/acSHUtO8efC74k2V7pFxdT3Npq/ w68TaZfRNpsbPqk0sknh5GQadDLGt4JLrfFLcwsyujSyp79B+2L4jgheKHwn4UsYpovJe30vw74W 0O3d2jHmP5OkeHdN06JyoikNx9klnMqG4eQSSySO+P8Abs+LdjYjS9N1C30a3KeXt0PS/C2jI8M4 t4JLZbuw8PW2ppG0dtCLqO61K4FyyTTzR/aJ5ZWv+z8bCUHHKsIpxneFSFaMYKPu3cYvmqe0as/d cuaStaSUXLi9vhOaUXjq/s26ThJUafKoOMHOLSr+8ppuUtKbUtNU05/e3gb9nn4Pt4d+GHxq0b4t z2dvrf7PuveJ7zQ7+5aWHWfiZqXw60fU5Phj4a8SeHdM0TV9A+JV7qn/AAnthp3hHTIPHOt6DBov g3xN4mvNK8N+KtSu9M82bwf4X0u58V/HbT9a8XeBtV+LPhnxL4U1Hwjq9/4Bn1GLRfEXhrU/BPj/ AETQLW7u/GOqeHvBfiQ3mtjw3Y+KEtvE+iW8dtBNr3i5U07xldfLI/b0+IVlMNS8MaPpvhPXGQXT eItH8UfES21c+KYNNg0K18aWrW/jg2en+LNOtLWGKw1G10+GGMIYpVlspZ7eXzu7/ae8WeO/h3p/ gP4m2Ft418K+FPG/hn4gXeiFtO0seKG0a90fT7mHU5E0SXTYJ9Y0N9WtdW1S/hulN5cvqBsrq7v5 ok2wCzfDUqax2DpVnRqOFGp9aVSs6d4KnOVac7053hThy+zjCKlypz5XKPLmOHypyh/Z2OrxhKhT dWNSjKhKWKhBOl7tKTUaTlFSgqkqtbnU6l4U5wo0v7qNNS8jvNPa4lt3tHV7K7lY2F1aAT/aV+2R W17cyxQiCK6uNRu4rSzhm+0ro0Nm2r2wezsp4IQ1vaRWx0+2TVbYW02mFbZLSO3u7FNPmN8+ye3n jimVYJYL02v2mKawPn2rRTWeqVbaVp7Gwt3gu7W2gjguLae40uW3nvY73UR5UckjadYvH/o8Vzax 3E7RWMd2rxSxIl3aaVWrrMWqPbkRWd5qMcl5LbXFxFcaJdRWV9qdwrwypaal4hsXc3d1OIrK10+T U47jVZDaWbPejTw35xTU4Ldtq13G63SVlCy0vtK9rWlZXSX6BVkpVFzNbaPe6Uo812ttbaK2lk72 ZHZzafcWx06afS01FrY6jNZy3UUttcmee0t7lZpZWgvgIBFEFvGktItiahJZSTRxxSTaFgr3lh5r /wBpQoVubZpW2o1lZKbhbS58pY7i6t7NsTmzuZbiGTMzzBrgF5G5u0F5c2WnGSS5SLUmgKh4C6wx TsUawkto3SOSxbVEnV2OoW2kLqf2mNr6XS7qCxg2o7NrO3n3GfSVtfsFjY2cFrBFPe6ndIbhnuYb XURbWKIlq+qNeRRMkdtHe3W+0S31Cwi6Yp7OLS0als07LmdpR2vZ7uybd7anLNpfae6Vt202ub4J NPTa7lFNrl3aLVqpkHlSiS0Fu9tNFPGgvPkvLK1AtreeWVc21lNdrdQRPc288kaWtzdXhuvt0VpV vIoSj2lt5M9pNcy3YmuI4y81vPFOkUdrJ5Ru44Z7WK2knhlkuplNybucXytus32kDoZbbVZJLC/W edbJLy0SNLdWxYrIk8mo6hq98bJJnefU76C1aK0v44EWQyTyz20ggsrWwt2spNctL+e1DGaG6ure YXAC286pdKfsMUyvFqGny27RWbGyujan93Y3su8Y+8rtXjyuys7ST1u7tLpZWta75mkYuV7ySak9 r3Taulpe10m1Zpu3czktGKaw9xDaQu1hpjRRXd60+n3LXMbTWdnve00eSYM13bo1jcpEkzwyxSFZ LO0u7fsl0iEwXUiSpDMsM0sgt9MsZgb+LyLcRG9m+4LLyWu54DLFf7rG2sN1lp4Qx4yQtItxK1ib yaztzf3NlDp0zKrQtEt/zYq3nWUztYsqp9uluWTdbW900c9tDYsdQR7szWd/CyxO1nd27wWgC6jO v9nWzQxwW8dyjqHt75JLya4dJbqa5gf7DJa2hvlWyfKrrRJO7bSvZ/E9uvTfcJbWspK2suZq11Fp 6aN2v5p6qMldqheWbIVa6u2czu8brJcW95KojedhLDGradGqW91PIbmN5IPsi3bwbW3W8tlOzWun TxCUWpa106VI5JNTbT9Ojn8yxS31JNHCwW6aesgka2ijeQyCKW2hvpZJ53ns3cl61vJbNZwrb3KJ YlmW1ltruXVHtl0edjNdzWktxcW97pcCiSaK1C2+bRrm1lgjggt5LlVFtbxraXi3N5LaCaWFJZEE iWFrLLcNHeQXVtGl1a6lZ217Y290+moLiZLi9jURUtPitLtf3VdWvJtaRs3r7rST010JSsny3Unq nG92m46N6K+vRJtdF0zJ44ri/nMUU0FxbXRuLO9vLaS5naF44pZFKR6i6z2RVgtvdypNOl8Lm6S0 itoYi+yYbuG1jjMQhtNLW7uDb266k1vGq2xkkljE7brVltbARX0zSNaPZStBd3ZglUrXlV47GWc2 ErRFIjLGLT7RJb2sV7OCRbQz2ljcwJGDDLOUlmti11qUQhtLqTT1tWJF5qd4sGqai2ppdJd289vJ q9w8KXSSt/ZA1CW9ksbx5LKe/tnEN5diwsZL2NrafTrS4tLuHFavbumkk2rWe7vd6u/p0Gk1Z6Xu ldp6J8qtpdOz16LfW+jhiiiubhppgIDcRWOp5RobvfFp0c1o2lz28k0KpeXBVp72O2iubae7SKYv apJFLVT/AIm8TGP999t5tYzYpbxWMyS3ca3bW91dTy2N1HDp6wz6cZJbi6s5pbn7RI11e6kza9rP 9tttMRry1ZSJ3lmsbsTCW2a2QrIHN5MJbAPC0TM8w1C5v/JCahpkMFm1vXtLOWxcySQwQbiY/t6y JHdi0mazDYa1j2jECCDYYkjuHbyYU0uCzikRtrRPZ2VmtUrpLRJXS1dn73S+jtUYPmk1f3ktU01a yum00la8bK6ffz5+6msrf7Tf3K/bYSk0slj/AMf0F3aRW4hhVhBp14tuzPOwUW80rixW2t5LhL+5 vJGsWge5u9QNpa2UdzMsEN9JflGuLOWazee5gSNFuodXvI1FxPKIhpl5AENwyafqErXMV2R7+2gj MUReeSWJy3ltctIEh824WSxmsr2zWeSxaeye9MiySS28k4vJG1G4kuq9ul1GFW6aKLRmhDz3tzcX F7tjS4sJrOKOGV4vOP2ICKS8Bka0OyQSPPbG/aYyjpdJWTSv52WnxcrUUtfkna4lCTVm2m3reTb0 jFcuklFyemii3tdKyZpLFaX1zcJJN9ngS5d3ZrsI0F1DLLbz7reCxuYwWuTHHOpZpZALudEFxpxm loXBsRPBNZWGqWst3DcW0n9lwfaXNtNeQTrqNxfi2S0mkf8Atm3mkinlto3tUZ9KtLyyaa5vbcMj W8he7aGxvDFqE17GE1G9uZWs5QgtLeTzdVhupP8AR4bSLz7izuZp4pFNnKb+FrWnDqVvqsk4T7TY x3zu73Umj6jZNLNPCspkitNQbTfNnlDlXa5eCZ54br7ZDY313FZqRvFLRSTv7ymk90lolazu9bX2 V0U4xdldpLe6drrldmnzP0XNZO7tok5LbV1a6gsk3C4W1gmFv9nsSILN4rtrImAxW4u457S3ULf2 vmwGFo7+S4ae4to5nzzWJHknT1ZGS5hnCyvFd3RedoJwGtRcrFdCeZ2GowRPJb/aPtF6FjUtDlww LpWoXjrZi1/4mE8E0sdy6/a963Cy6bc2JmsxLd21vc2sj2VrJLBLcSRamtohZoIJgUEcFxaaRsZr 1UuIZJrWG6t2knPmXF/aQizMryGZIUWcWLSOhn1R7BoTFbRVr2atFytsr3a5lC6k0m7XtZWWt9tD SlQcrJtR+07x1lbS61vd206a6LWymkl0+WLTryeKe3t30yO4tZLnT762NqLyKKcGYX9kur6dd26Y a8t5Fg1GHzGE8EjTSQyVtTntp0/ezte232ZZnBv2kyQttbWZW3igvxLa3Fxay3CXFxIW3xuFt7lP Pe1bd6vHc2sPn2V1HDa3N7aRWEkR+1yTST2FlJN9ptWubyK2sIbEanJNm5sbe0M+sPawQx6vqMWZ NC6WWbLWrlLOxt9Pv33edqdz9mkgjln01L8xXl1cvqS2xspbS2uZL+S0lisbWRNQaDdlCoppSc2r W0UuZuS1fKnCSXS3u/maulOn7vJGTtdR5Uk04xSfNzJJtbJu2jbe1hNPsmsBp5jnuIZFWzuT5rJK FNthIPNnkXVklt5A8EMVuy3amWzM0ySGLbSQW2mOJhdw3TQ399DKuGv4IGiLalFZyiOxW1t7eyin TZb3NvAkt5PDf36LqWpR6jfRtbfY9HvVuYYR9ts/M09muHSORVg8PfYLt4LrS47zTZL67sdRspob W9mv9Ljs4Nas9QDy6xpdsqz3DmO+ttsdk7OZIoRYWv2K2kltr5YIZbe40mNLQWsxmW51UzWDQPbX N1fQW0rOtKajLWo3Lezjvta6XLHz1st0kinTc4q0Yq2uju7Oys3yy5baLraWiZLdS3MstvdnVtWh 0VrmBZby2UW6yS5jnnjXe9nDdpZLs1aOFL8f2qitbTypYvNYSNaWOQTzuttdSo0l0kcRuf8ATZFV 5plnivFtoGSO1gd1lupJIx5SW1mfOij2QXdv4fN7JdpqNhJeWcctzeW9wIVjs7S6ZbePzILqeCAp NM7SWkt5LMs2+5k8+GWCZbSCGS01HSbvV4tCvHg0u0lUSym4S8821l0+SawuYbyS3s5UQPcSSaum t6qs8LxrYXc73txGkOvCz9zmaaukoRabas1J6a/4rd7O19oUJ2SdSyteLftLSStdSTstW0k37r/m 0doQ8CxWyX101/p2oW6/aYdUkWWK60+dJZr9rvTtQS3NzYOtvJqd1ZWdnYQYtLe+dLWMW9yK1nNq OqTX9s15qdlI9tAJ21VUuZ5JITb7oxe2ekrGklxIGu7WRrmwsPIW1kuwiXhMGrfaXdWt7LHqxSNr q4vLayWSytX0jzNX06GddMZrG4mbVNMigtbdrO+jGtHTLttT+z3z3OpRpb4M1vdS2OrF4JWmgkSZ mnniiuNVsXuopRNHdaTqFzKBp9jd3H9mQXF1bXV7DZ3kFzbSzXUE1wpTg1FuPK20vekr3fKkm/cb Tu1J7ba3FTjNOWrcX7spRTanZK1rKdtdra31aaKF/Jqskdv5UNxbv/otvNGzWdpdQTPa27/a7SCa S+knlia61O6EVy5jnnsyJ7G1m1iSCtgmOyk1O3vofsS3Md68NksqQt9lmtSZ21H7TH5l5A95Ba6F eT28/wBjOo3lzp9rM9jqU8yVNSeG8v7GyaJbYaZJbXNpABcXKvaJbJc3t8bC0vLTSxfx6bJFbS6i 8kFyFuLq1mmurCbbLz2leFbLwhewPa6b4NudSu9d1S5vtWPhzSdKm1HVNTtrd9Y1DSUOmare6kmp zprSXrC51RLHUIPtepwwJBb3epK+iTUoq8W1eLTUlF3TSne1+XRtKzbbtcqy5kk9097dGuRNWSXu tpKK63acUrdAkklvdQpf3cbwWsmpWtg89tPYxKpGnoLWMXzR6nNp9nb6lDNNG0VpGLqXTreG7kjE iJyfi7QdF8TaVd+GPEmkeG/Gnh+9jlt7rSr7SrHV/Duu6RptpDcSzILSyTT5I1NtPe2811AguY0g Fu93qcf2i5pa/petxeHJdQ0fRLIeKrBbVJF0y9srGHUJbye3jjTU7oWs91M1hb2s8OkXksFlfQT6 eka6vcRvfXMVOf8AtVdCaRJrWO50nVJNGuJGhu9XDX1jO17dWenWkN9ZXOoC8F8um6rfRWt3q7Xp u7a6jujcyTx4yxDpyUW3zrllFR5mk9LPmSklJ9nZRsle797f6r7aKkkpRaSnGfvOfNZOMqatKzbk 79dmmzw7xL+x/wDs0eNtAfRdV/Z++GenW8WkpLevofhHRPCWtQpYXFlctb3PiDwFb6NrtpqEt3BZ yT3Fveq97FLdWEc9x4emlS++Jfi5/wAEov2ePHF7p0vw+uPFPwa8rUZ0uYU1G+8eaTr9il0CbEDX 9XPibT9bWOSDfcy2b2dpAJ45NG1FrIarqX6g3c974Vuo9IXU5rlI5pdQ8Q6lqLXmn6VbSX2LBI9S s7rxBrGrC/zerHAb6a8sptSt7grDpmqtcWMc+r61b6PZ6nfjUZb2F5LW2jtbU3PhsXVm17bWl3Y3 94NFvYtYsv7PtoItQtllU3cV1qt7cXLWl81pD6VDNcxoNSoY3E00mnFe3lUjZNpXpyUoW5bO1k3t ZNo8+rlOXVYzVTB0Jrlabp0IYeSU1e6qQdKUGm5uPJKW6ejV5fzV+Pf+CTPxrsdR8Q3PgzX/AAzq ng2wvL65tJtZ1vTrHW20CynkSK++y2lxcpfxxrYymwupJdHvL6OMm58OaEZF06b88NU+CvizTba/ vpNc8BPb2M91CkV78SfAejapJb2zzRi6i0bW/ENhqMyTxwbo4RbyXSM5t7iN5El2/wBkniPTL7Wp 4Nb/AOEol8E2N5rzRtpfhTTfClvqEeo3F+NRus3fivRNdLQ6tdusN3q91penQRPIYZrrT9Ym0/TK 5K9j8T3ujQpp/jqObU4n0ea21W+0FdR0fULnTNRs7K5sovDfgrXNAv8AXYzezWmnwaLq97c6hc2r 2XiB4vFtxo4E/s0eL8wpybxFNV6cVaXKqcHP4ZNt2vdfDFNqOjur2Z52J4SwdRSnhayw03y8tNzl VpU+aaSjH3HOTXI2mqrSvGV3JNr+J3UrW7szJDKqm4hSRVWCWG7hmjgSZWRbqxnuUugWJkiezM0E r7DGxEiGbn7jUIIZpA7SwvEokbzcJGwTzAY0fY6FAN2TG0kkuyMmElD5v9X+q/sifBT4nReE4PFf wutYlltdTC6DpCfEDwhoVn/bNmqxXs97pPjLUPCpsNMifRFh02RLmVNQvpNNi1aW1vrPVpvzf/aP /YT0DTNUu4/h98NvH76LDBNqZ1q10PTL82OdB1HUobXVBp/iG1is7qx1C2uftmpajf6DYn+zxpmo aN5NxLqmme1R4ww2IahPC1YSTim1KMuV9ZcikrRbajenGbXMuV8t5R8fEcK4rDUZTVfDyjH3VySn FXXLa3NGzi23G8PcikpXs1f8STq0QUJBdQyv5zFCjs7OSScsipGSySLsRyu26ZASyhVc37S+jn0L x3ZC7jDP4dgNs7SiRjdf8JV4dCsIgjKrW0MknlywFHXyHEDBZLkV9JeIP2avG+lyNpth8Ofih4i1 W9M2y2n8AzRXltNZrK09nZ2eg+ILk3s0KQXdu8VnFqFzb31pLay6Is0B09PDm8BrANTgEGqJLLLO k6XllqkL2DJIpktZbe42XXlWdzFDPKJLZpIraZgl27+Uh9yjjcPi7wjWpu6pynq+b3KsJK0WpTvz QcW37r0aV9V87PCulK7hKTU4QjrNzi0tOZuEZU7xkpNNR5lo007v/RtsptLaO3T7Ur2i3WqyPaSQ RQu2nf2VcaPqNvJcWOq3QuNJtbi+tLi2SS+lvSlzaSW76Zq0UVzaaUlzEmmrcEadLfxS3ItrOytt Lkih/s+NPsj+Xen7Qba/nKMs0KvM141osotkldn86aaaE3F5qmo6lqdla3Ulw/8AZmif2crCU3Vv qOleXePK06+XFapJpMfhQard2J1DTitxJqwit+uL2aXs8OkPaRXl881zaaldeKbd3eOEW8GvWNjb Lpd9JbE6xFHLqqyS2ludQn1WyhMd+BY6V+V0Irk5lyvf4NWtI2jzNyW13JpPR2ilufotaTU5Rf2Z csb+6k+ZJNK1otyaXKrOUlda2R6x4C0efWLO/wBCuP7KvoNW8H/H2fx6b3TbLUBoUvw4+GCeK/hD cRa6+lXX/CEW+v8AiG78XatdSz3OnWfxK/4VLFoum2Wl+HNE+J3hrxX8/wDxmj16f9pv4yfBzwvJ rPhPwvD4c/Z98U/sreIPDn7P/wAetW0Dxv8AFzWfjz8fE8QfBT9oC/8AEHhTR9KuNNg+E/7PcfgT xqng3xR8H9X8VN/aXhm2+OM3x68Y6lr2o9hd3niGPSPEGjR6nqd1oGpeIdC1jV9IuNde+0DxLqej 39hL4ell0+8uLGG3XQbvTl1bw5JLpU6aQiS3FvbSXUojbI8MzanodxrN5oWlXuiNrPiTwjrtzD4G luI7zxJ4j8GeHNI8EeB9Tv8A+ypfDkGvat4M8BaLpfgXwHr5N7Fo/hjw9otjDd6BY+G9Ih0bsjWp OnyujqqatL2ceVTjytX5otSd7uSbu9tveXP7Go5KTqRUVa8OZq6ly2fK3zJNRetlZ2ae0T0LwPYS fFTwPqvi/QPH3h34ieBvA/wA8bC58a/8Kf8AsD/tBfFPwP4U+LnjPQvGnwp8W/BnRfhf8GPDfw5e x8MeDro6r4b+D2h+D/2i7Xw/qXjH9nn4h6z8GNd8U/8AC/Ibfwbrg8Z3nhy8ks/hv8PtX+JPgr4Z +LNC8f6h4Z8OfEPTb/4eeIovBv7QfxQ8F/FbVtA/an8MW3wx0bStHHx18E+H9I034S6cPD3iLTPD Hxu+Inhm5+Kfwl8F/DO14v1XWfGVza3HjLU9R8UX+labpugpq/iHVLnXNVt9FttUt9Ui0ptQ1i6u 54rX/hIfDvh7xBC1ndjTH1y0i8UW+L+J9WXZtPFHjz+z9e02z8Z+L9A0fxLqOsX/AItsLHxDqVna +INS8Trs1mfUNNtr4Wuq3Gt291PDrd5qsTX2pQxSfbXktntnuKVem2ly25eb7MVo2mlK8Y3cpKLc ouLaula7QoUppNc6a05V7129FeN9eWNm4weqlZNt6n0F8NvDFr47bwqPiF8MPA2i+IvGfg/wZe/F Dw3pvhvXvAkfg7xZrH7Xui/DK+8K+GY9C13Tl+Gkmn+A0i8K3EL+G77x5e6fZ6bLqfje41YeLdR8 Y/mh8NfEvxP8d+Lf2idF8Z+EtM+HcXg34oWHgT4ZvH4R1Twxp2o+AdZ+APwa8XaT490bR59dTSb7 RvEXi/xn4yvo18DxaF8OLXSZG8PfD9NA0DTNJtdM+oL+fXdWvfEGpeINfn1WfxRDbWHiea8vNT1K 78appdjoFvpsfiu5FxHda0ljBonh+N9Knu7q1+w6VY3Dz2ttHYWNpyn9h6folh4heytLKGbVtb8Y ePden063FrN4h8QeMfEWq+NfGHinV20+GWfVL/xD4u13VvEviW9YS3niTXdR1i71BrmXW53mmWIp P3Yw9+VrSSW2i5nJKVm9dIpp3d9FFKoYea9+TTSik05PmbvfRdeW9ndXsrPm5uZXfF+qfEBfil+0 jYt8ArKw8C/DD9lb9jr4t/B/xZY2/wARfhV4F+IHxE8dXnw+0X44eCp/jFfWnxQ8LWPhnwB4YvrO 81nU9L8M+Ptc8K2XxXf4kfFvTfi7rmifDi48PaXgvVfic2lrpOj/AA0g8Q+N9Tg8OXPhjxvo/wAN /DfiL4Yy/Dfx98evhzNYa5YfD/xb8Sfil45vfGfhT4Y2vxHuIrv4neGfCen/ABw8W/Gn4Lr8JPGn w0+DWr6APgnBdT31xf8AhXV9Wa1uda8GapoHifwhq9iLRtZ8H+I/C2iav4N8Nax4S8QXE93f2Gte F/BHjHxT4A0bVNLupJbTQfEOs+H9NbT7DXNesru/H4v8R2t34KTSNe15bv4fWeoaL8OdavfFWrRa l4C0ifS7zSrnTfC86F5PDIvbK1tNMkg0e+tFfTLiwQzSafaXV3Hv7WlGzUYx0V7pXvaN1dWbVldW as5Nq/KrYqnV5YuM3OL68zim22uVJqVraW06bJPSH4eW/hzX/iB8OdFHizwv45+GeqSeDpZfiB4A 8RTfELwhqngVpdNk8Q/ELRPiHBBqWka58O08LC98XyfEjWL37A3gpLnxLqz6RZrFJF6R4c+F134o j+JWi22m6pc/GLRPFfwT8QaXb/CzwF8PPA/wu+MvxC8a/BPx54t+LXgnwFrfiX+1/DWn/s7+Atb8 U/Ea50i48I/GG5ez8YfAHSfhT4u+PfxJ8beFfGHhPxP89WetTW/iC612x13xFpxa3ls7mXTrnTnu pdL1+y1vw1fxXWq6d/aAh1HVDql5pOq6IbmG20mz1DVNFjvLaK1uroT+ItQn8Q6B4j8FajdPL4O8 Y+ErrwJrng3Wo9Qk8Nan4L1XT/F9lrvhbVfCpjfTpdE1uy8f+O0vtDh0yCxv9P8AH3izw3A7WGq6 s0mEK1JOS5HO7teybv7tkm7KSSlJbr3ktHfmWkqFWVm5QioxSak1LW/NJpb2fLG2itaS6q/pHxT1 fSr/AMT6L4l8J+DdX8A+GfGHw4+F3iey8E67/Y+l+MPBFj4i+E3hLxLD4Z8SWWh+JPGGj3uv2Goa td23i66tvFniuyuvFazzX+teIQbu9rzWS5mvbOectJGt3JbpJbSWdmY9KMph1WztHmu4Z5YIrNHg tpJIRa3V47XF2sdiEttSMKXV7flJpdWkufs2neH9LttPudQvbm8XStItI9Cs9Kjee4h8iy0/w9aa ZY22nQ/ZP7L01YzZTWN1fadNZ8naa1odzF9n8NXlxpWprrCr5+u3EEuq3/8AbMdndXcVrb6uLDWN KSV726tYbmz1BrazudK/syEXmlRTS2eMoyqOck3GMn7sbKTWuqb5tWlbZJ3UnZam0HTjG0lzyjFR 5/eg3zQpybtbmfvNWWtrJa2u+1RpreRlbV7YPJDJPYwXdzI1x9nvJ1e0bUJ0JnvGhvUVxcTypcrB Ct7c3bTPbTLLYa5aMIbaG3lSO8ihuI7t4PtAIt4WN5ayNFsjeK7F3b3CqLBp7GLT4NPs75YrS4tW 45fE9hZ3E8mqQ6Za2sUGqWekyPZXGk3mX1B4NUuNHnvtUMkltZ6bp9zZyXWm6ZLB4kvbiHUNHvLn TrKSC9828RfE7xO2mS6no3hCXUZfs95afaIra8H2u0QXECLptx4Wur2DyYoUa8sbyG70fV5I49Kv dUjhuWnkhl05uXL7kk7tvminey0s0k/K7vJ6vVpq1OMeV2lCTajazV3o9Xdyjte6TVrNxeh9IIYS rr5zSQtA0V4kUFr5TA6erQWF7HLCs8kgm+0zBIysUctlPFcvJGgjkyLvQtKl0+dLSS5tr3UEQtqt tcS6dILyC7vYbSa4k0x7DUBbfZr2502TT7C90hZ1hsbW6Mk1oblPMNN8RvDpV1/aWi3+n3ctvpyX 2lXljLFa3Hk2beZHHZXMdtJc2MNxGZES9gtnnWRpFljsVmjXnp/iXdaXpd1JrnhPxFYXNxp2qS6N q+laPc6+9vaShpIQ0Glap4ladoL+HT9Oi065XzmMSwSf2LYSbVwjTqSm4U5yUnpJaJcz2SabtZ3v a+ibW7R0ylFQpupTjJy0j77Wlk003GN24pOzSW9ttfX7yAalpYWOKCZbeW3kSfWLTUJINGfSbq11 BZo9N1G2gtbhjc2kb2NxE8EMTaemoxBoJrSeRz3XiCJ7W3igsrxWXW9+oxTXqvJc3TwstwrXrXNp awxQXV1YW2npFIQsdrYC7torG61A/GPin9rTT/D9ml3b+CPGPiJ7PSphPdeG9Q0iwjih006jZPJq GjuNLtG1OW7hF/rGrIuiJEWNlaWtjoct5bWnT6d+2Z8Gryxlm1vxQPDniG1iKzeH76K9Os2s8hFv CjtqS6XbJHbwNFb2Frb38onZFivdXv7G0s9Sl3q4HFcntLc0XpenG72WnKndX5Va7Sb03sY0q1Ln cIJttqXK5xafM73vzfZ1b5krJ6J7n1FNdXbWE9vNcafeXlxd2VlGqQ29tbzW8KxNrlysn9uSteXE slveppnh6Oxjvri3lSW9luTHeJHix3t3qOoXdvpYJ1C2Mmrapv0wXumsfKtr3Wt9w8i3C6a+kzX9 vHcXlxpYtL6wheS1XTJZLJPkbUf2lvhlrn2nSrWS9sW1MSSWFzc6hPb2d3JHP5elWl3aanqeoBo/ t2laTdNe2c0txMZorTUdPbTZdPhu/PtC/aS+JXhO61CW88My+MdNs7qKFX8SWEf2nULLzL+7lOma narpFr4hivLjVJr0aHqkqNJNJp5utS1C1umg1R0sBNRs04tWaU0oKXNaLtNr3u8o3SWkmkkzSdZz nzNu1opO7aslJSSWqUkm2pOzenR6/dEd7E95qMS7Lv7Zb3FwLrS7qK+itLkWkK21lbWlpdalH4Yv DBKLyII9npGpx3VrNZS3t7eN9o0brQr547m9t0mfytMshp9ld3ixlHh02SSG+Gq6VbzalbahZ3Nw IJ0n1OWbSLqZUi0tb1tSEvxlp37cPwdvmtI/EWuXXg+ZBb2ms2V9a67oM2m2ZMFrLd6DJp2hT2qX UVtHf3cSaff2lxPdXaXSavBctcXtx0N3+17+zXLKt1qXxOh+yNHaXNyEfxHaaat6tpp1pqkSXmn2 VjrE6zxXWp32l3Fu9pYxSDTjHqUNzocczRPA4y6ksPVilFK6o1Kl3JJrSMXda3VubTrtbSNeioQv UhJXXwVYK6TT1k5O1rt/YtzNLpf6k02zNpJeS3NvYXHl3Sb7h4wbvV/sjPGLq9kvCZnWSR5ZbFb+ S7e2hNldvd3ckflW+dIumWmlywJZvJcQayNO2XpENlBpEy3EP9oWt1HfXlw1vAbm7tbbSithq3lz X15Z6Xd7bpX+Y/CH7T/wy8SaLJpvw51mDxJqFnrzz303h7w7qF9ca0brwzBoa/2ndXWp300Vnodz YpfWOtm3uriDS7HS9IS1t7DThbtWuP2krPTlvdC8T6naeDdae3ubQre+FtfuNAv0a8X7TDcada3W l2KG9sYkh+yXXiB9R/tiKTU76/sdOfy9Pyhg6lKo7wlzRtLllCamoq3KlSaUtXbpzRTjpa6NJ141 IKzjGO3M505LdPR2UY8t0kk3e17qzb+m9P1GG3h0yw02S3uNHn0yaLTzcXN5/ZF8Fs7e0sNR0a21 61Sa1s7qziJgSzubmKWxsdKuoIJodRM8OnN9js45Yorq9aKNp7yf7VFfXt47u1zcNLcPLdNOUaSM ufle0hszHplvK9tbtaj4b+IH7U3wh8N2lxFZ/FbSdA1eyaKWG80m1ubnTYLafUnMdxbrrMNlbx6L p1uRY6jpd5AbzWw1jqEF7YWMN5bxfM+oftt+N7O61FfBcHgzx5bz2mm2kWuRaTqvhVL+TQpUvrm7 kvtB103uu391ezyWqQ3On3FotlYOlnDpbxOt7vHK8TWcqriqcfcvKblBSXuu1+RxtZOTbldJba3M JZjhMHCKrVlF2aUbqbhJ8rVo0ZtyvblV4xvbmatpH9apb6LVHt0tYpLq3nFlFDbWs0LWl9di7jsp JZbgz3DzC9l/eSaekkyXYS6hZJ5kgtLeluu2V7sysboSq+pzpfG6me6t3VJA0JjSNbe1vLYXNvp0 gZ9NjvWntrhJZZIrr8yvB/7dlnqEuo6r418D6T4Vi+zQzXGoaL4lt9a1Wze+8nSFM2l6fHah72W/ lXRoJorKV9SvYLGGy1y5sL68mf7t8K/FTwd49tzqOi+MVsYtPsLiJotSxMk6LZSOLKC6v7prKC41 JruOILqN4v2yZ9SQpDqE1pc6XxYrA4rDtQ5Hsk3FKUI8y35qcmlaWkVeLeja95HbhMbhcTCNWNSM qckpL37TUbQ5XyTXMuaLUmnH3VreSaR2lzr66HY51G9ubdItQF/bWd/pmsXV1E91eRQ20+m2lr4e bUXsvtskdtd6fZpJqb6dDa214LEf2bqWkxaTd6r9ilgv3guhJLbxaWlnK11rGozRSpaz6ilzdJcx 3TNcrbyYshbeGINR+1aI1jNJDdl8KTU1lklvb17jU3ku5rGSaK7tLexN7d67LYLpr20t/JHqMkko gsrcy3Ytrm80/SJpE1k6jHNY0rWOG7J1LVpm12O1ls7yNdYl0I3ct3pOo2Gp2F5c3N5Le3Utx4c8 ThtQu3TUY5YVsri5drm204A8/wAOjjF9N5NqyWkbR5nJtO+uulrbnR7l04uUVaTU3s+eespvmcYt RtdPXli02rLlh8R+I9SNxJDCL1JJdaMuj295NFbRvbNcadqUGoPOjQRLDp+lXGo2tzJ58EN3fwpZ PZXS6hpGjaqzxjaXGpWtyNN1q+8N6leXd5cDVbFPD2sBp9Wv57vRLfSBqsM+n6O9he3tvZWw8RQ+ KJjarb6VbfYbqAXC8xd2EyRWsmhzxS3GnafdaZBqzWetXthoNotxamSyGhstjZXM+i3uoaW2naTe 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 516ShJTU5UqkXKPuq7VKMopJWm3FJpaJtpyP/9k= ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: https://act.garfield-county.com/assessor/taxweb/sketchPicture.jsp?accountId=R011171.1295542708590&sketchNum=1&page=1&width=320&height=320 /9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCAFAAUADASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD+/iii igAooooAKKKKACiiigAooooAKK/EH4+/tC/F1f8Agp/8Ff2aNA/bk/4VJZfED4gfDjSvBn7PHg3w v8E5fGPiTR/APgDWf2nvi+Pix8EPjz+zvqnxg+JX7P8A8Xfg/wDCb40fCLTf2/8A9lX9sHwh4E+F vx28UfDT9n0fsx6n8Tfgj8d/iV4v/b6gAooooAKK5/xZbeKrzwr4ms/Aus+H/Dnja68P6zbeDvEP izwzqPjTwroXiqfTrmLw9rPibwdo/izwFq/izw/pertZ32s+GdL8deC9R13ToLnS7HxZ4cubqLWL P+aL9nP9tb9pj44fEX/glp4T8Z/8FAP+EM+IH7UH7P8A+xF491L4PeDfAn7PeleMfiN4jf8AZY0P 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 RRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9k= ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Location: https://act.garfield-county.com/assessor/taxweb/gisPicture.jsp?accountNum=R011171.1295542708590&width=320&height=320 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 RU5ErkJggg== ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: https://act.garfield-county.com/assessor/web/images/tylerlogo-mini.jpg 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 m7Bew7sSQSSfUSxP5Pf1/9k= ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/taxweb/document.css .fieldLabel { PADDING-RIGHT: 0.5em; FONT-WEIGHT: 600 } .fieldGroup TD { PADDING-TOP: 30px } .iDoc { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 15px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 15px; BACKGROUND: #eee; PADDING-BOTTOM: 15px; = MARGIN: 15px 0px; BORDER-LEFT: #ccc 1px solid; WIDTH: 95%; PADDING-TOP: = 15px; BORDER-BOTTOM: #ccc 1px solid; -moz-border-radius: 7px } .iDoc TR.tableRow2 TD { BACKGROUND: #ffc } .iDoc .label { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } .tableHtmlLayout { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; WIDTH: = 100%; PADDING-TOP: 0px } #thumb_set { FLOAT: left; MARGIN: 0px 15px 0px 0px; WIDTH: 112px } #thumb_set .thumb { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px 0px 5px; = BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px = solid } .thumb A IMG { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } #selected_photo { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 5px; FLOAT: left; MARGIN-BOTTOM: 15px; = PADDING-BOTTOM: 5px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 5px; = BORDER-BOTTOM: #ccc 1px solid } #related_documents { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: = #ccc 1px solid; WIDTH: 100%; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px = solid } #related_documents #searchResultsTable TABLE { WIDTH: 100% } #related_documents #searchResultsTable TABLE A { DISPLAY: block } #related_documents .tooltip { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-LEFT: = #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #ffc; = -moz-border-radius: 7px } #related_documents .tooltip TABLE { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } #related_documents .tooltip TABLE TD { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } .highlight { BACKGROUND-COLOR: #ffc } A.highlight { DISPLAY: block; BACKGROUND-COLOR: #ffc; TEXT-DECORATION: none! = important } .selectable:visited { DISPLAY: block; TEXT-DECORATION: none! important } .selectable:link { DISPLAY: block; TEXT-DECORATION: none! important } selectable:active { DISPLAY: block; TEXT-DECORATION: none! important } .summaryTable { OVERFLOW-Y: scroll; OVERFLOW-X: visible; HEIGHT: 150px } .viewAttachment A.iconic { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: = url(../images/header-gradient.png) #eee repeat-x; PADDING-BOTTOM: 5px; = MARGIN: 2px -3px 0px 5px; COLOR: #333; PADDING-TOP: 5px; HEIGHT: auto; = BORDER-BOTTOM-STYLE: none; -moz-border-radius-topleft: 2px; = -moz-border-radius-topright: 2px } .viewAttachment A.iconic:hover { BORDER-LEFT-COLOR: #fc3; BORDER-BOTTOM-COLOR: #fc3; BORDER-TOP-COLOR: = #fc3; BORDER-RIGHT-COLOR: #fc3 } .viewAttachment A.selected.iconic:hover { BORDER-LEFT-COLOR: #fc3; BORDER-BOTTOM-COLOR: #fc3; BORDER-TOP-COLOR: = #fc3; BORDER-RIGHT-COLOR: #fc3 } .viewAttachment A.selected.iconic { MARGIN-TOP: 0px; BORDER-LEFT-COLOR: #888; BACKGROUND: white; = BORDER-BOTTOM-COLOR: #888; PADDING-BOTTOM: 7px; CURSOR: default; COLOR: = black; BORDER-TOP-COLOR: #888; BORDER-RIGHT-COLOR: #888 } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/taxweb/search.css #pdfBuilder { CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px 0px 7px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } #recentSearhes UL { CLEAR: both; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px 0px 7px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } #pdfBuilder LI.attachment { BORDER-BOTTOM: #ccc 1px solid } #pdfBuilder LI.attachment:hover { BACKGROUND: #ffc } #updateablePdfWidget SPAN.clearSpan { FLOAT: right } #updateablePdfWidget SPAN.removeSpan { FLOAT: right } #updateablePdfWidget H1 { FLOAT: left } .noWrap { DISPLAY: block; WHITE-SPACE: nowrap } .noWrap A { DISPLAY: block } .widget { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 7px; BACKGROUND: #fff; MARGIN-BOTTOM: 10px; = PADDING-BOTTOM: 7px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 7px; = BORDER-BOTTOM: #ccc 1px solid } .widget H1 { FONT-SIZE: 95%; MARGIN: 0px 0px 7px } .widget H2 { FONT-SIZE: 90%; MARGIN: 0px 0px 7px } .widget H3 { FONT-SIZE: 85%; MARGIN: 0px 0px 7px } .widget H4 { FONT-SIZE: 80%; MARGIN: 0px 0px 7px } .widget H5 { FONT-SIZE: 75%; MARGIN: 0px 0px 7px } .widget UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } .widget LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } #searchControl H1 { FONT-SIZE: 95%; MARGIN: 0px 0px 7px } #searchControl SELECT { MARGIN-BOTTOM: 17px } #searchResultsTable { CLEAR: right } #searchResultsTable .tableHeaderAction { CURSOR: pointer } #searchResultsTable TD A { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; TEXT-DECORATION: none! important; BORDER-BOTTOM-STYLE: none } #searchResultsTable A IMG { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } DIV#searchResultsTable A { DISPLAY: inline } .widget#myCart .checkout { FLOAT: right } .lighter { COLOR: #777 } .purchaseLinks { FLOAT: right; TEXT-ALIGN: right } .purchaseLinks A { CURSOR: pointer } .clickable { CURSOR: pointer } .inlineRelatedDocs TR.tableRow1 A.trigger { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; = PADDING-TOP: 7px } .inlineRelatedDocs TR.tableRow2 A.trigger { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 7px; = PADDING-TOP: 7px } INPUT.multisuggest { WIDTH: 265px } DIV.multisuggestdropdown { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: = #ccc 1px solid; WIDTH: 250px; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px = solid; POSITION: absolute; BACKGROUND-COLOR: white } DIV.multisuggestdropdown UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } DIV.multisuggestdropdown UL LI.selected { BACKGROUND-COLOR: #ffb } DIV.multisuggestdropdown UL LI { PADDING-RIGHT: 2px; DISPLAY: block; PADDING-LEFT: 2px; FONT-SIZE: 90%; = PADDING-BOTTOM: 2px; MARGIN: 0px; CURSOR: pointer; PADDING-TOP: 2px; = LIST-STYLE-TYPE: none } DIV.multisuggestoverlay { Z-INDEX: 99; FILTER: alpha(opacity =3D 80); LEFT: 0px; WIDTH: 100%; = LINE-HEIGHT: 0; POSITION: absolute; TOP: 0px; HEIGHT: 100%; = BACKGROUND-COLOR: #fff; TEXT-ALIGN: center; opacity: 0.8; -moz-opacity: = 0.8 } DIV.multisuggestlightbox { DISPLAY: none; Z-INDEX: 100; WIDTH: 100%; LINE-HEIGHT: 0; POSITION: = absolute; TEXT-ALIGN: center } DIV.multisuggestdialog { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 16px; BORDER-TOP: #ccc 1px = solid; DISPLAY: none; PADDING-LEFT: 16px; LEFT: 25%; PADDING-BOTTOM: = 16px; MARGIN: 0px auto; BORDER-LEFT: #ccc 1px solid; WIDTH: 50%; = PADDING-TOP: 16px; BORDER-BOTTOM: #ccc 1px solid; TOP: 25%; = BACKGROUND-COLOR: white; TEXT-ALIGN: left } DIV.multisuggestdialoglist { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 16px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 16px; FONT-SIZE: 90%; PADDING-BOTTOM: 16px; MARGIN: = 0px; OVERFLOW: auto; BORDER-LEFT: #ccc 1px solid; WIDTH: auto; = PADDING-TOP: 16px; BORDER-BOTTOM: #ccc 1px solid; HEIGHT: 250px; = BACKGROUND-COLOR: white } DIV#fraudAlertDisclaimer { OVERFLOW: auto; HEIGHT: 250px } TABLE#fraudAlertManageAlertListComponent { WIDTH: 100% } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/taxweb/report.css TABLE.reports TD { PADDING-RIGHT: 7px! important; PADDING-LEFT: 17px! important; = PADDING-BOTTOM: 7px! important; PADDING-TOP: 7px! important; = BORDER-BOTTOM: #ccc 1px dotted } TABLE.reports TR.even TD { BACKGROUND-COLOR: #eee! important } TABLE.reports { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; WIDTH: = 100%; PADDING-TOP: 10px } TABLE.reports TD { PADDING-RIGHT: 17px; PADDING-LEFT: 17px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px; TEXT-ALIGN: left } TABLE.reports TH { PADDING-RIGHT: 17px; PADDING-LEFT: 17px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px; TEXT-ALIGN: left } P.createReport { BACKGROUND: url(../images/create-report.png) no-repeat; HEIGHT: 24px } P.createReport:hover { BACKGROUND-IMAGE: url(../images/create-report-hi.png) } P.createReport A { PADDING-LEFT: 30px; VERTICAL-ALIGN: middle; PADDING-TOP: 7px } #middle #reportMessages { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 7px; MARGIN-BOTTOM: 7px; PADDING-BOTTOM: 7px; = BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 7px; BORDER-BOTTOM: #ccc 1px = solid; BACKGROUND-COLOR: #fff3d0; -moz-border-radius: 7px } #clearMessages { DISPLAY: block; FLOAT: right; TEXT-ALIGN: right } #middle > #loadingMessage { POSITION: fixed } #generatingMessage { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 0px; BACKGROUND: url(../images/loading.gif) #eee = no-repeat 50% 85%; PADDING-BOTTOM: 50px; MARGIN: auto; BORDER-LEFT: #ccc = 1px solid; WIDTH: 100%; PADDING-TOP: 20px; BORDER-BOTTOM: #ccc 1px = solid; TEXT-ALIGN: center; -moz-border-radius: 7px } #loadingMessage { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; Z-INDEX: 1000; RIGHT: 0px; = BACKGROUND: #fe7 no-repeat; PADDING-BOTTOM: 7px; PADDING-TOP: 3px; = POSITION: absolute; TOP: 0px; TEXT-ALIGN: right } #loadingMessage IMG { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 0px; = PADDING-TOP: 5px } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/taxweb/calendar.css #calendarContainer { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BACKGROUND: = url(../images/cal_bg.gif) left bottom } .cal { BORDER-TOP-WIDTH: 0px; FONT-WEIGHT: normal; BORDER-LEFT-WIDTH: 0px; = BORDER-BOTTOM-WIDTH: 0px; COLOR: #222; TEXT-ALIGN: center; = BORDER-RIGHT-WIDTH: 0px } .cal IMG { BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; BORDER-RIGHT-WIDTH: 0px } .cal BUTTON { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; MIN-WIDTH: 25px; = PADDING-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; = PADDING-BOTTOM: 0px; MARGIN: 0px; CURSOR: pointer; PADDING-TOP: 0px; = BACKGROUND-COLOR: transparent; BORDER-RIGHT-WIDTH: 0px } .cal BUTTON.today { BORDER-RIGHT: #222 1px solid; BORDER-TOP: #222 1px solid; BORDER-LEFT: = #222 1px solid; BORDER-BOTTOM: #222 1px solid; BACKGROUND-COLOR: #fab } .cal BUTTON.selected { BORDER-RIGHT: #222 1px solid; BORDER-TOP: #222 1px solid; BORDER-LEFT: = #222 1px solid; BORDER-BOTTOM: #222 1px solid } .cal .dow TD { WIDTH: 18px } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/taxweb/cart.css #shoppingCart { WIDTH: 100%; BORDER-COLLAPSE: collapse } #shoppingCart TR.no_hover:hover { BACKGROUND: #fff } #shoppingCart TD { VERTICAL-ALIGN: top } #shoppingCart TD.item { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px solid } #shoppingCart UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 10px 0px 0px; TEXT-INDENT: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } #shoppingCart .preview { PADDING-RIGHT: 0px; PADDING-LEFT: 16px; FONT-WEIGHT: normal; = BACKGROUND: url(../images/view.png) no-repeat 0px 0px; PADDING-BOTTOM: = 5px; PADDING-TOP: 0px } .itemDetails { FLOAT: right } .prices { FLOAT: right } .prices TD.total { BORDER-TOP: #ccc 1px solid } TD.label { PADDING-RIGHT: 5px; FONT-WEIGHT: 600; TEXT-ALIGN: right } .historyDate { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .historyTable { CLEAR: right; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px } .receiptHistoryLegend { MARGIN-BOTTOM: 50px; PADDING-TOP: 0px } .fundsAvailable { =09 } .balanceDue { =09 } .productParams { TEXT-ALIGN: left } DIV.productSelection TD.parameterColumn { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 15px } .productSelection { CLEAR: both; BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; = BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = MARGIN: 15px 0px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 0px; = BORDER-BOTTOM: #ccc 1px solid } #addressSet { CLEAR: both; BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; = BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = MARGIN: 15px 0px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 0px; = BORDER-BOTTOM: #ccc 1px solid } .productSelection H1 { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: = url(../images/header-gradient.png) #eee repeat-x; PADDING-BOTTOM: 3px; = MARGIN: 0px; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid } #addressSet H1 { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; BACKGROUND: = url(../images/header-gradient.png) #eee repeat-x; PADDING-BOTTOM: 3px; = MARGIN: 0px; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid } .productSelection FIELDSET { BACKGROUND: none transparent scroll repeat 0% 0%; BORDER-TOP-STYLE: = none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; = BORDER-BOTTOM-STYLE: none } .productSelection TD.summary { BORDER-RIGHT: #ccc 1px solid } .productSelection .summary DIV { MARGIN: 0px 15px 15px } .productSelection .productParams { MARGIN: 0px 15px 15px } #addressSet .productParams { MARGIN: 0px 15px 15px } #addressSet H1 { MARGIN-BOTTOM: 15px } DIV.productSelection .summary DIV TD { VERTICAL-ALIGN: top } #changeAllLabel { PADDING-RIGHT: 20px; PADDING-LEFT: 20px; FLOAT: right; PADDING-BOTTOM: = 20px; MARGIN-RIGHT: 5px; PADDING-TOP: 20px; TEXT-ALIGN: right } DIV.changeAllWarning { CLEAR: both; BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 5px; = BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 5px; FLOAT: right; = PADDING-BOTTOM: 5px; MARGIN: -5px 0px 5px; BORDER-LEFT: #ccc 1px solid; = PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #ffc; = TEXT-ALIGN: left! important } .highlighted-bg { BACKGROUND-COLOR: rgb(255,255,234) } .receiptDisplay TD { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .receiptDisplay TD.bottomBorder { BORDER-BOTTOM: #ccc 1px solid } TABLE.purchasedSubscriptions TH { PADDING-RIGHT: 10px; PADDING-LEFT: 0px; BACKGROUND: none transparent = scroll repeat 0% 0%; PADDING-BOTTOM: 0px; COLOR: black; PADDING-TOP: = 0px; TEXT-ALIGN: left } TABLE.purchasedSubscriptions TD { PADDING-RIGHT: 10px; PADDING-LEFT: 0px; BACKGROUND: none transparent = scroll repeat 0% 0%; PADDING-BOTTOM: 0px; COLOR: black; PADDING-TOP: = 0px; TEXT-ALIGN: left } TABLE.purchasedSubscriptions { CLEAR: left; MARGIN-BOTTOM: 17px } .productGroup:hover { BACKGROUND-COLOR: #f0f0f0 } A.cardGold { BACKGROUND: url(../images/cardGold.png) #eee no-repeat 0px 50% } A.cardPlatinum { BACKGROUND: url(../images/cardPlatinum.png) #eee no-repeat 0px 50% } A.changeBilling { BACKGROUND: url(../images/creditCardsBtn.png) #eee no-repeat 0px 50% } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/taxweb/tabs.css .tabs { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px = 0px 0px 5px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } .tabs LI { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; BACKGROUND: = url(../images/tab.gif) no-repeat right top; FLOAT: left; PADDING-BOTTOM: = 5px; MARGIN: 1px 5px 0px 0px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: = 5px; BORDER-BOTTOM-STYLE: none } .tabs LI.active { BACKGROUND: url(../images/selected_tab.gif) right top } .tabs LI A { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: = 0px; PADDING-TOP: 5px } #tab_control { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 5px = 0px 0px; PADDING-TOP: 5px } #tabcontentcontainer { CLEAR: left; BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 15px; = BORDER-TOP: #ccc 1px solid; PADDING-LEFT: 15px; BACKGROUND: #fff; = PADDING-BOTTOM: 15px; MARGIN: -1px 0px 0px; BORDER-LEFT: #ccc 1px solid; = PADDING-TOP: 15px; BORDER-BOTTOM: #ccc 1px solid } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/taxweb/treasurer.css .dashboard-widget { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: #ccc 1px = solid; MARGIN-TOP: 17px; PADDING-LEFT: 0px; BACKGROUND: #fff; FLOAT: = left; PADDING-BOTTOM: 0px; BORDER-LEFT: #ccc 1px solid; WIDTH: 45%; = MARGIN-RIGHT: 17px; PADDING-TOP: 0px; BORDER-BOTTOM: #ccc 1px solid } .dashboard-widget P.error { BACKGROUND-IMAGE: none } .dashboard-widget H1 { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-SIZE: 95%; BACKGROUND: = #eee; PADDING-BOTTOM: 7px; MARGIN: 0px; COLOR: #222; PADDING-TOP: 7px } .dashboard-widget H1 #spinner { PADDING-RIGHT: 0px; PADDING-LEFT: 70px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } .dashboard-widget TABLE { MARGIN: 10px 17px } .dashboard-widget TABLE .label { TEXT-ALIGN: left } .dashboard-widget TABLE TR.hasLabel TD { PADDING-TOP: 7px } .dashboard-widgetwidget UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } .dashboard-widgetwidget LI { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } .tax-value TD { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px } #updateInquiry { FLOAT: right; MARGIN: 17px } #paymentLinks TABLE { WIDTH: 100% } #paymentLinks TABLE TD { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; = VERTICAL-ALIGN: top; PADDING-TOP: 3px } #paymentLinks P { FONT-STYLE: italic } TABLE.account { BORDER-RIGHT: #ccc 1px; BORDER-TOP: #ccc 1px solid; BACKGROUND: #fff; = MARGIN: 3px 3px 12px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc = 1px } .account THEAD { PADDING-RIGHT: 7px; PADDING-LEFT: 7px; FONT-SIZE: 95%; BACKGROUND: = #eee; PADDING-BOTTOM: 7px; MARGIN: 0px; COLOR: #222; PADDING-TOP: 7px; = TEXT-ALIGN: left } .account TH { PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px } .account TD { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 15px; PADDING-LEFT: 15px; = PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid } .account TR.even { BACKGROUND-COLOR: #eee } TABLE.condensed { BORDER-RIGHT: #ccc 1px; BORDER-TOP: #ccc 1px solid; BACKGROUND: #fff; = MARGIN: 3px 3px 12px; BORDER-LEFT: #ccc 1px solid; BORDER-BOTTOM: #ccc = 1px } TABLE.condensed THEAD { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; BACKGROUND: = #eee; PADDING-BOTTOM: 3px; MARGIN: 0px; COLOR: #222; PADDING-TOP: 3px; = TEXT-ALIGN: left } TABLE.condensed TD.rowheader { FONT-WEIGHT: bold } TABLE.condensed TH.colheader { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px } TABLE.condensed TD { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 3px; PADDING-LEFT: 3px; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px solid } TABLE.condensed TR.even { BACKGROUND-COLOR: #eee } TABLE.condensed TR.total { BACKGROUND-COLOR: #eee } TABLE.condensed TR.total TD { FONT-WEIGHT: bold } DIV.activelink { FONT-WEIGHT: bold; COLOR: #aaa } .pdfDownloadLink { DISPLAY: block; PADDING-LEFT: 28px; FONT-SIZE: 75%; BACKGROUND: = url(../images/pdf-document.png) no-repeat 0px 0px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px; HEIGHT: 24px } .total { FONT-WEIGHT: bold } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/taxweb/tax.css #TaxAccountSummary { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 15px; = PADDING-BOTTOM: 0px; WIDTH: 100%; PADDING-TOP: 0px; BORDER-COLLAPSE: = collapse } #TaxAccountDetail { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; MARGIN-BOTTOM: 15px; = PADDING-BOTTOM: 0px; WIDTH: 100%; PADDING-TOP: 0px; BORDER-COLLAPSE: = collapse } DIV.iDoc #TaxAccountDetail { MARGIN-BOTTOM: 0px } #TaxAccountSummary TD { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px dashed } #TaxAccountDetail TD { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px dashed } #TaxAccountSummary TR:unknown TD { BORDER-BOTTOM-STYLE: none } #TaxAccountDetail TR:unknown TD { BORDER-BOTTOM-STYLE: none } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/css/base.css @import url( document.css ); @import url( search.css ); @import url( report.css ); @import url( calendar.css ); @import url( cart.css ); @import url( tabs.css ); @import url( treasurer.css ); @import url( tax.css ); BODY { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 80%; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 100%; COLOR: #222; PADDING-TOP: 0px; = FONT-STYLE: normal; FONT-FAMILY: arial, helvetica, sans-serif; = BACKGROUND-COLOR: #fff } * { FONT-FAMILY: arial, helvetica, sans-serif } A { COLOR: #1d4aa5; TEXT-DECORATION: underline! important } A:visited { COLOR: #a74992; TEXT-DECORATION: underline! important } A:hover { COLOR: #f90; TEXT-DECORATION: underline! important } A:active { COLOR: #f90; TEXT-DECORATION: underline! important } #version { FONT-SIZE: 75%; COLOR: #888; TEXT-ALIGN: right } .attribution { FONT-SIZE: 75% } P.error { PADDING-RIGHT: 2px; PADDING-LEFT: 52px; MIN-HEIGHT: 48px; BACKGROUND: = url(../images/warning.png) no-repeat 0px 50%; PADDING-BOTTOM: 2px; = COLOR: red; PADDING-TOP: 24px; FONT-STYLE: italic } P.warning { PADDING-RIGHT: 2px; PADDING-LEFT: 52px; MIN-HEIGHT: 48px; BACKGROUND: = url(../images/info.png) no-repeat 0px 50%; PADDING-BOTTOM: 2px; COLOR: = #f60; PADDING-TOP: 24px; FONT-STYLE: italic } DIV.warning { BORDER-RIGHT: 1px solid; PADDING-RIGHT: 6px; BORDER-TOP: 1px solid; = PADDING-LEFT: 32px; FONT-WEIGHT: bold; MIN-HEIGHT: 24px; BACKGROUND: = url(../images/important.png) #fbdcbd no-repeat 4px 4px; PADDING-BOTTOM: = 6px; BORDER-LEFT: 1px solid; WIDTH: 300px; COLOR: #f57900; PADDING-TOP: = 6px; BORDER-BOTTOM: 1px solid } DIV.warning H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px = 0px 5px; COLOR: #f57900; PADDING-TOP: 0px } DIV.warning P { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; COLOR: #222; PADDING-TOP: 0px } P.info { PADDING-RIGHT: 2px; PADDING-LEFT: 52px; MIN-HEIGHT: 48px; BACKGROUND: = url(../images/info.png) no-repeat 0px 50%; PADDING-BOTTOM: 2px; = PADDING-TOP: 24px; FONT-STYLE: italic } TH A { COLOR: #fff; TEXT-DECORATION: underline } TH A:active { =09 } TH A:hover { COLOR: #fff; TEXT-DECORATION: underline } TH A:visited { COLOR: #fff; TEXT-DECORATION: underline } #header { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: = 0px; PADDING-TOP: 10px } #header H1 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } INPUT.invalid { PADDING-RIGHT: 24px; BACKGROUND: url(../images/warning-sm.png) white = no-repeat 100% 0% } SELECT.invalid { BACKGROUND: #fab } FIELDSET.invalid { BORDER-RIGHT: red 1px solid; BORDER-TOP: red 1px solid; BORDER-LEFT: = red 1px solid; BORDER-BOTTOM: red 1px solid } TABLE.invalid { BORDER-RIGHT: red 1px solid; BORDER-TOP: red 1px solid; BORDER-LEFT: = red 1px solid; BORDER-BOTTOM: red 1px solid } TABLE.outlined TD { BORDER-BOTTOM: #ccc 1px solid } .combobox { MIN-WIDTH: 150px; MAX-WIDTH: 300px } #nav { WIDTH: 100% } #nav UL { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FONT-WEIGHT: = 600; PADDING-BOTTOM: 5px; MARGIN: 0px; WIDTH: 100%; PADDING-TOP: 5px } #nav UL LI { PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: = 0px; MARGIN: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } #nav UL LI A { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #nav UL LI.first A { BORDER-LEFT-STYLE: none } #columns { WIDTH: 100%; BORDER-COLLAPSE: collapse } #header_cell { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } #left_column { VERTICAL-ALIGN: top } #right_column { VERTICAL-ALIGN: top } #left_column { WIDTH: 20% } #right_column { WIDTH: 75% } #left { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; MIN-HEIGHT: 450px; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px } #middle { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; MARGIN: = 0px 0px 15px; WIDTH: 97%; PADDING-TOP: 10px } #middle_left { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 50px; PADDING-LEFT: 0px; = PADDING-BOTTOM: 0px; MARGIN: 0px 50px 0px 0px; VERTICAL-ALIGN: top; = WIDTH: 50%; PADDING-TOP: 0px } #middle_right { PADDING-RIGHT: 0px; PADDING-LEFT: 50px; PADDING-BOTTOM: 0px; MARGIN: = 0px; VERTICAL-ALIGN: top; WIDTH: 50%; PADDING-TOP: 0px } #footer_cell { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } #footer { CLEAR: both; WIDTH: 100% } #accountTypes { MARGIN-BOTTOM: 15px } #sort_search_results { WIDTH: 180px } #searchResultsTable { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 15px; WIDTH: = 100%; PADDING-TOP: 15px; BORDER-BOTTOM: #ccc 1px solid } #searchResultsTable TH { TEXT-ALIGN: left } #searchResultsTable A { DISPLAY: block } #searchResultsTable TD { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = VERTICAL-ALIGN: top; PADDING-TOP: 5px } #searchResultsTable TABLE { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-COLLAPSE: collapse; BORDER-BOTTOM-STYLE: none } #searchResultsTable TABLE TABLE TD { PADDING-TOP: 0px } .summary TABLE { BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; WIDTH: 100%; = BORDER-BOTTOM: 0px; border-spacing: 0 } .summary TABLE TD { BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: = 0px; border-spacing: 0 } .accountThumb { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } TABLE#footer TR TD { VERTICAL-ALIGN: top; WIDTH: 33% } TABLE#footer TR TD.center { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; = VERTICAL-ALIGN: top; PADDING-TOP: 0px } TABLE#footer TR TD.right { TEXT-ALIGN: right } DIV.flowLayout DIV { FLOAT: left; MARGIN: 0px 10px 10px 0px } DIV.flowLayout_clear { CLEAR: left } .center { TEXT-ALIGN: center } H1 { FONT-WEIGHT: 600; FONT-SIZE: 125%; COLOR: #000 } H2 { FONT-WEIGHT: 600; FONT-SIZE: 110%; COLOR: #000 } H3 { FONT-WEIGHT: 600; FONT-SIZE: 100%; COLOR: #000 } H4 { FONT-WEIGHT: 600; FONT-SIZE: 90%; COLOR: #000 } H5 { FONT-WEIGHT: 600; FONT-SIZE: 85%; COLOR: #000 } HR { MARGIN: 15px 0px; BORDER-TOP-STYLE: none; BORDER-BOTTOM: #ccc 1px = solid; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none } TH { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; BACKGROUND: #003366; = PADDING-BOTTOM: 5px; COLOR: white; PADDING-TOP: 5px } TH A { COLOR: white; TEXT-DECORATION: none } TABLE { border-spacing: 0px } .sortableDataTable TH { BORDER-RIGHT: #ccc 1px solid } .sortableDataTable TD { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 15px; PADDING-LEFT: 15px; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BORDER-BOTTOM: #ccc 1px solid } .sortableDataTable TD TD { BORDER-RIGHT-STYLE: none; BORDER-BOTTOM-STYLE: none } .sortableDataTable TR.highlightable:hover { BACKGROUND: #abcdf3 } .sortableDataTable { BORDER-LEFT: #ccc 1px solid; WIDTH: 100%; BORDER-COLLAPSE: collapse; = border-spacing: 0 } .tableRow1 { BACKGROUND: #ffffff } #searchResultsTable .odd { BACKGROUND: #ffffff } .tableRow2 { BACKGROUND: #eeeeee } #searchResultsTable .even { BACKGROUND: #eeeeee } .tableRow2 TD { BORDER-TOP: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid } #searchResultsTable .even TD { BORDER-TOP: #ccc 1px solid; BORDER-BOTTOM: #ccc 1px solid } .tableRow2 TD TD { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } #searchResultsTable .even TD TD { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } TABLE.stripe TBODY TR.oddRow { BACKGROUND-COLOR: #eee } TABLE.stripe { BORDER-COLLAPSE: collapse } .newReport { FONT-WEIGHT: bold; BACKGROUND-COLOR: #ffc } .tooltipv2 { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 15px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 15px; FONT-WEIGHT: normal; BACKGROUND: #ffc; = PADDING-BOTTOM: 15px; BORDER-LEFT: #ccc 1px solid; WIDTH: 200px; COLOR: = #222; PADDING-TOP: 15px; BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: left } .trigger { CURSOR: help } .clickable { CURSOR: pointer } .text { WIDTH: 100% } INPUT.text { WIDTH: 150px } #delete { VERTICAL-ALIGN: bottom } .deleteIcon IMG { BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: = none; BORDER-BOTTOM-STYLE: none } #search_results TD.item { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px solid } P.print { BACKGROUND: url(../images/printer.png) no-repeat; HEIGHT: 32px } P.print A { PADDING-LEFT: 30px; VERTICAL-ALIGN: middle } A.iconic { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #ccc 1px = solid; DISPLAY: block; PADDING-LEFT: 40px; FLOAT: left; PADDING-BOTTOM: = 0px; MARGIN: 10px 15px 25px 0px; VERTICAL-ALIGN: bottom; BORDER-LEFT: = #ccc 1px solid; PADDING-TOP: 10px; BORDER-BOTTOM: #ccc 1px solid; = HEIGHT: 32px; BACKGROUND-COLOR: #eee; TEXT-DECORATION: none! important } A.iconic:active { BACKGROUND-COLOR: #ccc } A.print { BACKGROUND: url(../images/printer.png) #eee no-repeat 6px 50%; FLOAT: = right; MARGIN-RIGHT: 0px } A.modifySearch { BACKGROUND: url(../images/modify-search.png) #eee no-repeat 6px 50% } A.newSearch { BACKGROUND: url(../images/new-search.png) #eee no-repeat 6px 50% } #reportTypes { LIST-STYLE-TYPE: none } .tabcontent { DISPLAY: none } DIV.suggestions { BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; Z-INDEX: 5; = BORDER-LEFT: black 1px solid; CURSOR: default; COLOR: black; = BORDER-BOTTOM: black 1px solid; POSITION: absolute; BACKGROUND-COLOR: = white } DIV.suggestions DIV { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; = PADDING-TOP: 0px } DIV.suggestions DIV.selected { BACKGROUND: #036; COLOR: #f90 } .viewAttachment IFRAME { WIDTH: 100%; HEIGHT: 750px } .tabbed_iframe { BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #ccc 1px solid; BORDER-LEFT: = #ccc 1px solid; WIDTH: 100%; BORDER-BOTTOM: #ccc 1px solid; HEIGHT: = 220px } FIELDSET { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 15px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; BORDER-LEFT: #ccc 1px = solid; PADDING-TOP: 15px; BORDER-BOTTOM: #ccc 1px solid } #userForm FIELDSET { MARGIN-BOTTOM: 35px } #userForm FIELDSET LEGEND { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px } SPAN.dim { COLOR: #aaa } SELECT#state { MIN-WIDTH: 25px; WIDTH: 50px } .boldRight { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; TEXT-ALIGN: right } .boldLeft { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = PADDING-TOP: 5px; TEXT-ALIGN: left } .boldRightTop { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = VERTICAL-ALIGN: top; PADDING-TOP: 5px; TEXT-ALIGN: right } .boldLeftTop { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; = VERTICAL-ALIGN: top; PADDING-TOP: 5px; TEXT-ALIGN: left } #productType { MARGIN: 0px 0px 25px } #pageRange { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: = 0px; PADDING-TOP: 5px } #myDocuments { LIST-STYLE-TYPE: none } #myDocuments TD { PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; = PADDING-TOP: 15px } .hidden { DISPLAY: none } .error#userId { BORDER-RIGHT: red 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: red 1px = solid; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; BORDER-LEFT: red 1px = solid; PADDING-TOP: 2px; BORDER-BOTTOM: red 1px solid } #userIdError { PADDING-LEFT: 10px; FONT-SIZE: 85%; COLOR: red; FONT-STYLE: italic } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/css/print.css BODY { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 9pt; BORDER-BOTTOM-WIDTH: 0px; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: = 0px } TH { BORDER-BOTTOM: #ccc 1px solid; TEXT-ALIGN: left } TD { FONT-SIZE: 9pt } .no_print { DISPLAY: none; VISIBILITY: hidden } #searchResultsTable A { TEXT-DECORATION: none } DIV#header { DISPLAY: none; VISIBILITY: hidden } DIV#nav { DISPLAY: none; VISIBILITY: hidden } DIV#left { DISPLAY: none; VISIBILITY: hidden } #left_column { DISPLAY: none; VISIBILITY: hidden } #middle { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; BACKGROUND-COLOR: #ffffff } #footer_cell { DISPLAY: none; VISIBILITY: hidden } .center { TEXT-ALIGN: center } H1 { FONT-SIZE: 14pt } A.nav { COLOR: white; TEXT-DECORATION: none } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/custom/custom.css #header { BACKGROUND: url(GarfieldheaderBG.jpg) #135 no-repeat left center; = HEIGHT: 80px } #header H1 { FONT-SIZE: 200%; COLOR: #135 } #nav UL { BORDER-TOP: #030 1px solid; MIN-HEIGHT: 10px; BACKGROUND: #036; = BORDER-BOTTOM: #ccc 1px solid } #nav A { BORDER-LEFT: #ccc 2px solid; COLOR: #ddd; TEXT-DECORATION: none } #nav A.visited { BORDER-LEFT: #ccc 2px solid; COLOR: #ddd; TEXT-DECORATION: none } #nav A:hover { COLOR: #fc3; TEXT-DECORATION: none } #left_column { BORDER-RIGHT: #ccc 1px solid; BACKGROUND: #eee } A { COLOR: #1d4aa5 } A:visited { COLOR: #a74992 } A:hover { COLOR: #f90 } #footer { BORDER-RIGHT: #036 0px solid; BORDER-TOP: #036 20px solid; FONT-SIZE: = 75%; BORDER-LEFT: #036 0px solid; COLOR: #888; BORDER-BOTTOM: #036 0px = solid } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/css/tooltip.css .tooltip { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 2px; FONT-SIZE: 12px; PADDING-BOTTOM: 2px; MARGIN: = 1em; BORDER-LEFT: #ccc 1px solid; WIDTH: 350px; PADDING-TOP: 2px; = BORDER-BOTTOM: #ccc 1px solid; POSITION: absolute; BACKGROUND-COLOR: = rgb(255,255,234); -moz-border-radius: 7px } DIV#tooltip_main { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; BACKGROUND: = url(../images/MontroseAssr.png) #ffffff no-repeat 1px 0px; = PADDING-BOTTOM: 0px; PADDING-TOP: 0px; FONT-FAMILY: Arial 14px; = TEXT-ALIGN: left } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/css/drop3.css .preload1 { BACKGROUND: url(../images/drop3/blank_over.gif) } .preload2 { BACKGROUND: url(../images/drop3/blank_overa.gif) } .menu2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; Z-INDEX: 500; BACKGROUND: = url(../images/drop3/barbg.gif); PADDING-BOTTOM: 0px; MARGIN: 0px; WIDTH: = 100%; PADDING-TOP: 0px; FONT-FAMILY: arial, verdana, sans-serif; = LIST-STYLE-TYPE: none; POSITION: relative; HEIGHT: 28px } .menu2 LI.top { DISPLAY: block; FLOAT: left } .menu2 LI A.top_link { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 12px; FONT-WEIGHT: = bold; FONT-SIZE: 11px; BACKGROUND: url(../images/drop3/blank.gif); = FLOAT: left; PADDING-BOTTOM: 0px; CURSOR: pointer; COLOR: #222; = LINE-HEIGHT: 27px; PADDING-TOP: 0px; HEIGHT: 28px; TEXT-DECORATION: = none! important } .menu2 LI A.top_link SPAN { PADDING-RIGHT: 24px; DISPLAY: block; PADDING-LEFT: 12px; BACKGROUND: = url(../images/drop3/blank.gif) right top; FLOAT: left; PADDING-BOTTOM: = 0px; PADDING-TOP: 0px; HEIGHT: 28px } .menu2 LI A.top_link SPAN.down { PADDING-RIGHT: 24px; DISPLAY: block; PADDING-LEFT: 12px; BACKGROUND: = url(../images/drop3/blanka.gif) no-repeat right top; FLOAT: left; = PADDING-BOTTOM: 0px; PADDING-TOP: 0px; HEIGHT: 28px } .menu2 LI A.top_link:hover { BACKGROUND: url(../images/drop3/blank_over.gif) no-repeat; COLOR: #fff } .menu2 LI A.top_link:hover SPAN { BACKGROUND: url(../images/drop3/blank_over.gif) no-repeat right top } .menu2 LI A.top_link:hover SPAN.down { BACKGROUND: url(../images/drop3/blank_overa.gif) no-repeat right top } .menu2 LI:hover > A.top_link { BACKGROUND: url(../images/drop3/blank_over.gif) no-repeat; COLOR: #222 } .menu2 LI:hover > A.top_link SPAN { BACKGROUND: url(../images/drop3/blank_over.gif) no-repeat right top } .menu2 LI:hover > A.top_link SPAN.down { BACKGROUND: url(../images/drop3/blank_overa.gif) no-repeat right top } .menu2 TABLE { LEFT: 0px; WIDTH: 0px; POSITION: absolute; TOP: 0px; BORDER-COLLAPSE: = collapse; HEIGHT: 0px } .menu2 A:hover { Z-INDEX: 200; VISIBILITY: visible; POSITION: relative } .menu2 LI:hover { Z-INDEX: 200; POSITION: relative } .menu2 UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: -9999px; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; = POSITION: absolute; TOP: -9999px; HEIGHT: 0px } .menu2 :hover UL UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: -9999px; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; = POSITION: absolute; TOP: -9999px; HEIGHT: 0px } .menu2 :hover UL :hover UL UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: -9999px; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; = POSITION: absolute; TOP: -9999px; HEIGHT: 0px } .menu2 :hover UL :hover UL :hover UL UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: -9999px; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; = POSITION: absolute; TOP: -9999px; HEIGHT: 0px } .menu2 :hover UL :hover UL :hover UL :hover UL UL { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; LEFT: -9999px; PADDING-BOTTOM: = 0px; MARGIN: 0px; WIDTH: 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none; = POSITION: absolute; TOP: -9999px; HEIGHT: 0px } .menu2 :hover UL.sub { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 3px; Z-INDEX: 300; BACKGROUND: #fff; LEFT: 0px; = PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; WIDTH: 120px; = PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid; WHITE-SPACE: nowrap; = TOP: 28px; HEIGHT: auto } .menu2 :hover UL.sub LI { DISPLAY: block; FONT-WEIGHT: normal; FLOAT: left; WIDTH: 90px; = POSITION: relative; HEIGHT: 20px } .menu2 :hover UL.sub LI A { DISPLAY: block; FONT-SIZE: 11px; WIDTH: 120px; COLOR: #000; = TEXT-INDENT: 5px; LINE-HEIGHT: 20px; HEIGHT: 20px; TEXT-DECORATION: = none! important } .menu2 :hover UL.sub LI A.fly { BACKGROUND: url(arrow.gif) #fff no-repeat 80px 7px } .menu2 :hover UL.sub LI A:hover { BACKGROUND: #036; COLOR: #fff } .menu2 :hover UL.sub LI A.fly:hover { BACKGROUND: url(../images/drop3/arrow_over.gif) #036 no-repeat 80px = 7px; COLOR: #222 } .menu2 :hover UL LI:hover > A.fly { BACKGROUND: url(../images/drop3/arrow_over.gif) #036 no-repeat 80px = 7px; COLOR: #222 } .menu2 :hover UL :hover UL { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 3px; Z-INDEX: 400; BACKGROUND: #fff; LEFT: 90px; = PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; WIDTH: 90px; = PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid; WHITE-SPACE: nowrap; = TOP: -4px; HEIGHT: auto } .menu2 :hover UL :hover UL :hover UL { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 3px; Z-INDEX: 400; BACKGROUND: #fff; LEFT: 90px; = PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; WIDTH: 90px; = PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid; WHITE-SPACE: nowrap; = TOP: -4px; HEIGHT: auto } .menu2 :hover UL :hover UL :hover UL :hover UL { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 3px; Z-INDEX: 400; BACKGROUND: #fff; LEFT: 90px; = PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; WIDTH: 90px; = PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid; WHITE-SPACE: nowrap; = TOP: -4px; HEIGHT: auto } .menu2 :hover UL :hover UL :hover UL :hover UL :hover UL { BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: #ccc 1px = solid; PADDING-LEFT: 3px; Z-INDEX: 400; BACKGROUND: #fff; LEFT: 90px; = PADDING-BOTTOM: 3px; BORDER-LEFT: #ccc 1px solid; WIDTH: 90px; = PADDING-TOP: 3px; BORDER-BOTTOM: #ccc 1px solid; WHITE-SPACE: nowrap; = TOP: -4px; HEIGHT: auto } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/includes/modalbox1.6.0/modalbox.css #MB_overlay { Z-INDEX: 9999; LEFT: 0px; MARGIN: auto; WIDTH: 100%; POSITION: = absolute; TOP: 0px; HEIGHT: 100%; BACKGROUND-COLOR: #000! important } [id]#MB_overlay { POSITION: fixed } #MB_window { BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; Z-INDEX: 10000; = BORDER-LEFT: 0px solid; BORDER-BOTTOM: 0px solid; POSITION: absolute; = TOP: 0px; TEXT-ALIGN: left } [id]#MB_window { POSITION: fixed! important } #MB_frame { POSITION: relative; HEIGHT: 100%; BACKGROUND-COLOR: #efefef } #MB_header { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } #MB_content { PADDING-RIGHT: 0.75em; PADDING-LEFT: 0.75em; PADDING-BOTTOM: 6px; = OVERFLOW: auto; PADDING-TOP: 6px } #MB_caption { PADDING-RIGHT: 2em; PADDING-LEFT: 0.75em; PADDING-BOTTOM: 0.5em; = MARGIN: 0px; FONT: bold 100% "Lucida Grande", Arial, sans-serif; = PADDING-TOP: 0.5em; TEXT-ALIGN: left; text-shadow: #FFF 0 1px 0 } #MB_close { PADDING-RIGHT: 3px; DISPLAY: block; PADDING-LEFT: 3px; FONT-WEIGHT: = bold; FONT-SIZE: 13px; RIGHT: 5px; PADDING-BOTTOM: 2px; PADDING-TOP: = 2px; POSITION: absolute; TOP: 4px; TEXT-DECORATION: none } #MB_close:hover { BACKGROUND: none transparent scroll repeat 0% 0% } #MB_loading { PADDING-RIGHT: 1.5em; PADDING-LEFT: 1.5em; BACKGROUND: url(spinner.gif) = no-repeat 50% 0px; PADDING-BOTTOM: 1.5em; TEXT-INDENT: -10000px; = PADDING-TOP: 1.5em } #MB_frame { PADDING-BOTTOM: 7px; -moz-border-radius: 7px; -webkit-border-radius: = 7px; border-radius: 7px } #MB_window { COLOR: #000; BACKGROUND-COLOR: #efefef; -moz-border-radius: 7px; = -webkit-border-radius: 7px; border-radius: 7px; -webkit-box-shadow: 0 = 8px 64px #000; -moz-box-shadow: 0 0 64px #000; box-shadow: 0 0 64px #000 } #MB_content { BORDER-TOP: #f9f9f9 1px solid } #MB_header { BORDER-BOTTOM: #ccc 1px solid; BACKGROUND-COLOR: #ddd } #MB_caption { COLOR: #000 } #MB_close { COLOR: #777 } #MB_close:hover { COLOR: #000 } .MB_alert { MARGIN: 10px 0px; TEXT-ALIGN: center } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/includes/prototype/prototype.js /* Prototype JavaScript framework, version 1.6.0.3=0A= * (c) 2005-2008 Sam Stephenson=0A= *=0A= * Prototype is freely distributable under the terms of an MIT-style = license.=0A= * For details, see the Prototype web site: http://www.prototypejs.org/=0A= *=0A= = *------------------------------------------------------------------------= --*/=0A= =0A= var Prototype =3D {=0A= Version: '1.6.0.3',=0A= =0A= Browser: {=0A= IE: !!(window.attachEvent &&=0A= navigator.userAgent.indexOf('Opera') =3D=3D=3D -1),=0A= Opera: navigator.userAgent.indexOf('Opera') > -1,=0A= WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,=0A= Gecko: navigator.userAgent.indexOf('Gecko') > -1 &&=0A= navigator.userAgent.indexOf('KHTML') =3D=3D=3D -1,=0A= MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)=0A= },=0A= =0A= BrowserFeatures: {=0A= XPath: !!document.evaluate,=0A= SelectorsAPI: !!document.querySelector,=0A= ElementExtensions: !!window.HTMLElement,=0A= SpecificElementExtensions:=0A= document.createElement('div')['__proto__'] &&=0A= document.createElement('div')['__proto__'] !=3D=3D=0A= document.createElement('form')['__proto__']=0A= },=0A= =0A= ScriptFragment: '<script[^>]*>([\\S\\s]*?)<\/script>',=0A= JSONFilter: /^\/\*-secure-([\s\S]*)\*\/\s*$/,=0A= =0A= emptyFunction: function() { },=0A= K: function(x) { return x }=0A= };=0A= =0A= if (Prototype.Browser.MobileSafari)=0A= Prototype.BrowserFeatures.SpecificElementExtensions =3D false;=0A= =0A= =0A= /* Based on Alex Arnell's inheritance implementation. */=0A= var Class =3D {=0A= create: function() {=0A= var parent =3D null, properties =3D $A(arguments);=0A= if (Object.isFunction(properties[0]))=0A= parent =3D properties.shift();=0A= =0A= function klass() {=0A= this.initialize.apply(this, arguments);=0A= }=0A= =0A= Object.extend(klass, Class.Methods);=0A= klass.superclass =3D parent;=0A= klass.subclasses =3D [];=0A= =0A= if (parent) {=0A= var subclass =3D function() { };=0A= subclass.prototype =3D parent.prototype;=0A= klass.prototype =3D new subclass;=0A= parent.subclasses.push(klass);=0A= }=0A= =0A= for (var i =3D 0; i < properties.length; i++)=0A= klass.addMethods(properties[i]);=0A= =0A= if (!klass.prototype.initialize)=0A= klass.prototype.initialize =3D Prototype.emptyFunction;=0A= =0A= klass.prototype.constructor =3D klass;=0A= =0A= return klass;=0A= }=0A= };=0A= =0A= Class.Methods =3D {=0A= addMethods: function(source) {=0A= var ancestor =3D this.superclass && this.superclass.prototype;=0A= var properties =3D Object.keys(source);=0A= =0A= if (!Object.keys({ toString: true }).length)=0A= properties.push("toString", "valueOf");=0A= =0A= for (var i =3D 0, length =3D properties.length; i < length; i++) {=0A= var property =3D properties[i], value =3D source[property];=0A= if (ancestor && Object.isFunction(value) &&=0A= value.argumentNames().first() =3D=3D "$super") {=0A= var method =3D value;=0A= value =3D (function(m) {=0A= return function() { return ancestor[m].apply(this, arguments) = };=0A= })(property).wrap(method);=0A= =0A= value.valueOf =3D method.valueOf.bind(method);=0A= value.toString =3D method.toString.bind(method);=0A= }=0A= this.prototype[property] =3D value;=0A= }=0A= =0A= return this;=0A= }=0A= };=0A= =0A= var Abstract =3D { };=0A= =0A= Object.extend =3D function(destination, source) {=0A= for (var property in source)=0A= destination[property] =3D source[property];=0A= return destination;=0A= };=0A= =0A= Object.extend(Object, {=0A= inspect: function(object) {=0A= try {=0A= if (Object.isUndefined(object)) return 'undefined';=0A= if (object =3D=3D=3D null) return 'null';=0A= return object.inspect ? object.inspect() : String(object);=0A= } catch (e) {=0A= if (e instanceof RangeError) return '...';=0A= throw e;=0A= }=0A= },=0A= =0A= toJSON: function(object) {=0A= var type =3D typeof object;=0A= switch (type) {=0A= case 'undefined':=0A= case 'function':=0A= case 'unknown': return;=0A= case 'boolean': return object.toString();=0A= }=0A= =0A= if (object =3D=3D=3D null) return 'null';=0A= if (object.toJSON) return object.toJSON();=0A= if (Object.isElement(object)) return;=0A= =0A= var results =3D [];=0A= for (var property in object) {=0A= var value =3D Object.toJSON(object[property]);=0A= if (!Object.isUndefined(value))=0A= results.push(property.toJSON() + ': ' + value);=0A= }=0A= =0A= return '{' + results.join(', ') + '}';=0A= },=0A= =0A= toQueryString: function(object) {=0A= return $H(object).toQueryString();=0A= },=0A= =0A= toHTML: function(object) {=0A= return object && object.toHTML ? object.toHTML() : = String.interpret(object);=0A= },=0A= =0A= keys: function(object) {=0A= var keys =3D [];=0A= for (var property in object)=0A= keys.push(property);=0A= return keys;=0A= },=0A= =0A= values: function(object) {=0A= var values =3D [];=0A= for (var property in object)=0A= values.push(object[property]);=0A= return values;=0A= },=0A= =0A= clone: function(object) {=0A= return Object.extend({ }, object);=0A= },=0A= =0A= isElement: function(object) {=0A= return !!(object && object.nodeType =3D=3D 1);=0A= },=0A= =0A= isArray: function(object) {=0A= return object !=3D null && typeof object =3D=3D "object" &&=0A= 'splice' in object && 'join' in object;=0A= },=0A= =0A= isHash: function(object) {=0A= return object instanceof Hash;=0A= },=0A= =0A= isFunction: function(object) {=0A= return typeof object =3D=3D "function";=0A= },=0A= =0A= isString: function(object) {=0A= return typeof object =3D=3D "string";=0A= },=0A= =0A= isNumber: function(object) {=0A= return typeof object =3D=3D "number";=0A= },=0A= =0A= isUndefined: function(object) {=0A= return typeof object =3D=3D "undefined";=0A= }=0A= });=0A= =0A= Object.extend(Function.prototype, {=0A= argumentNames: function() {=0A= var names =3D = this.toString().match(/^[\s\(]*function[^(]*\(([^\)]*)\)/)[1]=0A= .replace(/\s+/g, '').split(',');=0A= return names.length =3D=3D 1 && !names[0] ? [] : names;=0A= },=0A= =0A= bind: function() {=0A= if (arguments.length < 2 && Object.isUndefined(arguments[0])) return = this;=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function() {=0A= return __method.apply(object, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= bindAsEventListener: function() {=0A= var __method =3D this, args =3D $A(arguments), object =3D = args.shift();=0A= return function(event) {=0A= return __method.apply(object, [event || = window.event].concat(args));=0A= }=0A= },=0A= =0A= curry: function() {=0A= if (!arguments.length) return this;=0A= var __method =3D this, args =3D $A(arguments);=0A= return function() {=0A= return __method.apply(this, args.concat($A(arguments)));=0A= }=0A= },=0A= =0A= delay: function() {=0A= var __method =3D this, args =3D $A(arguments), timeout =3D = args.shift() * 1000;=0A= return window.setTimeout(function() {=0A= return __method.apply(__method, args);=0A= }, timeout);=0A= },=0A= =0A= defer: function() {=0A= var args =3D [0.01].concat($A(arguments));=0A= return this.delay.apply(this, args);=0A= },=0A= =0A= wrap: function(wrapper) {=0A= var __method =3D this;=0A= return function() {=0A= return wrapper.apply(this, = [__method.bind(this)].concat($A(arguments)));=0A= }=0A= },=0A= =0A= methodize: function() {=0A= if (this._methodized) return this._methodized;=0A= var __method =3D this;=0A= return this._methodized =3D function() {=0A= return __method.apply(null, [this].concat($A(arguments)));=0A= };=0A= }=0A= });=0A= =0A= Date.prototype.toJSON =3D function() {=0A= return '"' + this.getUTCFullYear() + '-' +=0A= (this.getUTCMonth() + 1).toPaddedString(2) + '-' +=0A= this.getUTCDate().toPaddedString(2) + 'T' +=0A= this.getUTCHours().toPaddedString(2) + ':' +=0A= this.getUTCMinutes().toPaddedString(2) + ':' +=0A= this.getUTCSeconds().toPaddedString(2) + 'Z"';=0A= };=0A= =0A= var Try =3D {=0A= these: function() {=0A= var returnValue;=0A= =0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= var lambda =3D arguments[i];=0A= try {=0A= returnValue =3D lambda();=0A= break;=0A= } catch (e) { }=0A= }=0A= =0A= return returnValue;=0A= }=0A= };=0A= =0A= RegExp.prototype.match =3D RegExp.prototype.test;=0A= =0A= RegExp.escape =3D function(str) {=0A= return String(str).replace(/([.*+?^=3D!:${}()|[\]\/\\])/g, '\\$1');=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var PeriodicalExecuter =3D Class.create({=0A= initialize: function(callback, frequency) {=0A= this.callback =3D callback;=0A= this.frequency =3D frequency;=0A= this.currentlyExecuting =3D false;=0A= =0A= this.registerCallback();=0A= },=0A= =0A= registerCallback: function() {=0A= this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000);=0A= },=0A= =0A= execute: function() {=0A= this.callback(this);=0A= },=0A= =0A= stop: function() {=0A= if (!this.timer) return;=0A= clearInterval(this.timer);=0A= this.timer =3D null;=0A= },=0A= =0A= onTimerEvent: function() {=0A= if (!this.currentlyExecuting) {=0A= try {=0A= this.currentlyExecuting =3D true;=0A= this.execute();=0A= } finally {=0A= this.currentlyExecuting =3D false;=0A= }=0A= }=0A= }=0A= });=0A= Object.extend(String, {=0A= interpret: function(value) {=0A= return value =3D=3D null ? '' : String(value);=0A= },=0A= specialChar: {=0A= '\b': '\\b',=0A= '\t': '\\t',=0A= '\n': '\\n',=0A= '\f': '\\f',=0A= '\r': '\\r',=0A= '\\': '\\\\'=0A= }=0A= });=0A= =0A= Object.extend(String.prototype, {=0A= gsub: function(pattern, replacement) {=0A= var result =3D '', source =3D this, match;=0A= replacement =3D arguments.callee.prepareReplacement(replacement);=0A= =0A= while (source.length > 0) {=0A= if (match =3D source.match(pattern)) {=0A= result +=3D source.slice(0, match.index);=0A= result +=3D String.interpret(replacement(match));=0A= source =3D source.slice(match.index + match[0].length);=0A= } else {=0A= result +=3D source, source =3D '';=0A= }=0A= }=0A= return result;=0A= },=0A= =0A= sub: function(pattern, replacement, count) {=0A= replacement =3D this.gsub.prepareReplacement(replacement);=0A= count =3D Object.isUndefined(count) ? 1 : count;=0A= =0A= return this.gsub(pattern, function(match) {=0A= if (--count < 0) return match[0];=0A= return replacement(match);=0A= });=0A= },=0A= =0A= scan: function(pattern, iterator) {=0A= this.gsub(pattern, iterator);=0A= return String(this);=0A= },=0A= =0A= truncate: function(length, truncation) {=0A= length =3D length || 30;=0A= truncation =3D Object.isUndefined(truncation) ? '...' : truncation;=0A= return this.length > length ?=0A= this.slice(0, length - truncation.length) + truncation : = String(this);=0A= },=0A= =0A= strip: function() {=0A= return this.replace(/^\s+/, '').replace(/\s+$/, '');=0A= },=0A= =0A= stripTags: function() {=0A= return this.replace(/<\/?[^>]+>/gi, '');=0A= },=0A= =0A= stripScripts: function() {=0A= return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), '');=0A= },=0A= =0A= extractScripts: function() {=0A= var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img');=0A= var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im');=0A= return (this.match(matchAll) || []).map(function(scriptTag) {=0A= return (scriptTag.match(matchOne) || ['', ''])[1];=0A= });=0A= },=0A= =0A= evalScripts: function() {=0A= return this.extractScripts().map(function(script) { return = eval(script) });=0A= },=0A= =0A= escapeHTML: function() {=0A= var self =3D arguments.callee;=0A= self.text.data =3D this;=0A= return self.div.innerHTML;=0A= },=0A= =0A= unescapeHTML: function() {=0A= var div =3D new Element('div');=0A= div.innerHTML =3D this.stripTags();=0A= return div.childNodes[0] ? (div.childNodes.length > 1 ?=0A= $A(div.childNodes).inject('', function(memo, node) { return = memo+node.nodeValue }) :=0A= div.childNodes[0].nodeValue) : '';=0A= },=0A= =0A= toQueryParams: function(separator) {=0A= var match =3D this.strip().match(/([^?#]*)(#.*)?$/);=0A= if (!match) return { };=0A= =0A= return match[1].split(separator || '&').inject({ }, function(hash, = pair) {=0A= if ((pair =3D pair.split('=3D'))[0]) {=0A= var key =3D decodeURIComponent(pair.shift());=0A= var value =3D pair.length > 1 ? pair.join('=3D') : pair[0];=0A= if (value !=3D undefined) value =3D decodeURIComponent(value);=0A= =0A= if (key in hash) {=0A= if (!Object.isArray(hash[key])) hash[key] =3D [hash[key]];=0A= hash[key].push(value);=0A= }=0A= else hash[key] =3D value;=0A= }=0A= return hash;=0A= });=0A= },=0A= =0A= toArray: function() {=0A= return this.split('');=0A= },=0A= =0A= succ: function() {=0A= return this.slice(0, this.length - 1) +=0A= String.fromCharCode(this.charCodeAt(this.length - 1) + 1);=0A= },=0A= =0A= times: function(count) {=0A= return count < 1 ? '' : new Array(count + 1).join(this);=0A= },=0A= =0A= camelize: function() {=0A= var parts =3D this.split('-'), len =3D parts.length;=0A= if (len =3D=3D 1) return parts[0];=0A= =0A= var camelized =3D this.charAt(0) =3D=3D '-'=0A= ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1)=0A= : parts[0];=0A= =0A= for (var i =3D 1; i < len; i++)=0A= camelized +=3D parts[i].charAt(0).toUpperCase() + = parts[i].substring(1);=0A= =0A= return camelized;=0A= },=0A= =0A= capitalize: function() {=0A= return this.charAt(0).toUpperCase() + = this.substring(1).toLowerCase();=0A= },=0A= =0A= underscore: function() {=0A= return this.gsub(/::/, = '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{= 1}_#{2}').gsub(/-/,'_').toLowerCase();=0A= },=0A= =0A= dasherize: function() {=0A= return this.gsub(/_/,'-');=0A= },=0A= =0A= inspect: function(useDoubleQuotes) {=0A= var escapedString =3D this.gsub(/[\x00-\x1f\\]/, function(match) {=0A= var character =3D String.specialChar[match[0]];=0A= return character ? character : '\\u00' + = match[0].charCodeAt().toPaddedString(2, 16);=0A= });=0A= if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') = + '"';=0A= return "'" + escapedString.replace(/'/g, '\\\'') + "'";=0A= },=0A= =0A= toJSON: function() {=0A= return this.inspect(true);=0A= },=0A= =0A= unfilterJSON: function(filter) {=0A= return this.sub(filter || Prototype.JSONFilter, '#{1}');=0A= },=0A= =0A= isJSON: function() {=0A= var str =3D this;=0A= if (str.blank()) return false;=0A= str =3D this.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, '');=0A= return (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(str);=0A= },=0A= =0A= evalJSON: function(sanitize) {=0A= var json =3D this.unfilterJSON();=0A= try {=0A= if (!sanitize || json.isJSON()) return eval('(' + json + ')');=0A= } catch (e) { }=0A= throw new SyntaxError('Badly formed JSON string: ' + this.inspect());=0A= },=0A= =0A= include: function(pattern) {=0A= return this.indexOf(pattern) > -1;=0A= },=0A= =0A= startsWith: function(pattern) {=0A= return this.indexOf(pattern) =3D=3D=3D 0;=0A= },=0A= =0A= endsWith: function(pattern) {=0A= var d =3D this.length - pattern.length;=0A= return d >=3D 0 && this.lastIndexOf(pattern) =3D=3D=3D d;=0A= },=0A= =0A= empty: function() {=0A= return this =3D=3D '';=0A= },=0A= =0A= blank: function() {=0A= return /^\s*$/.test(this);=0A= },=0A= =0A= interpolate: function(object, pattern) {=0A= return new Template(this, pattern).evaluate(object);=0A= }=0A= });=0A= =0A= if (Prototype.Browser.WebKit || Prototype.Browser.IE) = Object.extend(String.prototype, {=0A= escapeHTML: function() {=0A= return = this.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');=0A= },=0A= unescapeHTML: function() {=0A= return = this.stripTags().replace(/&amp;/g,'&').replace(/&lt;/g,'<').replace(/&gt;= /g,'>');=0A= }=0A= });=0A= =0A= String.prototype.gsub.prepareReplacement =3D function(replacement) {=0A= if (Object.isFunction(replacement)) return replacement;=0A= var template =3D new Template(replacement);=0A= return function(match) { return template.evaluate(match) };=0A= };=0A= =0A= String.prototype.parseQuery =3D String.prototype.toQueryParams;=0A= =0A= Object.extend(String.prototype.escapeHTML, {=0A= div: document.createElement('div'),=0A= text: document.createTextNode('')=0A= });=0A= =0A= String.prototype.escapeHTML.div.appendChild(String.prototype.escapeHTML.t= ext);=0A= =0A= var Template =3D Class.create({=0A= initialize: function(template, pattern) {=0A= this.template =3D template.toString();=0A= this.pattern =3D pattern || Template.Pattern;=0A= },=0A= =0A= evaluate: function(object) {=0A= if (Object.isFunction(object.toTemplateReplacements))=0A= object =3D object.toTemplateReplacements();=0A= =0A= return this.template.gsub(this.pattern, function(match) {=0A= if (object =3D=3D null) return '';=0A= =0A= var before =3D match[1] || '';=0A= if (before =3D=3D '\\') return match[2];=0A= =0A= var ctx =3D object, expr =3D match[3];=0A= var pattern =3D /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/;=0A= match =3D pattern.exec(expr);=0A= if (match =3D=3D null) return before;=0A= =0A= while (match !=3D null) {=0A= var comp =3D match[1].startsWith('[') ? match[2].gsub('\\\\]', = ']') : match[1];=0A= ctx =3D ctx[comp];=0A= if (null =3D=3D ctx || '' =3D=3D match[3]) break;=0A= expr =3D expr.substring('[' =3D=3D match[3] ? match[1].length : = match[0].length);=0A= match =3D pattern.exec(expr);=0A= }=0A= =0A= return before + String.interpret(ctx);=0A= });=0A= }=0A= });=0A= Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/;=0A= =0A= var $break =3D { };=0A= =0A= var Enumerable =3D {=0A= each: function(iterator, context) {=0A= var index =3D 0;=0A= try {=0A= this._each(function(value) {=0A= iterator.call(context, value, index++);=0A= });=0A= } catch (e) {=0A= if (e !=3D $break) throw e;=0A= }=0A= return this;=0A= },=0A= =0A= eachSlice: function(number, iterator, context) {=0A= var index =3D -number, slices =3D [], array =3D this.toArray();=0A= if (number < 1) return array;=0A= while ((index +=3D number) < array.length)=0A= slices.push(array.slice(index, index+number));=0A= return slices.collect(iterator, context);=0A= },=0A= =0A= all: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result =3D true;=0A= this.each(function(value, index) {=0A= result =3D result && !!iterator.call(context, value, index);=0A= if (!result) throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= any: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result =3D false;=0A= this.each(function(value, index) {=0A= if (result =3D !!iterator.call(context, value, index))=0A= throw $break;=0A= });=0A= return result;=0A= },=0A= =0A= collect: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= results.push(iterator.call(context, value, index));=0A= });=0A= return results;=0A= },=0A= =0A= detect: function(iterator, context) {=0A= var result;=0A= this.each(function(value, index) {=0A= if (iterator.call(context, value, index)) {=0A= result =3D value;=0A= throw $break;=0A= }=0A= });=0A= return result;=0A= },=0A= =0A= findAll: function(iterator, context) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (iterator.call(context, value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= grep: function(filter, iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var results =3D [];=0A= =0A= if (Object.isString(filter))=0A= filter =3D new RegExp(filter);=0A= =0A= this.each(function(value, index) {=0A= if (filter.match(value))=0A= results.push(iterator.call(context, value, index));=0A= });=0A= return results;=0A= },=0A= =0A= include: function(object) {=0A= if (Object.isFunction(this.indexOf))=0A= if (this.indexOf(object) !=3D -1) return true;=0A= =0A= var found =3D false;=0A= this.each(function(value) {=0A= if (value =3D=3D object) {=0A= found =3D true;=0A= throw $break;=0A= }=0A= });=0A= return found;=0A= },=0A= =0A= inGroupsOf: function(number, fillWith) {=0A= fillWith =3D Object.isUndefined(fillWith) ? null : fillWith;=0A= return this.eachSlice(number, function(slice) {=0A= while(slice.length < number) slice.push(fillWith);=0A= return slice;=0A= });=0A= },=0A= =0A= inject: function(memo, iterator, context) {=0A= this.each(function(value, index) {=0A= memo =3D iterator.call(context, memo, value, index);=0A= });=0A= return memo;=0A= },=0A= =0A= invoke: function(method) {=0A= var args =3D $A(arguments).slice(1);=0A= return this.map(function(value) {=0A= return value[method].apply(value, args);=0A= });=0A= },=0A= =0A= max: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator.call(context, value, index);=0A= if (result =3D=3D null || value >=3D result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= min: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var result;=0A= this.each(function(value, index) {=0A= value =3D iterator.call(context, value, index);=0A= if (result =3D=3D null || value < result)=0A= result =3D value;=0A= });=0A= return result;=0A= },=0A= =0A= partition: function(iterator, context) {=0A= iterator =3D iterator || Prototype.K;=0A= var trues =3D [], falses =3D [];=0A= this.each(function(value, index) {=0A= (iterator.call(context, value, index) ?=0A= trues : falses).push(value);=0A= });=0A= return [trues, falses];=0A= },=0A= =0A= pluck: function(property) {=0A= var results =3D [];=0A= this.each(function(value) {=0A= results.push(value[property]);=0A= });=0A= return results;=0A= },=0A= =0A= reject: function(iterator, context) {=0A= var results =3D [];=0A= this.each(function(value, index) {=0A= if (!iterator.call(context, value, index))=0A= results.push(value);=0A= });=0A= return results;=0A= },=0A= =0A= sortBy: function(iterator, context) {=0A= return this.map(function(value, index) {=0A= return {=0A= value: value,=0A= criteria: iterator.call(context, value, index)=0A= };=0A= }).sort(function(left, right) {=0A= var a =3D left.criteria, b =3D right.criteria;=0A= return a < b ? -1 : a > b ? 1 : 0;=0A= }).pluck('value');=0A= },=0A= =0A= toArray: function() {=0A= return this.map();=0A= },=0A= =0A= zip: function() {=0A= var iterator =3D Prototype.K, args =3D $A(arguments);=0A= if (Object.isFunction(args.last()))=0A= iterator =3D args.pop();=0A= =0A= var collections =3D [this].concat(args).map($A);=0A= return this.map(function(value, index) {=0A= return iterator(collections.pluck(index));=0A= });=0A= },=0A= =0A= size: function() {=0A= return this.toArray().length;=0A= },=0A= =0A= inspect: function() {=0A= return '#<Enumerable:' + this.toArray().inspect() + '>';=0A= }=0A= };=0A= =0A= Object.extend(Enumerable, {=0A= map: Enumerable.collect,=0A= find: Enumerable.detect,=0A= select: Enumerable.findAll,=0A= filter: Enumerable.findAll,=0A= member: Enumerable.include,=0A= entries: Enumerable.toArray,=0A= every: Enumerable.all,=0A= some: Enumerable.any=0A= });=0A= function $A(iterable) {=0A= if (!iterable) return [];=0A= if (iterable.toArray) return iterable.toArray();=0A= var length =3D iterable.length || 0, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= }=0A= =0A= if (Prototype.Browser.WebKit) {=0A= $A =3D function(iterable) {=0A= if (!iterable) return [];=0A= // In Safari, only use the `toArray` method if it's not a NodeList.=0A= // A NodeList is a function, has an function `item` property, and a = numeric=0A= // `length` property. Adapted from Google Doctype.=0A= if (!(typeof iterable =3D=3D=3D 'function' && typeof iterable.length = =3D=3D=3D=0A= 'number' && typeof iterable.item =3D=3D=3D 'function') && = iterable.toArray)=0A= return iterable.toArray();=0A= var length =3D iterable.length || 0, results =3D new Array(length);=0A= while (length--) results[length] =3D iterable[length];=0A= return results;=0A= };=0A= }=0A= =0A= Array.from =3D $A;=0A= =0A= Object.extend(Array.prototype, Enumerable);=0A= =0A= if (!Array.prototype._reverse) Array.prototype._reverse =3D = Array.prototype.reverse;=0A= =0A= Object.extend(Array.prototype, {=0A= _each: function(iterator) {=0A= for (var i =3D 0, length =3D this.length; i < length; i++)=0A= iterator(this[i]);=0A= },=0A= =0A= clear: function() {=0A= this.length =3D 0;=0A= return this;=0A= },=0A= =0A= first: function() {=0A= return this[0];=0A= },=0A= =0A= last: function() {=0A= return this[this.length - 1];=0A= },=0A= =0A= compact: function() {=0A= return this.select(function(value) {=0A= return value !=3D null;=0A= });=0A= },=0A= =0A= flatten: function() {=0A= return this.inject([], function(array, value) {=0A= return array.concat(Object.isArray(value) ?=0A= value.flatten() : [value]);=0A= });=0A= },=0A= =0A= without: function() {=0A= var values =3D $A(arguments);=0A= return this.select(function(value) {=0A= return !values.include(value);=0A= });=0A= },=0A= =0A= reverse: function(inline) {=0A= return (inline !=3D=3D false ? this : this.toArray())._reverse();=0A= },=0A= =0A= reduce: function() {=0A= return this.length > 1 ? this : this[0];=0A= },=0A= =0A= uniq: function(sorted) {=0A= return this.inject([], function(array, value, index) {=0A= if (0 =3D=3D index || (sorted ? array.last() !=3D value : = !array.include(value)))=0A= array.push(value);=0A= return array;=0A= });=0A= },=0A= =0A= intersect: function(array) {=0A= return this.uniq().findAll(function(item) {=0A= return array.detect(function(value) { return item =3D=3D=3D value = });=0A= });=0A= },=0A= =0A= clone: function() {=0A= return [].concat(this);=0A= },=0A= =0A= size: function() {=0A= return this.length;=0A= },=0A= =0A= inspect: function() {=0A= return '[' + this.map(Object.inspect).join(', ') + ']';=0A= },=0A= =0A= toJSON: function() {=0A= var results =3D [];=0A= this.each(function(object) {=0A= var value =3D Object.toJSON(object);=0A= if (!Object.isUndefined(value)) results.push(value);=0A= });=0A= return '[' + results.join(', ') + ']';=0A= }=0A= });=0A= =0A= // use native browser JS 1.6 implementation if available=0A= if (Object.isFunction(Array.prototype.forEach))=0A= Array.prototype._each =3D Array.prototype.forEach;=0A= =0A= if (!Array.prototype.indexOf) Array.prototype.indexOf =3D function(item, = i) {=0A= i || (i =3D 0);=0A= var length =3D this.length;=0A= if (i < 0) i =3D length + i;=0A= for (; i < length; i++)=0A= if (this[i] =3D=3D=3D item) return i;=0A= return -1;=0A= };=0A= =0A= if (!Array.prototype.lastIndexOf) Array.prototype.lastIndexOf =3D = function(item, i) {=0A= i =3D isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1;=0A= var n =3D this.slice(0, i).reverse().indexOf(item);=0A= return (n < 0) ? n : i - n - 1;=0A= };=0A= =0A= Array.prototype.toArray =3D Array.prototype.clone;=0A= =0A= function $w(string) {=0A= if (!Object.isString(string)) return [];=0A= string =3D string.strip();=0A= return string ? string.split(/\s+/) : [];=0A= }=0A= =0A= if (Prototype.Browser.Opera){=0A= Array.prototype.concat =3D function() {=0A= var array =3D [];=0A= for (var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]);=0A= for (var i =3D 0, length =3D arguments.length; i < length; i++) {=0A= if (Object.isArray(arguments[i])) {=0A= for (var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++)=0A= array.push(arguments[i][j]);=0A= } else {=0A= array.push(arguments[i]);=0A= }=0A= }=0A= return array;=0A= };=0A= }=0A= Object.extend(Number.prototype, {=0A= toColorPart: function() {=0A= return this.toPaddedString(2, 16);=0A= },=0A= =0A= succ: function() {=0A= return this + 1;=0A= },=0A= =0A= times: function(iterator, context) {=0A= $R(0, this, true).each(iterator, context);=0A= return this;=0A= },=0A= =0A= toPaddedString: function(length, radix) {=0A= var string =3D this.toString(radix || 10);=0A= return '0'.times(length - string.length) + string;=0A= },=0A= =0A= toJSON: function() {=0A= return isFinite(this) ? this.toString() : 'null';=0A= }=0A= });=0A= =0A= $w('abs round ceil floor').each(function(method){=0A= Number.prototype[method] =3D Math[method].methodize();=0A= });=0A= function $H(object) {=0A= return new Hash(object);=0A= };=0A= =0A= var Hash =3D Class.create(Enumerable, (function() {=0A= =0A= function toQueryPair(key, value) {=0A= if (Object.isUndefined(value)) return key;=0A= return key + '=3D' + encodeURIComponent(String.interpret(value));=0A= }=0A= =0A= return {=0A= initialize: function(object) {=0A= this._object =3D Object.isHash(object) ? object.toObject() : = Object.clone(object);=0A= },=0A= =0A= _each: function(iterator) {=0A= for (var key in this._object) {=0A= var value =3D this._object[key], pair =3D [key, value];=0A= pair.key =3D key;=0A= pair.value =3D value;=0A= iterator(pair);=0A= }=0A= },=0A= =0A= set: function(key, value) {=0A= return this._object[key] =3D value;=0A= },=0A= =0A= get: function(key) {=0A= // simulating poorly supported hasOwnProperty=0A= if (this._object[key] !=3D=3D Object.prototype[key])=0A= return this._object[key];=0A= },=0A= =0A= unset: function(key) {=0A= var value =3D this._object[key];=0A= delete this._object[key];=0A= return value;=0A= },=0A= =0A= toObject: function() {=0A= return Object.clone(this._object);=0A= },=0A= =0A= keys: function() {=0A= return this.pluck('key');=0A= },=0A= =0A= values: function() {=0A= return this.pluck('value');=0A= },=0A= =0A= index: function(value) {=0A= var match =3D this.detect(function(pair) {=0A= return pair.value =3D=3D=3D value;=0A= });=0A= return match && match.key;=0A= },=0A= =0A= merge: function(object) {=0A= return this.clone().update(object);=0A= },=0A= =0A= update: function(object) {=0A= return new Hash(object).inject(this, function(result, pair) {=0A= result.set(pair.key, pair.value);=0A= return result;=0A= });=0A= },=0A= =0A= toQueryString: function() {=0A= return this.inject([], function(results, pair) {=0A= var key =3D encodeURIComponent(pair.key), values =3D pair.value;=0A= =0A= if (values && typeof values =3D=3D 'object') {=0A= if (Object.isArray(values))=0A= return results.concat(values.map(toQueryPair.curry(key)));=0A= } else results.push(toQueryPair(key, values));=0A= return results;=0A= }).join('&');=0A= },=0A= =0A= inspect: function() {=0A= return '#<Hash:{' + this.map(function(pair) {=0A= return pair.map(Object.inspect).join(': ');=0A= }).join(', ') + '}>';=0A= },=0A= =0A= toJSON: function() {=0A= return Object.toJSON(this.toObject());=0A= },=0A= =0A= clone: function() {=0A= return new Hash(this);=0A= }=0A= }=0A= })());=0A= =0A= Hash.prototype.toTemplateReplacements =3D Hash.prototype.toObject;=0A= Hash.from =3D $H;=0A= var ObjectRange =3D Class.create(Enumerable, {=0A= initialize: function(start, end, exclusive) {=0A= this.start =3D start;=0A= this.end =3D end;=0A= this.exclusive =3D exclusive;=0A= },=0A= =0A= _each: function(iterator) {=0A= var value =3D this.start;=0A= while (this.include(value)) {=0A= iterator(value);=0A= value =3D value.succ();=0A= }=0A= },=0A= =0A= include: function(value) {=0A= if (value < this.start)=0A= return false;=0A= if (this.exclusive)=0A= return value < this.end;=0A= return value <=3D this.end;=0A= }=0A= });=0A= =0A= var $R =3D function(start, end, exclusive) {=0A= return new ObjectRange(start, end, exclusive);=0A= };=0A= =0A= var Ajax =3D {=0A= getTransport: function() {=0A= return Try.these(=0A= function() {return new XMLHttpRequest()},=0A= function() {return new ActiveXObject('Msxml2.XMLHTTP')},=0A= function() {return new ActiveXObject('Microsoft.XMLHTTP')}=0A= ) || false;=0A= },=0A= =0A= activeRequestCount: 0=0A= };=0A= =0A= Ajax.Responders =3D {=0A= responders: [],=0A= =0A= _each: function(iterator) {=0A= this.responders._each(iterator);=0A= },=0A= =0A= register: function(responder) {=0A= if (!this.include(responder))=0A= this.responders.push(responder);=0A= },=0A= =0A= unregister: function(responder) {=0A= this.responders =3D this.responders.without(responder);=0A= },=0A= =0A= dispatch: function(callback, request, transport, json) {=0A= this.each(function(responder) {=0A= if (Object.isFunction(responder[callback])) {=0A= try {=0A= responder[callback].apply(responder, [request, transport, = json]);=0A= } catch (e) { }=0A= }=0A= });=0A= }=0A= };=0A= =0A= Object.extend(Ajax.Responders, Enumerable);=0A= =0A= Ajax.Responders.register({=0A= onCreate: function() { Ajax.activeRequestCount++ },=0A= onComplete: function() { Ajax.activeRequestCount-- }=0A= });=0A= =0A= Ajax.Base =3D Class.create({=0A= initialize: function(options) {=0A= this.options =3D {=0A= method: 'post',=0A= asynchronous: true,=0A= contentType: 'application/x-www-form-urlencoded',=0A= encoding: 'UTF-8',=0A= parameters: '',=0A= evalJSON: true,=0A= evalJS: true=0A= };=0A= Object.extend(this.options, options || { });=0A= =0A= this.options.method =3D this.options.method.toLowerCase();=0A= =0A= if (Object.isString(this.options.parameters))=0A= this.options.parameters =3D = this.options.parameters.toQueryParams();=0A= else if (Object.isHash(this.options.parameters))=0A= this.options.parameters =3D this.options.parameters.toObject();=0A= }=0A= });=0A= =0A= Ajax.Request =3D Class.create(Ajax.Base, {=0A= _complete: false,=0A= =0A= initialize: function($super, url, options) {=0A= $super(options);=0A= this.transport =3D Ajax.getTransport();=0A= this.request(url);=0A= },=0A= =0A= request: function(url) {=0A= this.url =3D url;=0A= this.method =3D this.options.method;=0A= var params =3D Object.clone(this.options.parameters);=0A= =0A= if (!['get', 'post'].include(this.method)) {=0A= // simulate other verbs over post=0A= params['_method'] =3D this.method;=0A= this.method =3D 'post';=0A= }=0A= =0A= this.parameters =3D params;=0A= =0A= if (params =3D Object.toQueryString(params)) {=0A= // when GET, append parameters to URL=0A= if (this.method =3D=3D 'get')=0A= this.url +=3D (this.url.include('?') ? '&' : '?') + params;=0A= else if (/Konqueror|Safari|KHTML/.test(navigator.userAgent))=0A= params +=3D '&_=3D';=0A= }=0A= =0A= try {=0A= var response =3D new Ajax.Response(this);=0A= if (this.options.onCreate) this.options.onCreate(response);=0A= Ajax.Responders.dispatch('onCreate', this, response);=0A= =0A= this.transport.open(this.method.toUpperCase(), this.url,=0A= this.options.asynchronous);=0A= =0A= if (this.options.asynchronous) = this.respondToReadyState.bind(this).defer(1);=0A= =0A= this.transport.onreadystatechange =3D = this.onStateChange.bind(this);=0A= this.setRequestHeaders();=0A= =0A= this.body =3D this.method =3D=3D 'post' ? (this.options.postBody = || params) : null;=0A= this.transport.send(this.body);=0A= =0A= /* Force Firefox to handle ready state 4 for synchronous requests = */=0A= if (!this.options.asynchronous && this.transport.overrideMimeType)=0A= this.onStateChange();=0A= =0A= }=0A= catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= onStateChange: function() {=0A= var readyState =3D this.transport.readyState;=0A= if (readyState > 1 && !((readyState =3D=3D 4) && this._complete))=0A= this.respondToReadyState(this.transport.readyState);=0A= },=0A= =0A= setRequestHeaders: function() {=0A= var headers =3D {=0A= 'X-Requested-With': 'XMLHttpRequest',=0A= 'X-Prototype-Version': Prototype.Version,=0A= 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*'=0A= };=0A= =0A= if (this.method =3D=3D 'post') {=0A= headers['Content-type'] =3D this.options.contentType +=0A= (this.options.encoding ? '; charset=3D' + this.options.encoding = : '');=0A= =0A= /* Force "Connection: close" for older Mozilla browsers to work=0A= * around a bug where XMLHttpRequest sends an incorrect=0A= * Content-length header. See Mozilla Bugzilla #246651.=0A= */=0A= if (this.transport.overrideMimeType &&=0A= (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005)=0A= headers['Connection'] =3D 'close';=0A= }=0A= =0A= // user-defined headers=0A= if (typeof this.options.requestHeaders =3D=3D 'object') {=0A= var extras =3D this.options.requestHeaders;=0A= =0A= if (Object.isFunction(extras.push))=0A= for (var i =3D 0, length =3D extras.length; i < length; i +=3D 2)=0A= headers[extras[i]] =3D extras[i+1];=0A= else=0A= $H(extras).each(function(pair) { headers[pair.key] =3D = pair.value });=0A= }=0A= =0A= for (var name in headers)=0A= this.transport.setRequestHeader(name, headers[name]);=0A= },=0A= =0A= success: function() {=0A= var status =3D this.getStatus();=0A= return !status || (status >=3D 200 && status < 300);=0A= },=0A= =0A= getStatus: function() {=0A= try {=0A= return this.transport.status || 0;=0A= } catch (e) { return 0 }=0A= },=0A= =0A= respondToReadyState: function(readyState) {=0A= var state =3D Ajax.Request.Events[readyState], response =3D new = Ajax.Response(this);=0A= =0A= if (state =3D=3D 'Complete') {=0A= try {=0A= this._complete =3D true;=0A= (this.options['on' + response.status]=0A= || this.options['on' + (this.success() ? 'Success' : 'Failure')]=0A= || Prototype.emptyFunction)(response, response.headerJSON);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= var contentType =3D response.getHeader('Content-type');=0A= if (this.options.evalJS =3D=3D 'force'=0A= || (this.options.evalJS && this.isSameOrigin() && contentType=0A= && = contentType.match(/^\s*(text|application)\/(x-)?(java|ecma)script(;.*)?\s= *$/i)))=0A= this.evalResponse();=0A= }=0A= =0A= try {=0A= (this.options['on' + state] || Prototype.emptyFunction)(response, = response.headerJSON);=0A= Ajax.Responders.dispatch('on' + state, this, response, = response.headerJSON);=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= =0A= if (state =3D=3D 'Complete') {=0A= // avoid memory leak in MSIE: clean up=0A= this.transport.onreadystatechange =3D Prototype.emptyFunction;=0A= }=0A= },=0A= =0A= isSameOrigin: function() {=0A= var m =3D this.url.match(/^\s*https?:\/\/[^\/]*/);=0A= return !m || (m[0] =3D=3D = '#{protocol}//#{domain}#{port}'.interpolate({=0A= protocol: location.protocol,=0A= domain: document.domain,=0A= port: location.port ? ':' + location.port : ''=0A= }));=0A= },=0A= =0A= getHeader: function(name) {=0A= try {=0A= return this.transport.getResponseHeader(name) || null;=0A= } catch (e) { return null }=0A= },=0A= =0A= evalResponse: function() {=0A= try {=0A= return eval((this.transport.responseText || '').unfilterJSON());=0A= } catch (e) {=0A= this.dispatchException(e);=0A= }=0A= },=0A= =0A= dispatchException: function(exception) {=0A= (this.options.onException || Prototype.emptyFunction)(this, = exception);=0A= Ajax.Responders.dispatch('onException', this, exception);=0A= }=0A= });=0A= =0A= Ajax.Request.Events =3D=0A= ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];=0A= =0A= Ajax.Response =3D Class.create({=0A= initialize: function(request){=0A= this.request =3D request;=0A= var transport =3D this.transport =3D request.transport,=0A= readyState =3D this.readyState =3D transport.readyState;=0A= =0A= if((readyState > 2 && !Prototype.Browser.IE) || readyState =3D=3D 4) = {=0A= this.status =3D this.getStatus();=0A= this.statusText =3D this.getStatusText();=0A= this.responseText =3D String.interpret(transport.responseText);=0A= this.headerJSON =3D this._getHeaderJSON();=0A= }=0A= =0A= if(readyState =3D=3D 4) {=0A= var xml =3D transport.responseXML;=0A= this.responseXML =3D Object.isUndefined(xml) ? null : xml;=0A= this.responseJSON =3D this._getResponseJSON();=0A= }=0A= },=0A= =0A= status: 0,=0A= statusText: '',=0A= =0A= getStatus: Ajax.Request.prototype.getStatus,=0A= =0A= getStatusText: function() {=0A= try {=0A= return this.transport.statusText || '';=0A= } catch (e) { return '' }=0A= },=0A= =0A= getHeader: Ajax.Request.prototype.getHeader,=0A= =0A= getAllHeaders: function() {=0A= try {=0A= return this.getAllResponseHeaders();=0A= } catch (e) { return null }=0A= },=0A= =0A= getResponseHeader: function(name) {=0A= return this.transport.getResponseHeader(name);=0A= },=0A= =0A= getAllResponseHeaders: function() {=0A= return this.transport.getAllResponseHeaders();=0A= },=0A= =0A= _getHeaderJSON: function() {=0A= var json =3D this.getHeader('X-JSON');=0A= if (!json) return null;=0A= json =3D decodeURIComponent(escape(json));=0A= try {=0A= return json.evalJSON(this.request.options.sanitizeJSON ||=0A= !this.request.isSameOrigin());=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= },=0A= =0A= _getResponseJSON: function() {=0A= var options =3D this.request.options;=0A= if (!options.evalJSON || (options.evalJSON !=3D 'force' &&=0A= !(this.getHeader('Content-type') || = '').include('application/json')) ||=0A= this.responseText.blank())=0A= return null;=0A= try {=0A= return this.responseText.evalJSON(options.sanitizeJSON ||=0A= !this.request.isSameOrigin());=0A= } catch (e) {=0A= this.request.dispatchException(e);=0A= }=0A= }=0A= });=0A= =0A= Ajax.Updater =3D Class.create(Ajax.Request, {=0A= initialize: function($super, container, url, options) {=0A= this.container =3D {=0A= success: (container.success || container),=0A= failure: (container.failure || (container.success ? null : = container))=0A= };=0A= =0A= options =3D Object.clone(options);=0A= var onComplete =3D options.onComplete;=0A= options.onComplete =3D (function(response, json) {=0A= this.updateContent(response.responseText);=0A= if (Object.isFunction(onComplete)) onComplete(response, json);=0A= }).bind(this);=0A= =0A= $super(url, options);=0A= },=0A= =0A= updateContent: function(responseText) {=0A= var receiver =3D this.container[this.success() ? 'success' : = 'failure'],=0A= options =3D this.options;=0A= =0A= if (!options.evalScripts) responseText =3D = responseText.stripScripts();=0A= =0A= if (receiver =3D $(receiver)) {=0A= if (options.insertion) {=0A= if (Object.isString(options.insertion)) {=0A= var insertion =3D { }; insertion[options.insertion] =3D = responseText;=0A= receiver.insert(insertion);=0A= }=0A= else options.insertion(receiver, responseText);=0A= }=0A= else receiver.update(responseText);=0A= }=0A= }=0A= });=0A= =0A= Ajax.PeriodicalUpdater =3D Class.create(Ajax.Base, {=0A= initialize: function($super, container, url, options) {=0A= $super(options);=0A= this.onComplete =3D this.options.onComplete;=0A= =0A= this.frequency =3D (this.options.frequency || 2);=0A= this.decay =3D (this.options.decay || 1);=0A= =0A= this.updater =3D { };=0A= this.container =3D container;=0A= this.url =3D url;=0A= =0A= this.start();=0A= },=0A= =0A= start: function() {=0A= this.options.onComplete =3D this.updateComplete.bind(this);=0A= this.onTimerEvent();=0A= },=0A= =0A= stop: function() {=0A= this.updater.options.onComplete =3D undefined;=0A= clearTimeout(this.timer);=0A= (this.onComplete || Prototype.emptyFunction).apply(this, arguments);=0A= },=0A= =0A= updateComplete: function(response) {=0A= if (this.options.decay) {=0A= this.decay =3D (response.responseText =3D=3D this.lastText ?=0A= this.decay * this.options.decay : 1);=0A= =0A= this.lastText =3D response.responseText;=0A= }=0A= this.timer =3D this.onTimerEvent.bind(this).delay(this.decay * = this.frequency);=0A= },=0A= =0A= onTimerEvent: function() {=0A= this.updater =3D new Ajax.Updater(this.container, this.url, = this.options);=0A= }=0A= });=0A= function $(element) {=0A= if (arguments.length > 1) {=0A= for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++)=0A= elements.push($(arguments[i]));=0A= return elements;=0A= }=0A= if (Object.isString(element))=0A= element =3D document.getElementById(element);=0A= return Element.extend(element);=0A= }=0A= =0A= if (Prototype.BrowserFeatures.XPath) {=0A= document._getElementsByXPath =3D function(expression, parentElement) {=0A= var results =3D [];=0A= var query =3D document.evaluate(expression, $(parentElement) || = document,=0A= null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);=0A= for (var i =3D 0, length =3D query.snapshotLength; i < length; i++)=0A= results.push(Element.extend(query.snapshotItem(i)));=0A= return results;=0A= };=0A= }=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= if (!window.Node) var Node =3D { };=0A= =0A= if (!Node.ELEMENT_NODE) {=0A= // DOM level 2 ECMAScript Language Binding=0A= Object.extend(Node, {=0A= ELEMENT_NODE: 1,=0A= ATTRIBUTE_NODE: 2,=0A= TEXT_NODE: 3,=0A= CDATA_SECTION_NODE: 4,=0A= ENTITY_REFERENCE_NODE: 5,=0A= ENTITY_NODE: 6,=0A= PROCESSING_INSTRUCTION_NODE: 7,=0A= COMMENT_NODE: 8,=0A= DOCUMENT_NODE: 9,=0A= DOCUMENT_TYPE_NODE: 10,=0A= DOCUMENT_FRAGMENT_NODE: 11,=0A= NOTATION_NODE: 12=0A= });=0A= }=0A= =0A= (function() {=0A= var element =3D this.Element;=0A= this.Element =3D function(tagName, attributes) {=0A= attributes =3D attributes || { };=0A= tagName =3D tagName.toLowerCase();=0A= var cache =3D Element.cache;=0A= if (Prototype.Browser.IE && attributes.name) {=0A= tagName =3D '<' + tagName + ' name=3D"' + attributes.name + '">';=0A= delete attributes.name;=0A= return Element.writeAttribute(document.createElement(tagName), = attributes);=0A= }=0A= if (!cache[tagName]) cache[tagName] =3D = Element.extend(document.createElement(tagName));=0A= return Element.writeAttribute(cache[tagName].cloneNode(false), = attributes);=0A= };=0A= Object.extend(this.Element, element || { });=0A= if (element) this.Element.prototype =3D element.prototype;=0A= }).call(window);=0A= =0A= Element.cache =3D { };=0A= =0A= Element.Methods =3D {=0A= visible: function(element) {=0A= return $(element).style.display !=3D 'none';=0A= },=0A= =0A= toggle: function(element) {=0A= element =3D $(element);=0A= Element[Element.visible(element) ? 'hide' : 'show'](element);=0A= return element;=0A= },=0A= =0A= hide: function(element) {=0A= element =3D $(element);=0A= element.style.display =3D 'none';=0A= return element;=0A= },=0A= =0A= show: function(element) {=0A= element =3D $(element);=0A= element.style.display =3D '';=0A= return element;=0A= },=0A= =0A= remove: function(element) {=0A= element =3D $(element);=0A= element.parentNode.removeChild(element);=0A= return element;=0A= },=0A= =0A= update: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= content =3D Object.toHTML(content);=0A= element.innerHTML =3D content.stripScripts();=0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= },=0A= =0A= replace: function(element, content) {=0A= element =3D $(element);=0A= if (content && content.toElement) content =3D content.toElement();=0A= else if (!Object.isElement(content)) {=0A= content =3D Object.toHTML(content);=0A= var range =3D element.ownerDocument.createRange();=0A= range.selectNode(element);=0A= content.evalScripts.bind(content).defer();=0A= content =3D range.createContextualFragment(content.stripScripts());=0A= }=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= },=0A= =0A= insert: function(element, insertions) {=0A= element =3D $(element);=0A= =0A= if (Object.isString(insertions) || Object.isNumber(insertions) ||=0A= Object.isElement(insertions) || (insertions && = (insertions.toElement || insertions.toHTML)))=0A= insertions =3D {bottom:insertions};=0A= =0A= var content, insert, tagName, childNodes;=0A= =0A= for (var position in insertions) {=0A= content =3D insertions[position];=0A= position =3D position.toLowerCase();=0A= insert =3D Element._insertionTranslations[position];=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= insert(element, content);=0A= continue;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= =0A= tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A= ? element.parentNode : element).tagName.toUpperCase();=0A= =0A= childNodes =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts());=0A= =0A= if (position =3D=3D 'top' || position =3D=3D 'after') = childNodes.reverse();=0A= childNodes.each(insert.curry(element));=0A= =0A= content.evalScripts.bind(content).defer();=0A= }=0A= =0A= return element;=0A= },=0A= =0A= wrap: function(element, wrapper, attributes) {=0A= element =3D $(element);=0A= if (Object.isElement(wrapper))=0A= $(wrapper).writeAttribute(attributes || { });=0A= else if (Object.isString(wrapper)) wrapper =3D new Element(wrapper, = attributes);=0A= else wrapper =3D new Element('div', wrapper);=0A= if (element.parentNode)=0A= element.parentNode.replaceChild(wrapper, element);=0A= wrapper.appendChild(element);=0A= return wrapper;=0A= },=0A= =0A= inspect: function(element) {=0A= element =3D $(element);=0A= var result =3D '<' + element.tagName.toLowerCase();=0A= $H({'id': 'id', 'className': 'class'}).each(function(pair) {=0A= var property =3D pair.first(), attribute =3D pair.last();=0A= var value =3D (element[property] || '').toString();=0A= if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true);=0A= });=0A= return result + '>';=0A= },=0A= =0A= recursivelyCollect: function(element, property) {=0A= element =3D $(element);=0A= var elements =3D [];=0A= while (element =3D element[property])=0A= if (element.nodeType =3D=3D 1)=0A= elements.push(Element.extend(element));=0A= return elements;=0A= },=0A= =0A= ancestors: function(element) {=0A= return $(element).recursivelyCollect('parentNode');=0A= },=0A= =0A= descendants: function(element) {=0A= return $(element).select("*");=0A= },=0A= =0A= firstDescendant: function(element) {=0A= element =3D $(element).firstChild;=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= return $(element);=0A= },=0A= =0A= immediateDescendants: function(element) {=0A= if (!(element =3D $(element).firstChild)) return [];=0A= while (element && element.nodeType !=3D 1) element =3D = element.nextSibling;=0A= if (element) return [element].concat($(element).nextSiblings());=0A= return [];=0A= },=0A= =0A= previousSiblings: function(element) {=0A= return $(element).recursivelyCollect('previousSibling');=0A= },=0A= =0A= nextSiblings: function(element) {=0A= return $(element).recursivelyCollect('nextSibling');=0A= },=0A= =0A= siblings: function(element) {=0A= element =3D $(element);=0A= return = element.previousSiblings().reverse().concat(element.nextSiblings());=0A= },=0A= =0A= match: function(element, selector) {=0A= if (Object.isString(selector))=0A= selector =3D new Selector(selector);=0A= return selector.match($(element));=0A= },=0A= =0A= up: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return $(element.parentNode);=0A= var ancestors =3D element.ancestors();=0A= return Object.isNumber(expression) ? ancestors[expression] :=0A= Selector.findElement(ancestors, expression, index);=0A= },=0A= =0A= down: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return element.firstDescendant();=0A= return Object.isNumber(expression) ? = element.descendants()[expression] :=0A= Element.select(element, expression)[index || 0];=0A= },=0A= =0A= previous: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.previousElementSibling(element));=0A= var previousSiblings =3D element.previousSiblings();=0A= return Object.isNumber(expression) ? previousSiblings[expression] :=0A= Selector.findElement(previousSiblings, expression, index);=0A= },=0A= =0A= next: function(element, expression, index) {=0A= element =3D $(element);=0A= if (arguments.length =3D=3D 1) return = $(Selector.handlers.nextElementSibling(element));=0A= var nextSiblings =3D element.nextSiblings();=0A= return Object.isNumber(expression) ? nextSiblings[expression] :=0A= Selector.findElement(nextSiblings, expression, index);=0A= },=0A= =0A= select: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element, args);=0A= },=0A= =0A= adjacent: function() {=0A= var args =3D $A(arguments), element =3D $(args.shift());=0A= return Selector.findChildElements(element.parentNode, = args).without(element);=0A= },=0A= =0A= identify: function(element) {=0A= element =3D $(element);=0A= var id =3D element.readAttribute('id'), self =3D arguments.callee;=0A= if (id) return id;=0A= do { id =3D 'anonymous_element_' + self.counter++ } while ($(id));=0A= element.writeAttribute('id', id);=0A= return id;=0A= },=0A= =0A= readAttribute: function(element, name) {=0A= element =3D $(element);=0A= if (Prototype.Browser.IE) {=0A= var t =3D Element._attributeTranslations.read;=0A= if (t.values[name]) return t.values[name](element, name);=0A= if (t.names[name]) name =3D t.names[name];=0A= if (name.include(':')) {=0A= return (!element.attributes || !element.attributes[name]) ? null = :=0A= element.attributes[name].value;=0A= }=0A= }=0A= return element.getAttribute(name);=0A= },=0A= =0A= writeAttribute: function(element, name, value) {=0A= element =3D $(element);=0A= var attributes =3D { }, t =3D Element._attributeTranslations.write;=0A= =0A= if (typeof name =3D=3D 'object') attributes =3D name;=0A= else attributes[name] =3D Object.isUndefined(value) ? true : value;=0A= =0A= for (var attr in attributes) {=0A= name =3D t.names[attr] || attr;=0A= value =3D attributes[attr];=0A= if (t.values[attr]) name =3D t.values[attr](element, value);=0A= if (value =3D=3D=3D false || value =3D=3D=3D null)=0A= element.removeAttribute(name);=0A= else if (value =3D=3D=3D true)=0A= element.setAttribute(name, name);=0A= else element.setAttribute(name, value);=0A= }=0A= return element;=0A= },=0A= =0A= getHeight: function(element) {=0A= return $(element).getDimensions().height;=0A= },=0A= =0A= getWidth: function(element) {=0A= return $(element).getDimensions().width;=0A= },=0A= =0A= classNames: function(element) {=0A= return new Element.ClassNames(element);=0A= },=0A= =0A= hasClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= var elementClassName =3D element.className;=0A= return (elementClassName.length > 0 && (elementClassName =3D=3D = className ||=0A= new RegExp("(^|\\s)" + className + = "(\\s|$)").test(elementClassName)));=0A= },=0A= =0A= addClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= if (!element.hasClassName(className))=0A= element.className +=3D (element.className ? ' ' : '') + className;=0A= return element;=0A= },=0A= =0A= removeClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= element.className =3D element.className.replace(=0A= new RegExp("(^|\\s+)" + className + "(\\s+|$)"), ' ').strip();=0A= return element;=0A= },=0A= =0A= toggleClassName: function(element, className) {=0A= if (!(element =3D $(element))) return;=0A= return element[element.hasClassName(className) ?=0A= 'removeClassName' : 'addClassName'](className);=0A= },=0A= =0A= // removes whitespace-only text node children=0A= cleanWhitespace: function(element) {=0A= element =3D $(element);=0A= var node =3D element.firstChild;=0A= while (node) {=0A= var nextNode =3D node.nextSibling;=0A= if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue))=0A= element.removeChild(node);=0A= node =3D nextNode;=0A= }=0A= return element;=0A= },=0A= =0A= empty: function(element) {=0A= return $(element).innerHTML.blank();=0A= },=0A= =0A= descendantOf: function(element, ancestor) {=0A= element =3D $(element), ancestor =3D $(ancestor);=0A= =0A= if (element.compareDocumentPosition)=0A= return (element.compareDocumentPosition(ancestor) & 8) =3D=3D=3D 8;=0A= =0A= if (ancestor.contains)=0A= return ancestor.contains(element) && ancestor !=3D=3D element;=0A= =0A= while (element =3D element.parentNode)=0A= if (element =3D=3D ancestor) return true;=0A= =0A= return false;=0A= },=0A= =0A= scrollTo: function(element) {=0A= element =3D $(element);=0A= var pos =3D element.cumulativeOffset();=0A= window.scrollTo(pos[0], pos[1]);=0A= return element;=0A= },=0A= =0A= getStyle: function(element, style) {=0A= element =3D $(element);=0A= style =3D style =3D=3D 'float' ? 'cssFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value || value =3D=3D 'auto') {=0A= var css =3D document.defaultView.getComputedStyle(element, null);=0A= value =3D css ? css[style] : null;=0A= }=0A= if (style =3D=3D 'opacity') return value ? parseFloat(value) : 1.0;=0A= return value =3D=3D 'auto' ? null : value;=0A= },=0A= =0A= getOpacity: function(element) {=0A= return $(element).getStyle('opacity');=0A= },=0A= =0A= setStyle: function(element, styles) {=0A= element =3D $(element);=0A= var elementStyle =3D element.style, match;=0A= if (Object.isString(styles)) {=0A= element.style.cssText +=3D ';' + styles;=0A= return styles.include('opacity') ?=0A= element.setOpacity(styles.match(/opacity:\s*(\d?\.?\d*)/)[1]) : = element;=0A= }=0A= for (var property in styles)=0A= if (property =3D=3D 'opacity') = element.setOpacity(styles[property]);=0A= else=0A= elementStyle[(property =3D=3D 'float' || property =3D=3D = 'cssFloat') ?=0A= (Object.isUndefined(elementStyle.styleFloat) ? 'cssFloat' : = 'styleFloat') :=0A= property] =3D styles[property];=0A= =0A= return element;=0A= },=0A= =0A= setOpacity: function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= return element;=0A= },=0A= =0A= getDimensions: function(element) {=0A= element =3D $(element);=0A= var display =3D element.getStyle('display');=0A= if (display !=3D 'none' && display !=3D null) // Safari bug=0A= return {width: element.offsetWidth, height: element.offsetHeight};=0A= =0A= // All *Width and *Height properties give 0 on elements with display = none,=0A= // so enable the element temporarily=0A= var els =3D element.style;=0A= var originalVisibility =3D els.visibility;=0A= var originalPosition =3D els.position;=0A= var originalDisplay =3D els.display;=0A= els.visibility =3D 'hidden';=0A= els.position =3D 'absolute';=0A= els.display =3D 'block';=0A= var originalWidth =3D element.clientWidth;=0A= var originalHeight =3D element.clientHeight;=0A= els.display =3D originalDisplay;=0A= els.position =3D originalPosition;=0A= els.visibility =3D originalVisibility;=0A= return {width: originalWidth, height: originalHeight};=0A= },=0A= =0A= makePositioned: function(element) {=0A= element =3D $(element);=0A= var pos =3D Element.getStyle(element, 'position');=0A= if (pos =3D=3D 'static' || !pos) {=0A= element._madePositioned =3D true;=0A= element.style.position =3D 'relative';=0A= // Opera returns the offset relative to the positioning context, = when an=0A= // element is position relative but top and left have not been = defined=0A= if (Prototype.Browser.Opera) {=0A= element.style.top =3D 0;=0A= element.style.left =3D 0;=0A= }=0A= }=0A= return element;=0A= },=0A= =0A= undoPositioned: function(element) {=0A= element =3D $(element);=0A= if (element._madePositioned) {=0A= element._madePositioned =3D undefined;=0A= element.style.position =3D=0A= element.style.top =3D=0A= element.style.left =3D=0A= element.style.bottom =3D=0A= element.style.right =3D '';=0A= }=0A= return element;=0A= },=0A= =0A= makeClipping: function(element) {=0A= element =3D $(element);=0A= if (element._overflow) return element;=0A= element._overflow =3D Element.getStyle(element, 'overflow') || = 'auto';=0A= if (element._overflow !=3D=3D 'hidden')=0A= element.style.overflow =3D 'hidden';=0A= return element;=0A= },=0A= =0A= undoClipping: function(element) {=0A= element =3D $(element);=0A= if (!element._overflow) return element;=0A= element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow;=0A= element._overflow =3D null;=0A= return element;=0A= },=0A= =0A= cumulativeOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= positionedOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= element =3D element.offsetParent;=0A= if (element) {=0A= if (element.tagName.toUpperCase() =3D=3D 'BODY') break;=0A= var p =3D Element.getStyle(element, 'position');=0A= if (p !=3D=3D 'static') break;=0A= }=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= absolutize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'absolute') return element;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= var offsets =3D element.positionedOffset();=0A= var top =3D offsets[1];=0A= var left =3D offsets[0];=0A= var width =3D element.clientWidth;=0A= var height =3D element.clientHeight;=0A= =0A= element._originalLeft =3D left - parseFloat(element.style.left || = 0);=0A= element._originalTop =3D top - parseFloat(element.style.top || = 0);=0A= element._originalWidth =3D element.style.width;=0A= element._originalHeight =3D element.style.height;=0A= =0A= element.style.position =3D 'absolute';=0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.width =3D width + 'px';=0A= element.style.height =3D height + 'px';=0A= return element;=0A= },=0A= =0A= relativize: function(element) {=0A= element =3D $(element);=0A= if (element.getStyle('position') =3D=3D 'relative') return element;=0A= // Position.prepare(); // To be done manually by Scripty when it = needs it.=0A= =0A= element.style.position =3D 'relative';=0A= var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0);=0A= var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0);=0A= =0A= element.style.top =3D top + 'px';=0A= element.style.left =3D left + 'px';=0A= element.style.height =3D element._originalHeight;=0A= element.style.width =3D element._originalWidth;=0A= return element;=0A= },=0A= =0A= cumulativeScrollOffset: function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.scrollTop || 0;=0A= valueL +=3D element.scrollLeft || 0;=0A= element =3D element.parentNode;=0A= } while (element);=0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= getOffsetParent: function(element) {=0A= if (element.offsetParent) return $(element.offsetParent);=0A= if (element =3D=3D document.body) return $(element);=0A= =0A= while ((element =3D element.parentNode) && element !=3D = document.body)=0A= if (Element.getStyle(element, 'position') !=3D 'static')=0A= return $(element);=0A= =0A= return $(document.body);=0A= },=0A= =0A= viewportOffset: function(forElement) {=0A= var valueT =3D 0, valueL =3D 0;=0A= =0A= var element =3D forElement;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= =0A= // Safari fix=0A= if (element.offsetParent =3D=3D document.body &&=0A= Element.getStyle(element, 'position') =3D=3D 'absolute') break;=0A= =0A= } while (element =3D element.offsetParent);=0A= =0A= element =3D forElement;=0A= do {=0A= if (!Prototype.Browser.Opera || (element.tagName && = (element.tagName.toUpperCase() =3D=3D 'BODY'))) {=0A= valueT -=3D element.scrollTop || 0;=0A= valueL -=3D element.scrollLeft || 0;=0A= }=0A= } while (element =3D element.parentNode);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= },=0A= =0A= clonePosition: function(element, source) {=0A= var options =3D Object.extend({=0A= setLeft: true,=0A= setTop: true,=0A= setWidth: true,=0A= setHeight: true,=0A= offsetTop: 0,=0A= offsetLeft: 0=0A= }, arguments[2] || { });=0A= =0A= // find page position of source=0A= source =3D $(source);=0A= var p =3D source.viewportOffset();=0A= =0A= // find coordinate system to use=0A= element =3D $(element);=0A= var delta =3D [0, 0];=0A= var parent =3D null;=0A= // delta [0,0] will do fine with position: fixed elements,=0A= // position:absolute needs offsetParent deltas=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') {=0A= parent =3D element.getOffsetParent();=0A= delta =3D parent.viewportOffset();=0A= }=0A= =0A= // correct by body offsets (fixes Safari)=0A= if (parent =3D=3D document.body) {=0A= delta[0] -=3D document.body.offsetLeft;=0A= delta[1] -=3D document.body.offsetTop;=0A= }=0A= =0A= // set position=0A= if (options.setLeft) element.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px';=0A= if (options.setTop) element.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px';=0A= if (options.setWidth) element.style.width =3D source.offsetWidth + = 'px';=0A= if (options.setHeight) element.style.height =3D source.offsetHeight = + 'px';=0A= return element;=0A= }=0A= };=0A= =0A= Element.Methods.identify.counter =3D 1;=0A= =0A= Object.extend(Element.Methods, {=0A= getElementsBySelector: Element.Methods.select,=0A= childElements: Element.Methods.immediateDescendants=0A= });=0A= =0A= Element._attributeTranslations =3D {=0A= write: {=0A= names: {=0A= className: 'class',=0A= htmlFor: 'for'=0A= },=0A= values: { }=0A= }=0A= };=0A= =0A= if (Prototype.Browser.Opera) {=0A= Element.Methods.getStyle =3D Element.Methods.getStyle.wrap(=0A= function(proceed, element, style) {=0A= switch (style) {=0A= case 'left': case 'top': case 'right': case 'bottom':=0A= if (proceed(element, 'position') =3D=3D=3D 'static') return = null;=0A= case 'height': case 'width':=0A= // returns '0px' for hidden elements; we want it to return null=0A= if (!Element.visible(element)) return null;=0A= =0A= // returns the border-box dimensions rather than the = content-box=0A= // dimensions, so we subtract padding and borders from the = value=0A= var dim =3D parseInt(proceed(element, style), 10);=0A= =0A= if (dim !=3D=3D element['offset' + style.capitalize()])=0A= return dim + 'px';=0A= =0A= var properties;=0A= if (style =3D=3D=3D 'height') {=0A= properties =3D ['border-top-width', 'padding-top',=0A= 'padding-bottom', 'border-bottom-width'];=0A= }=0A= else {=0A= properties =3D ['border-left-width', 'padding-left',=0A= 'padding-right', 'border-right-width'];=0A= }=0A= return properties.inject(dim, function(memo, property) {=0A= var val =3D proceed(element, property);=0A= return val =3D=3D=3D null ? memo : memo - parseInt(val, 10);=0A= }) + 'px';=0A= default: return proceed(element, style);=0A= }=0A= }=0A= );=0A= =0A= Element.Methods.readAttribute =3D Element.Methods.readAttribute.wrap(=0A= function(proceed, element, attribute) {=0A= if (attribute =3D=3D=3D 'title') return element.title;=0A= return proceed(element, attribute);=0A= }=0A= );=0A= }=0A= =0A= else if (Prototype.Browser.IE) {=0A= // IE doesn't report offsets correctly for static elements, so we = change them=0A= // to "relative" to get the values, then change them back.=0A= Element.Methods.getOffsetParent =3D = Element.Methods.getOffsetParent.wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= // IE throws an error if element is not in document=0A= try { element.offsetParent }=0A= catch(e) { return $(document.body) }=0A= var position =3D element.getStyle('position');=0A= if (position !=3D=3D 'static') return proceed(element);=0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= =0A= $w('positionedOffset viewportOffset').each(function(method) {=0A= Element.Methods[method] =3D Element.Methods[method].wrap(=0A= function(proceed, element) {=0A= element =3D $(element);=0A= try { element.offsetParent }=0A= catch(e) { return Element._returnOffset(0,0) }=0A= var position =3D element.getStyle('position');=0A= if (position !=3D=3D 'static') return proceed(element);=0A= // Trigger hasLayout on the offset parent so that IE6 reports=0A= // accurate offsetTop and offsetLeft values for position: fixed.=0A= var offsetParent =3D element.getOffsetParent();=0A= if (offsetParent && offsetParent.getStyle('position') =3D=3D=3D = 'fixed')=0A= offsetParent.setStyle({ zoom: 1 });=0A= element.setStyle({ position: 'relative' });=0A= var value =3D proceed(element);=0A= element.setStyle({ position: position });=0A= return value;=0A= }=0A= );=0A= });=0A= =0A= Element.Methods.cumulativeOffset =3D = Element.Methods.cumulativeOffset.wrap(=0A= function(proceed, element) {=0A= try { element.offsetParent }=0A= catch(e) { return Element._returnOffset(0,0) }=0A= return proceed(element);=0A= }=0A= );=0A= =0A= Element.Methods.getStyle =3D function(element, style) {=0A= element =3D $(element);=0A= style =3D (style =3D=3D 'float' || style =3D=3D 'cssFloat') ? = 'styleFloat' : style.camelize();=0A= var value =3D element.style[style];=0A= if (!value && element.currentStyle) value =3D = element.currentStyle[style];=0A= =0A= if (style =3D=3D 'opacity') {=0A= if (value =3D (element.getStyle('filter') || = '').match(/alpha\(opacity=3D(.*)\)/))=0A= if (value[1]) return parseFloat(value[1]) / 100;=0A= return 1.0;=0A= }=0A= =0A= if (value =3D=3D 'auto') {=0A= if ((style =3D=3D 'width' || style =3D=3D 'height') && = (element.getStyle('display') !=3D 'none'))=0A= return element['offset' + style.capitalize()] + 'px';=0A= return null;=0A= }=0A= return value;=0A= };=0A= =0A= Element.Methods.setOpacity =3D function(element, value) {=0A= function stripAlpha(filter){=0A= return filter.replace(/alpha\([^\)]*\)/gi,'');=0A= }=0A= element =3D $(element);=0A= var currentStyle =3D element.currentStyle;=0A= if ((currentStyle && !currentStyle.hasLayout) ||=0A= (!currentStyle && element.style.zoom =3D=3D 'normal'))=0A= element.style.zoom =3D 1;=0A= =0A= var filter =3D element.getStyle('filter'), style =3D element.style;=0A= if (value =3D=3D 1 || value =3D=3D=3D '') {=0A= (filter =3D stripAlpha(filter)) ?=0A= style.filter =3D filter : style.removeAttribute('filter');=0A= return element;=0A= } else if (value < 0.00001) value =3D 0;=0A= style.filter =3D stripAlpha(filter) +=0A= 'alpha(opacity=3D' + (value * 100) + ')';=0A= return element;=0A= };=0A= =0A= Element._attributeTranslations =3D {=0A= read: {=0A= names: {=0A= 'class': 'className',=0A= 'for': 'htmlFor'=0A= },=0A= values: {=0A= _getAttr: function(element, attribute) {=0A= return element.getAttribute(attribute, 2);=0A= },=0A= _getAttrNode: function(element, attribute) {=0A= var node =3D element.getAttributeNode(attribute);=0A= return node ? node.value : "";=0A= },=0A= _getEv: function(element, attribute) {=0A= attribute =3D element.getAttribute(attribute);=0A= return attribute ? attribute.toString().slice(23, -2) : null;=0A= },=0A= _flag: function(element, attribute) {=0A= return $(element).hasAttribute(attribute) ? attribute : null;=0A= },=0A= style: function(element) {=0A= return element.style.cssText.toLowerCase();=0A= },=0A= title: function(element) {=0A= return element.title;=0A= }=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.write =3D {=0A= names: Object.extend({=0A= cellpadding: 'cellPadding',=0A= cellspacing: 'cellSpacing'=0A= }, Element._attributeTranslations.read.names),=0A= values: {=0A= checked: function(element, value) {=0A= element.checked =3D !!value;=0A= },=0A= =0A= style: function(element, value) {=0A= element.style.cssText =3D value ? value : '';=0A= }=0A= }=0A= };=0A= =0A= Element._attributeTranslations.has =3D {};=0A= =0A= $w('colSpan rowSpan vAlign dateTime accessKey tabIndex ' +=0A= 'encType maxLength readOnly longDesc = frameBorder').each(function(attr) {=0A= Element._attributeTranslations.write.names[attr.toLowerCase()] =3D = attr;=0A= Element._attributeTranslations.has[attr.toLowerCase()] =3D attr;=0A= });=0A= =0A= (function(v) {=0A= Object.extend(v, {=0A= href: v._getAttr,=0A= src: v._getAttr,=0A= type: v._getAttr,=0A= action: v._getAttrNode,=0A= disabled: v._flag,=0A= checked: v._flag,=0A= readonly: v._flag,=0A= multiple: v._flag,=0A= onload: v._getEv,=0A= onunload: v._getEv,=0A= onclick: v._getEv,=0A= ondblclick: v._getEv,=0A= onmousedown: v._getEv,=0A= onmouseup: v._getEv,=0A= onmouseover: v._getEv,=0A= onmousemove: v._getEv,=0A= onmouseout: v._getEv,=0A= onfocus: v._getEv,=0A= onblur: v._getEv,=0A= onkeypress: v._getEv,=0A= onkeydown: v._getEv,=0A= onkeyup: v._getEv,=0A= onsubmit: v._getEv,=0A= onreset: v._getEv,=0A= onselect: v._getEv,=0A= onchange: v._getEv=0A= });=0A= })(Element._attributeTranslations.read.values);=0A= }=0A= =0A= else if (Prototype.Browser.Gecko && = /rv:1\.8\.0/.test(navigator.userAgent)) {=0A= Element.Methods.setOpacity =3D function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1) ? 0.999999 :=0A= (value =3D=3D=3D '') ? '' : (value < 0.00001) ? 0 : value;=0A= return element;=0A= };=0A= }=0A= =0A= else if (Prototype.Browser.WebKit) {=0A= Element.Methods.setOpacity =3D function(element, value) {=0A= element =3D $(element);=0A= element.style.opacity =3D (value =3D=3D 1 || value =3D=3D=3D '') ? = '' :=0A= (value < 0.00001) ? 0 : value;=0A= =0A= if (value =3D=3D 1)=0A= if(element.tagName.toUpperCase() =3D=3D 'IMG' && element.width) {=0A= element.width++; element.width--;=0A= } else try {=0A= var n =3D document.createTextNode(' ');=0A= element.appendChild(n);=0A= element.removeChild(n);=0A= } catch (e) { }=0A= =0A= return element;=0A= };=0A= =0A= // Safari returns margins on body which is incorrect if the child is = absolutely=0A= // positioned. For performance reasons, redefine = Element#cumulativeOffset for=0A= // KHTML/WebKit only.=0A= Element.Methods.cumulativeOffset =3D function(element) {=0A= var valueT =3D 0, valueL =3D 0;=0A= do {=0A= valueT +=3D element.offsetTop || 0;=0A= valueL +=3D element.offsetLeft || 0;=0A= if (element.offsetParent =3D=3D document.body)=0A= if (Element.getStyle(element, 'position') =3D=3D 'absolute') = break;=0A= =0A= element =3D element.offsetParent;=0A= } while (element);=0A= =0A= return Element._returnOffset(valueL, valueT);=0A= };=0A= }=0A= =0A= if (Prototype.Browser.IE || Prototype.Browser.Opera) {=0A= // IE and Opera are missing .innerHTML support for TABLE-related and = SELECT elements=0A= Element.Methods.update =3D function(element, content) {=0A= element =3D $(element);=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) return = element.update().insert(content);=0A= =0A= content =3D Object.toHTML(content);=0A= var tagName =3D element.tagName.toUpperCase();=0A= =0A= if (tagName in Element._insertionTranslations.tags) {=0A= $A(element.childNodes).each(function(node) { = element.removeChild(node) });=0A= Element._getContentFromAnonymousElement(tagName, = content.stripScripts())=0A= .each(function(node) { element.appendChild(node) });=0A= }=0A= else element.innerHTML =3D content.stripScripts();=0A= =0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= };=0A= }=0A= =0A= if ('outerHTML' in document.createElement('div')) {=0A= Element.Methods.replace =3D function(element, content) {=0A= element =3D $(element);=0A= =0A= if (content && content.toElement) content =3D content.toElement();=0A= if (Object.isElement(content)) {=0A= element.parentNode.replaceChild(content, element);=0A= return element;=0A= }=0A= =0A= content =3D Object.toHTML(content);=0A= var parent =3D element.parentNode, tagName =3D = parent.tagName.toUpperCase();=0A= =0A= if (Element._insertionTranslations.tags[tagName]) {=0A= var nextSibling =3D element.next();=0A= var fragments =3D Element._getContentFromAnonymousElement(tagName, = content.stripScripts());=0A= parent.removeChild(element);=0A= if (nextSibling)=0A= fragments.each(function(node) { parent.insertBefore(node, = nextSibling) });=0A= else=0A= fragments.each(function(node) { parent.appendChild(node) });=0A= }=0A= else element.outerHTML =3D content.stripScripts();=0A= =0A= content.evalScripts.bind(content).defer();=0A= return element;=0A= };=0A= }=0A= =0A= Element._returnOffset =3D function(l, t) {=0A= var result =3D [l, t];=0A= result.left =3D l;=0A= result.top =3D t;=0A= return result;=0A= };=0A= =0A= Element._getContentFromAnonymousElement =3D function(tagName, html) {=0A= var div =3D new Element('div'), t =3D = Element._insertionTranslations.tags[tagName];=0A= if (t) {=0A= div.innerHTML =3D t[0] + html + t[1];=0A= t[2].times(function() { div =3D div.firstChild });=0A= } else div.innerHTML =3D html;=0A= return $A(div.childNodes);=0A= };=0A= =0A= Element._insertionTranslations =3D {=0A= before: function(element, node) {=0A= element.parentNode.insertBefore(node, element);=0A= },=0A= top: function(element, node) {=0A= element.insertBefore(node, element.firstChild);=0A= },=0A= bottom: function(element, node) {=0A= element.appendChild(node);=0A= },=0A= after: function(element, node) {=0A= element.parentNode.insertBefore(node, element.nextSibling);=0A= },=0A= tags: {=0A= TABLE: ['<table>', '</table>', 1],=0A= TBODY: ['<table><tbody>', '</tbody></table>', 2],=0A= TR: ['<table><tbody><tr>', '</tr></tbody></table>', 3],=0A= TD: ['<table><tbody><tr><td>', '</td></tr></tbody></table>', 4],=0A= SELECT: ['<select>', '</select>', 1]=0A= }=0A= };=0A= =0A= (function() {=0A= Object.extend(this.tags, {=0A= THEAD: this.tags.TBODY,=0A= TFOOT: this.tags.TBODY,=0A= TH: this.tags.TD=0A= });=0A= }).call(Element._insertionTranslations);=0A= =0A= Element.Methods.Simulated =3D {=0A= hasAttribute: function(element, attribute) {=0A= attribute =3D Element._attributeTranslations.has[attribute] || = attribute;=0A= var node =3D $(element).getAttributeNode(attribute);=0A= return !!(node && node.specified);=0A= }=0A= };=0A= =0A= Element.Methods.ByTag =3D { };=0A= =0A= Object.extend(Element, Element.Methods);=0A= =0A= if (!Prototype.BrowserFeatures.ElementExtensions &&=0A= document.createElement('div')['__proto__']) {=0A= window.HTMLElement =3D { };=0A= window.HTMLElement.prototype =3D = document.createElement('div')['__proto__'];=0A= Prototype.BrowserFeatures.ElementExtensions =3D true;=0A= }=0A= =0A= Element.extend =3D (function() {=0A= if (Prototype.BrowserFeatures.SpecificElementExtensions)=0A= return Prototype.K;=0A= =0A= var Methods =3D { }, ByTag =3D Element.Methods.ByTag;=0A= =0A= var extend =3D Object.extend(function(element) {=0A= if (!element || element._extendedByPrototype ||=0A= element.nodeType !=3D 1 || element =3D=3D window) return element;=0A= =0A= var methods =3D Object.clone(Methods),=0A= tagName =3D element.tagName.toUpperCase(), property, value;=0A= =0A= // extend methods for specific tags=0A= if (ByTag[tagName]) Object.extend(methods, ByTag[tagName]);=0A= =0A= for (property in methods) {=0A= value =3D methods[property];=0A= if (Object.isFunction(value) && !(property in element))=0A= element[property] =3D value.methodize();=0A= }=0A= =0A= element._extendedByPrototype =3D Prototype.emptyFunction;=0A= return element;=0A= =0A= }, {=0A= refresh: function() {=0A= // extend methods for all tags (Safari doesn't need this)=0A= if (!Prototype.BrowserFeatures.ElementExtensions) {=0A= Object.extend(Methods, Element.Methods);=0A= Object.extend(Methods, Element.Methods.Simulated);=0A= }=0A= }=0A= });=0A= =0A= extend.refresh();=0A= return extend;=0A= })();=0A= =0A= Element.hasAttribute =3D function(element, attribute) {=0A= if (element.hasAttribute) return element.hasAttribute(attribute);=0A= return Element.Methods.Simulated.hasAttribute(element, attribute);=0A= };=0A= =0A= Element.addMethods =3D function(methods) {=0A= var F =3D Prototype.BrowserFeatures, T =3D Element.Methods.ByTag;=0A= =0A= if (!methods) {=0A= Object.extend(Form, Form.Methods);=0A= Object.extend(Form.Element, Form.Element.Methods);=0A= Object.extend(Element.Methods.ByTag, {=0A= "FORM": Object.clone(Form.Methods),=0A= "INPUT": Object.clone(Form.Element.Methods),=0A= "SELECT": Object.clone(Form.Element.Methods),=0A= "TEXTAREA": Object.clone(Form.Element.Methods)=0A= });=0A= }=0A= =0A= if (arguments.length =3D=3D 2) {=0A= var tagName =3D methods;=0A= methods =3D arguments[1];=0A= }=0A= =0A= if (!tagName) Object.extend(Element.Methods, methods || { });=0A= else {=0A= if (Object.isArray(tagName)) tagName.each(extend);=0A= else extend(tagName);=0A= }=0A= =0A= function extend(tagName) {=0A= tagName =3D tagName.toUpperCase();=0A= if (!Element.Methods.ByTag[tagName])=0A= Element.Methods.ByTag[tagName] =3D { };=0A= Object.extend(Element.Methods.ByTag[tagName], methods);=0A= }=0A= =0A= function copy(methods, destination, onlyIfAbsent) {=0A= onlyIfAbsent =3D onlyIfAbsent || false;=0A= for (var property in methods) {=0A= var value =3D methods[property];=0A= if (!Object.isFunction(value)) continue;=0A= if (!onlyIfAbsent || !(property in destination))=0A= destination[property] =3D value.methodize();=0A= }=0A= }=0A= =0A= function findDOMClass(tagName) {=0A= var klass;=0A= var trans =3D {=0A= "OPTGROUP": "OptGroup", "TEXTAREA": "TextArea", "P": "Paragraph",=0A= "FIELDSET": "FieldSet", "UL": "UList", "OL": "OList", "DL": = "DList",=0A= "DIR": "Directory", "H1": "Heading", "H2": "Heading", "H3": = "Heading",=0A= "H4": "Heading", "H5": "Heading", "H6": "Heading", "Q": "Quote",=0A= "INS": "Mod", "DEL": "Mod", "A": "Anchor", "IMG": "Image", = "CAPTION":=0A= "TableCaption", "COL": "TableCol", "COLGROUP": "TableCol", "THEAD":=0A= "TableSection", "TFOOT": "TableSection", "TBODY": "TableSection", = "TR":=0A= "TableRow", "TH": "TableCell", "TD": "TableCell", "FRAMESET":=0A= "FrameSet", "IFRAME": "IFrame"=0A= };=0A= if (trans[tagName]) klass =3D 'HTML' + trans[tagName] + 'Element';=0A= if (window[klass]) return window[klass];=0A= klass =3D 'HTML' + tagName + 'Element';=0A= if (window[klass]) return window[klass];=0A= klass =3D 'HTML' + tagName.capitalize() + 'Element';=0A= if (window[klass]) return window[klass];=0A= =0A= window[klass] =3D { };=0A= window[klass].prototype =3D = document.createElement(tagName)['__proto__'];=0A= return window[klass];=0A= }=0A= =0A= if (F.ElementExtensions) {=0A= copy(Element.Methods, HTMLElement.prototype);=0A= copy(Element.Methods.Simulated, HTMLElement.prototype, true);=0A= }=0A= =0A= if (F.SpecificElementExtensions) {=0A= for (var tag in Element.Methods.ByTag) {=0A= var klass =3D findDOMClass(tag);=0A= if (Object.isUndefined(klass)) continue;=0A= copy(T[tag], klass.prototype);=0A= }=0A= }=0A= =0A= Object.extend(Element, Element.Methods);=0A= delete Element.ByTag;=0A= =0A= if (Element.extend.refresh) Element.extend.refresh();=0A= Element.cache =3D { };=0A= };=0A= =0A= document.viewport =3D {=0A= getDimensions: function() {=0A= var dimensions =3D { }, B =3D Prototype.Browser;=0A= $w('width height').each(function(d) {=0A= var D =3D d.capitalize();=0A= if (B.WebKit && !document.evaluate) {=0A= // Safari <3.0 needs self.innerWidth/Height=0A= dimensions[d] =3D self['inner' + D];=0A= } else if (B.Opera && parseFloat(window.opera.version()) < 9.5) {=0A= // Opera <9.5 needs document.body.clientWidth/Height=0A= dimensions[d] =3D document.body['client' + D]=0A= } else {=0A= dimensions[d] =3D document.documentElement['client' + D];=0A= }=0A= });=0A= return dimensions;=0A= },=0A= =0A= getWidth: function() {=0A= return this.getDimensions().width;=0A= },=0A= =0A= getHeight: function() {=0A= return this.getDimensions().height;=0A= },=0A= =0A= getScrollOffsets: function() {=0A= return Element._returnOffset(=0A= window.pageXOffset || document.documentElement.scrollLeft || = document.body.scrollLeft,=0A= window.pageYOffset || document.documentElement.scrollTop || = document.body.scrollTop);=0A= }=0A= };=0A= /* Portions of the Selector class are derived from Jack Slocum's = DomQuery,=0A= * part of YUI-Ext version 0.40, distributed under the terms of an = MIT-style=0A= * license. Please see http://www.yui-ext.com/ for more information. */=0A= =0A= var Selector =3D Class.create({=0A= initialize: function(expression) {=0A= this.expression =3D expression.strip();=0A= =0A= if (this.shouldUseSelectorsAPI()) {=0A= this.mode =3D 'selectorsAPI';=0A= } else if (this.shouldUseXPath()) {=0A= this.mode =3D 'xpath';=0A= this.compileXPathMatcher();=0A= } else {=0A= this.mode =3D "normal";=0A= this.compileMatcher();=0A= }=0A= =0A= },=0A= =0A= shouldUseXPath: function() {=0A= if (!Prototype.BrowserFeatures.XPath) return false;=0A= =0A= var e =3D this.expression;=0A= =0A= // Safari 3 chokes on :*-of-type and :empty=0A= if (Prototype.Browser.WebKit &&=0A= (e.include("-of-type") || e.include(":empty")))=0A= return false;=0A= =0A= // XPath can't do namespaced attributes, nor can it read=0A= // the "checked" property from DOM nodes=0A= if ((/(\[[\w-]*?:|:checked)/).test(e))=0A= return false;=0A= =0A= return true;=0A= },=0A= =0A= shouldUseSelectorsAPI: function() {=0A= if (!Prototype.BrowserFeatures.SelectorsAPI) return false;=0A= =0A= if (!Selector._div) Selector._div =3D new Element('div');=0A= =0A= // Make sure the browser treats the selector as valid. Test on an=0A= // isolated element to minimize cost of this check.=0A= try {=0A= Selector._div.querySelector(this.expression);=0A= } catch(e) {=0A= return false;=0A= }=0A= =0A= return true;=0A= },=0A= =0A= compileMatcher: function() {=0A= var e =3D this.expression, ps =3D Selector.patterns, h =3D = Selector.handlers,=0A= c =3D Selector.criteria, le, p, m;=0A= =0A= if (Selector._cache[e]) {=0A= this.matcher =3D Selector._cache[e];=0A= return;=0A= }=0A= =0A= this.matcher =3D ["this.matcher =3D function(root) {",=0A= "var r =3D root, h =3D Selector.handlers, c =3D = false, n;"];=0A= =0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= p =3D ps[i];=0A= if (m =3D e.match(p)) {=0A= this.matcher.push(Object.isFunction(c[i]) ? c[i](m) :=0A= new Template(c[i]).evaluate(m));=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= =0A= this.matcher.push("return h.unique(n);\n}");=0A= eval(this.matcher.join('\n'));=0A= Selector._cache[this.expression] =3D this.matcher;=0A= },=0A= =0A= compileXPathMatcher: function() {=0A= var e =3D this.expression, ps =3D Selector.patterns,=0A= x =3D Selector.xpath, le, m;=0A= =0A= if (Selector._cache[e]) {=0A= this.xpath =3D Selector._cache[e]; return;=0A= }=0A= =0A= this.matcher =3D ['.//*'];=0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= if (m =3D e.match(ps[i])) {=0A= this.matcher.push(Object.isFunction(x[i]) ? x[i](m) :=0A= new Template(x[i]).evaluate(m));=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= =0A= this.xpath =3D this.matcher.join('');=0A= Selector._cache[this.expression] =3D this.xpath;=0A= },=0A= =0A= findElements: function(root) {=0A= root =3D root || document;=0A= var e =3D this.expression, results;=0A= =0A= switch (this.mode) {=0A= case 'selectorsAPI':=0A= // querySelectorAll queries document-wide, then filters to = descendants=0A= // of the context element. That's not what we want.=0A= // Add an explicit context to the selector if necessary.=0A= if (root !=3D=3D document) {=0A= var oldId =3D root.id, id =3D $(root).identify();=0A= e =3D "#" + id + " " + e;=0A= }=0A= =0A= results =3D $A(root.querySelectorAll(e)).map(Element.extend);=0A= root.id =3D oldId;=0A= =0A= return results;=0A= case 'xpath':=0A= return document._getElementsByXPath(this.xpath, root);=0A= default:=0A= return this.matcher(root);=0A= }=0A= },=0A= =0A= match: function(element) {=0A= this.tokens =3D [];=0A= =0A= var e =3D this.expression, ps =3D Selector.patterns, as =3D = Selector.assertions;=0A= var le, p, m;=0A= =0A= while (e && le !=3D=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in ps) {=0A= p =3D ps[i];=0A= if (m =3D e.match(p)) {=0A= // use the Selector.assertions methods unless the selector=0A= // is too complex.=0A= if (as[i]) {=0A= this.tokens.push([i, Object.clone(m)]);=0A= e =3D e.replace(m[0], '');=0A= } else {=0A= // reluctantly do a document-wide search=0A= // and look for a match in the array=0A= return this.findElements(document).include(element);=0A= }=0A= }=0A= }=0A= }=0A= =0A= var match =3D true, name, matches;=0A= for (var i =3D 0, token; token =3D this.tokens[i]; i++) {=0A= name =3D token[0], matches =3D token[1];=0A= if (!Selector.assertions[name](element, matches)) {=0A= match =3D false; break;=0A= }=0A= }=0A= =0A= return match;=0A= },=0A= =0A= toString: function() {=0A= return this.expression;=0A= },=0A= =0A= inspect: function() {=0A= return "#<Selector:" + this.expression.inspect() + ">";=0A= }=0A= });=0A= =0A= Object.extend(Selector, {=0A= _cache: { },=0A= =0A= xpath: {=0A= descendant: "//*",=0A= child: "/*",=0A= adjacent: "/following-sibling::*[1]",=0A= laterSibling: '/following-sibling::*',=0A= tagName: function(m) {=0A= if (m[1] =3D=3D '*') return '';=0A= return "[local-name()=3D'" + m[1].toLowerCase() +=0A= "' or local-name()=3D'" + m[1].toUpperCase() + "']";=0A= },=0A= className: "[contains(concat(' ', @class, ' '), ' #{1} ')]",=0A= id: "[@id=3D'#{1}']",=0A= attrPresence: function(m) {=0A= m[1] =3D m[1].toLowerCase();=0A= return new Template("[@#{1}]").evaluate(m);=0A= },=0A= attr: function(m) {=0A= m[1] =3D m[1].toLowerCase();=0A= m[3] =3D m[5] || m[6];=0A= return new Template(Selector.xpath.operators[m[2]]).evaluate(m);=0A= },=0A= pseudo: function(m) {=0A= var h =3D Selector.xpath.pseudos[m[1]];=0A= if (!h) return '';=0A= if (Object.isFunction(h)) return h(m);=0A= return new Template(Selector.xpath.pseudos[m[1]]).evaluate(m);=0A= },=0A= operators: {=0A= '=3D': "[@#{1}=3D'#{3}']",=0A= '!=3D': "[@#{1}!=3D'#{3}']",=0A= '^=3D': "[starts-with(@#{1}, '#{3}')]",=0A= '$=3D': "[substring(@#{1}, (string-length(@#{1}) - = string-length('#{3}') + 1))=3D'#{3}']",=0A= '*=3D': "[contains(@#{1}, '#{3}')]",=0A= '~=3D': "[contains(concat(' ', @#{1}, ' '), ' #{3} ')]",=0A= '|=3D': "[contains(concat('-', @#{1}, '-'), '-#{3}-')]"=0A= },=0A= pseudos: {=0A= 'first-child': '[not(preceding-sibling::*)]',=0A= 'last-child': '[not(following-sibling::*)]',=0A= 'only-child': '[not(preceding-sibling::* or = following-sibling::*)]',=0A= 'empty': "[count(*) =3D 0 and (count(text()) =3D 0)]",=0A= 'checked': "[@checked]",=0A= 'disabled': "[(@disabled) and (@type!=3D'hidden')]",=0A= 'enabled': "[not(@disabled) and (@type!=3D'hidden')]",=0A= 'not': function(m) {=0A= var e =3D m[6], p =3D Selector.patterns,=0A= x =3D Selector.xpath, le, v;=0A= =0A= var exclusion =3D [];=0A= while (e && le !=3D e && (/\S/).test(e)) {=0A= le =3D e;=0A= for (var i in p) {=0A= if (m =3D e.match(p[i])) {=0A= v =3D Object.isFunction(x[i]) ? x[i](m) : new = Template(x[i]).evaluate(m);=0A= exclusion.push("(" + v.substring(1, v.length - 1) + ")");=0A= e =3D e.replace(m[0], '');=0A= break;=0A= }=0A= }=0A= }=0A= return "[not(" + exclusion.join(" and ") + ")]";=0A= },=0A= 'nth-child': function(m) {=0A= return = Selector.xpath.pseudos.nth("(count(./preceding-sibling::*) + 1) ", m);=0A= },=0A= 'nth-last-child': function(m) {=0A= return = Selector.xpath.pseudos.nth("(count(./following-sibling::*) + 1) ", m);=0A= },=0A= 'nth-of-type': function(m) {=0A= return Selector.xpath.pseudos.nth("position() ", m);=0A= },=0A= 'nth-last-of-type': function(m) {=0A= return Selector.xpath.pseudos.nth("(last() + 1 - position()) ", = m);=0A= },=0A= 'first-of-type': function(m) {=0A= m[6] =3D "1"; return Selector.xpath.pseudos['nth-of-type'](m);=0A= },=0A= 'last-of-type': function(m) {=0A= m[6] =3D "1"; return = Selector.xpath.pseudos['nth-last-of-type'](m);=0A= },=0A= 'only-of-type': function(m) {=0A= var p =3D Selector.xpath.pseudos; return p['first-of-type'](m) + = p['last-of-type'](m);=0A= },=0A= nth: function(fragment, m) {=0A= var mm, formula =3D m[6], predicate;=0A= if (formula =3D=3D 'even') formula =3D '2n+0';=0A= if (formula =3D=3D 'odd') formula =3D '2n+1';=0A= if (mm =3D formula.match(/^(\d+)$/)) // digit only=0A= return '[' + fragment + "=3D " + mm[1] + ']';=0A= if (mm =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // an+b=0A= if (mm[1] =3D=3D "-") mm[1] =3D -1;=0A= var a =3D mm[1] ? Number(mm[1]) : 1;=0A= var b =3D mm[2] ? Number(mm[2]) : 0;=0A= predicate =3D "[((#{fragment} - #{b}) mod #{a} =3D 0) and " +=0A= "((#{fragment} - #{b}) div #{a} >=3D 0)]";=0A= return new Template(predicate).evaluate({=0A= fragment: fragment, a: a, b: b });=0A= }=0A= }=0A= }=0A= },=0A= =0A= criteria: {=0A= tagName: 'n =3D h.tagName(n, r, "#{1}", c); c =3D false;',=0A= className: 'n =3D h.className(n, r, "#{1}", c); c =3D false;',=0A= id: 'n =3D h.id(n, r, "#{1}", c); c =3D false;',=0A= attrPresence: 'n =3D h.attrPresence(n, r, "#{1}", c); c =3D false;',=0A= attr: function(m) {=0A= m[3] =3D (m[5] || m[6]);=0A= return new Template('n =3D h.attr(n, r, "#{1}", "#{3}", "#{2}", = c); c =3D false;').evaluate(m);=0A= },=0A= pseudo: function(m) {=0A= if (m[6]) m[6] =3D m[6].replace(/"/g, '\\"');=0A= return new Template('n =3D h.pseudo(n, "#{1}", "#{6}", r, c); c = =3D false;').evaluate(m);=0A= },=0A= descendant: 'c =3D "descendant";',=0A= child: 'c =3D "child";',=0A= adjacent: 'c =3D "adjacent";',=0A= laterSibling: 'c =3D "laterSibling";'=0A= },=0A= =0A= patterns: {=0A= // combinators must be listed first=0A= // (and descendant needs to be last combinator)=0A= laterSibling: /^\s*~\s*/,=0A= child: /^\s*>\s*/,=0A= adjacent: /^\s*\+\s*/,=0A= descendant: /^\s/,=0A= =0A= // selectors follow=0A= tagName: /^\s*(\*|[\w\-]+)(\b|$)?/,=0A= id: /^#([\w\-\*]+)(\b|$)/,=0A= className: /^\.([\w\-\*]+)(\b|$)/,=0A= pseudo:=0A= /^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis= )abled|not)(\((.*?)\))?(\b|$|(?=3D\s|[:+~>]))/,=0A= attrPresence: /^\[((?:[\w]+:)?[\w]+)\]/,=0A= attr: = /\[((?:[\w-]*:)?[\w-]+)\s*(?:([!^$*~|]?=3D)\s*((['"])([^\4]*?)\4|([^'"][^= \]]*?)))?\]/=0A= },=0A= =0A= // for Selector.match and Element#match=0A= assertions: {=0A= tagName: function(element, matches) {=0A= return matches[1].toUpperCase() =3D=3D = element.tagName.toUpperCase();=0A= },=0A= =0A= className: function(element, matches) {=0A= return Element.hasClassName(element, matches[1]);=0A= },=0A= =0A= id: function(element, matches) {=0A= return element.id =3D=3D=3D matches[1];=0A= },=0A= =0A= attrPresence: function(element, matches) {=0A= return Element.hasAttribute(element, matches[1]);=0A= },=0A= =0A= attr: function(element, matches) {=0A= var nodeValue =3D Element.readAttribute(element, matches[1]);=0A= return nodeValue && Selector.operators[matches[2]](nodeValue, = matches[5] || matches[6]);=0A= }=0A= },=0A= =0A= handlers: {=0A= // UTILITY FUNCTIONS=0A= // joins two collections=0A= concat: function(a, b) {=0A= for (var i =3D 0, node; node =3D b[i]; i++)=0A= a.push(node);=0A= return a;=0A= },=0A= =0A= // marks an array of nodes for counting=0A= mark: function(nodes) {=0A= var _true =3D Prototype.emptyFunction;=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node._countedByPrototype =3D _true;=0A= return nodes;=0A= },=0A= =0A= unmark: function(nodes) {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node._countedByPrototype =3D undefined;=0A= return nodes;=0A= },=0A= =0A= // mark each child node with its position (for nth calls)=0A= // "ofType" flag indicates whether we're indexing for nth-of-type=0A= // rather than nth-child=0A= index: function(parentNode, reverse, ofType) {=0A= parentNode._countedByPrototype =3D Prototype.emptyFunction;=0A= if (reverse) {=0A= for (var nodes =3D parentNode.childNodes, i =3D nodes.length - = 1, j =3D 1; i >=3D 0; i--) {=0A= var node =3D nodes[i];=0A= if (node.nodeType =3D=3D 1 && (!ofType || = node._countedByPrototype)) node.nodeIndex =3D j++;=0A= }=0A= } else {=0A= for (var i =3D 0, j =3D 1, nodes =3D parentNode.childNodes; node = =3D nodes[i]; i++)=0A= if (node.nodeType =3D=3D 1 && (!ofType || = node._countedByPrototype)) node.nodeIndex =3D j++;=0A= }=0A= },=0A= =0A= // filters out duplicates and extends all nodes=0A= unique: function(nodes) {=0A= if (nodes.length =3D=3D 0) return nodes;=0A= var results =3D [], n;=0A= for (var i =3D 0, l =3D nodes.length; i < l; i++)=0A= if (!(n =3D nodes[i])._countedByPrototype) {=0A= n._countedByPrototype =3D Prototype.emptyFunction;=0A= results.push(Element.extend(n));=0A= }=0A= return Selector.handlers.unmark(results);=0A= },=0A= =0A= // COMBINATOR FUNCTIONS=0A= descendant: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= h.concat(results, node.getElementsByTagName('*'));=0A= return results;=0A= },=0A= =0A= child: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= for (var j =3D 0, child; child =3D node.childNodes[j]; j++)=0A= if (child.nodeType =3D=3D 1 && child.tagName !=3D '!') = results.push(child);=0A= }=0A= return results;=0A= },=0A= =0A= adjacent: function(nodes) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= var next =3D this.nextElementSibling(node);=0A= if (next) results.push(next);=0A= }=0A= return results;=0A= },=0A= =0A= laterSibling: function(nodes) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= h.concat(results, Element.nextSiblings(node));=0A= return results;=0A= },=0A= =0A= nextElementSibling: function(node) {=0A= while (node =3D node.nextSibling)=0A= if (node.nodeType =3D=3D 1) return node;=0A= return null;=0A= },=0A= =0A= previousElementSibling: function(node) {=0A= while (node =3D node.previousSibling)=0A= if (node.nodeType =3D=3D 1) return node;=0A= return null;=0A= },=0A= =0A= // TOKEN FUNCTIONS=0A= tagName: function(nodes, root, tagName, combinator) {=0A= var uTagName =3D tagName.toUpperCase();=0A= var results =3D [], h =3D Selector.handlers;=0A= if (nodes) {=0A= if (combinator) {=0A= // fastlane for ordinary descendant combinators=0A= if (combinator =3D=3D "descendant") {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= h.concat(results, node.getElementsByTagName(tagName));=0A= return results;=0A= } else nodes =3D this[combinator](nodes);=0A= if (tagName =3D=3D "*") return nodes;=0A= }=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.tagName.toUpperCase() =3D=3D=3D uTagName) = results.push(node);=0A= return results;=0A= } else return root.getElementsByTagName(tagName);=0A= },=0A= =0A= id: function(nodes, root, id, combinator) {=0A= var targetNode =3D $(id), h =3D Selector.handlers;=0A= if (!targetNode) return [];=0A= if (!nodes && root =3D=3D document) return [targetNode];=0A= if (nodes) {=0A= if (combinator) {=0A= if (combinator =3D=3D 'child') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (targetNode.parentNode =3D=3D node) return [targetNode];=0A= } else if (combinator =3D=3D 'descendant') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Element.descendantOf(targetNode, node)) return = [targetNode];=0A= } else if (combinator =3D=3D 'adjacent') {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Selector.handlers.previousElementSibling(targetNode) = =3D=3D node)=0A= return [targetNode];=0A= } else nodes =3D h[combinator](nodes);=0A= }=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node =3D=3D targetNode) return [targetNode];=0A= return [];=0A= }=0A= return (targetNode && Element.descendantOf(targetNode, root)) ? = [targetNode] : [];=0A= },=0A= =0A= className: function(nodes, root, className, combinator) {=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= return Selector.handlers.byClassName(nodes, root, className);=0A= },=0A= =0A= byClassName: function(nodes, root, className) {=0A= if (!nodes) nodes =3D Selector.handlers.descendant([root]);=0A= var needle =3D ' ' + className + ' ';=0A= for (var i =3D 0, results =3D [], node, nodeClassName; node =3D = nodes[i]; i++) {=0A= nodeClassName =3D node.className;=0A= if (nodeClassName.length =3D=3D 0) continue;=0A= if (nodeClassName =3D=3D className || (' ' + nodeClassName + ' = ').include(needle))=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= attrPresence: function(nodes, root, attr, combinator) {=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= var results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (Element.hasAttribute(node, attr)) results.push(node);=0A= return results;=0A= },=0A= =0A= attr: function(nodes, root, attr, value, operator, combinator) {=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= var handler =3D Selector.operators[operator], results =3D [];=0A= for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A= var nodeValue =3D Element.readAttribute(node, attr);=0A= if (nodeValue =3D=3D=3D null) continue;=0A= if (handler(nodeValue, value)) results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= pseudo: function(nodes, name, value, root, combinator) {=0A= if (nodes && combinator) nodes =3D this[combinator](nodes);=0A= if (!nodes) nodes =3D root.getElementsByTagName("*");=0A= return Selector.pseudos[name](nodes, value, root);=0A= }=0A= },=0A= =0A= pseudos: {=0A= 'first-child': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= if (Selector.handlers.previousElementSibling(node)) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= 'last-child': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= if (Selector.handlers.nextElementSibling(node)) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= 'only-child': function(nodes, value, root) {=0A= var h =3D Selector.handlers;=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!h.previousElementSibling(node) && = !h.nextElementSibling(node))=0A= results.push(node);=0A= return results;=0A= },=0A= 'nth-child': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root);=0A= },=0A= 'nth-last-child': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, true);=0A= },=0A= 'nth-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, false, true);=0A= },=0A= 'nth-last-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, formula, root, true, true);=0A= },=0A= 'first-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, "1", root, false, true);=0A= },=0A= 'last-of-type': function(nodes, formula, root) {=0A= return Selector.pseudos.nth(nodes, "1", root, true, true);=0A= },=0A= 'only-of-type': function(nodes, formula, root) {=0A= var p =3D Selector.pseudos;=0A= return p['last-of-type'](p['first-of-type'](nodes, formula, root), = formula, root);=0A= },=0A= =0A= // handles the an+b logic=0A= getIndices: function(a, b, total) {=0A= if (a =3D=3D 0) return b > 0 ? [b] : [];=0A= return $R(1, total).inject([], function(memo, i) {=0A= if (0 =3D=3D (i - b) % a && (i - b) / a >=3D 0) memo.push(i);=0A= return memo;=0A= });=0A= },=0A= =0A= // handles nth(-last)-child, nth(-last)-of-type, and = (first|last)-of-type=0A= nth: function(nodes, formula, root, reverse, ofType) {=0A= if (nodes.length =3D=3D 0) return [];=0A= if (formula =3D=3D 'even') formula =3D '2n+0';=0A= if (formula =3D=3D 'odd') formula =3D '2n+1';=0A= var h =3D Selector.handlers, results =3D [], indexed =3D [], m;=0A= h.mark(nodes);=0A= for (var i =3D 0, node; node =3D nodes[i]; i++) {=0A= if (!node.parentNode._countedByPrototype) {=0A= h.index(node.parentNode, reverse, ofType);=0A= indexed.push(node.parentNode);=0A= }=0A= }=0A= if (formula.match(/^\d+$/)) { // just a number=0A= formula =3D Number(formula);=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= if (node.nodeIndex =3D=3D formula) results.push(node);=0A= } else if (m =3D formula.match(/^(-?\d*)?n(([+-])(\d+))?/)) { // = an+b=0A= if (m[1] =3D=3D "-") m[1] =3D -1;=0A= var a =3D m[1] ? Number(m[1]) : 1;=0A= var b =3D m[2] ? Number(m[2]) : 0;=0A= var indices =3D Selector.pseudos.getIndices(a, b, nodes.length);=0A= for (var i =3D 0, node, l =3D indices.length; node =3D nodes[i]; = i++) {=0A= for (var j =3D 0; j < l; j++)=0A= if (node.nodeIndex =3D=3D indices[j]) results.push(node);=0A= }=0A= }=0A= h.unmark(nodes);=0A= h.unmark(indexed);=0A= return results;=0A= },=0A= =0A= 'empty': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++) {=0A= // IE treats comments as element nodes=0A= if (node.tagName =3D=3D '!' || node.firstChild) continue;=0A= results.push(node);=0A= }=0A= return results;=0A= },=0A= =0A= 'not': function(nodes, selector, root) {=0A= var h =3D Selector.handlers, selectorType, m;=0A= var exclusions =3D new Selector(selector).findElements(root);=0A= h.mark(exclusions);=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!node._countedByPrototype) results.push(node);=0A= h.unmark(exclusions);=0A= return results;=0A= },=0A= =0A= 'enabled': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (!node.disabled && (!node.type || node.type !=3D=3D 'hidden'))=0A= results.push(node);=0A= return results;=0A= },=0A= =0A= 'disabled': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (node.disabled) results.push(node);=0A= return results;=0A= },=0A= =0A= 'checked': function(nodes, value, root) {=0A= for (var i =3D 0, results =3D [], node; node =3D nodes[i]; i++)=0A= if (node.checked) results.push(node);=0A= return results;=0A= }=0A= },=0A= =0A= operators: {=0A= '=3D': function(nv, v) { return nv =3D=3D v; },=0A= '!=3D': function(nv, v) { return nv !=3D v; },=0A= '^=3D': function(nv, v) { return nv =3D=3D v || nv && = nv.startsWith(v); },=0A= '$=3D': function(nv, v) { return nv =3D=3D v || nv && = nv.endsWith(v); },=0A= '*=3D': function(nv, v) { return nv =3D=3D v || nv && nv.include(v); = },=0A= '$=3D': function(nv, v) { return nv.endsWith(v); },=0A= '*=3D': function(nv, v) { return nv.include(v); },=0A= '~=3D': function(nv, v) { return (' ' + nv + ' ').include(' ' + v + = ' '); },=0A= '|=3D': function(nv, v) { return ('-' + (nv || "").toUpperCase() +=0A= '-').include('-' + (v || "").toUpperCase() + '-'); }=0A= },=0A= =0A= split: function(expression) {=0A= var expressions =3D [];=0A= expression.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, = function(m) {=0A= expressions.push(m[1].strip());=0A= });=0A= return expressions;=0A= },=0A= =0A= matchElements: function(elements, expression) {=0A= var matches =3D $$(expression), h =3D Selector.handlers;=0A= h.mark(matches);=0A= for (var i =3D 0, results =3D [], element; element =3D elements[i]; = i++)=0A= if (element._countedByPrototype) results.push(element);=0A= h.unmark(matches);=0A= return results;=0A= },=0A= =0A= findElement: function(elements, expression, index) {=0A= if (Object.isNumber(expression)) {=0A= index =3D expression; expression =3D false;=0A= }=0A= return Selector.matchElements(elements, expression || '*')[index || = 0];=0A= },=0A= =0A= findChildElements: function(element, expressions) {=0A= expressions =3D Selector.split(expressions.join(','));=0A= var results =3D [], h =3D Selector.handlers;=0A= for (var i =3D 0, l =3D expressions.length, selector; i < l; i++) {=0A= selector =3D new Selector(expressions[i].strip());=0A= h.concat(results, selector.findElements(element));=0A= }=0A= return (l > 1) ? h.unique(results) : results;=0A= }=0A= });=0A= =0A= if (Prototype.Browser.IE) {=0A= Object.extend(Selector.handlers, {=0A= // IE returns comment nodes on getElementsByTagName("*").=0A= // Filter them out.=0A= concat: function(a, b) {=0A= for (var i =3D 0, node; node =3D b[i]; i++)=0A= if (node.tagName !=3D=3D "!") a.push(node);=0A= return a;=0A= },=0A= =0A= // IE improperly serializes _countedByPrototype in (inner|outer)HTML.=0A= unmark: function(nodes) {=0A= for (var i =3D 0, node; node =3D nodes[i]; i++)=0A= node.removeAttribute('_countedByPrototype');=0A= return nodes;=0A= }=0A= });=0A= }=0A= =0A= function $$() {=0A= return Selector.findChildElements(document, $A(arguments));=0A= }=0A= var Form =3D {=0A= reset: function(form) {=0A= $(form).reset();=0A= return form;=0A= },=0A= =0A= serializeElements: function(elements, options) {=0A= if (typeof options !=3D 'object') options =3D { hash: !!options };=0A= else if (Object.isUndefined(options.hash)) options.hash =3D true;=0A= var key, value, submitted =3D false, submit =3D options.submit;=0A= =0A= var data =3D elements.inject({ }, function(result, element) {=0A= if (!element.disabled && element.name) {=0A= key =3D element.name; value =3D $(element).getValue();=0A= if (value !=3D null && element.type !=3D 'file' && (element.type = !=3D 'submit' || (!submitted &&=0A= submit !=3D=3D false && (!submit || key =3D=3D submit) && = (submitted =3D true)))) {=0A= if (key in result) {=0A= // a key is already present; construct an array of values=0A= if (!Object.isArray(result[key])) result[key] =3D = [result[key]];=0A= result[key].push(value);=0A= }=0A= else result[key] =3D value;=0A= }=0A= }=0A= return result;=0A= });=0A= =0A= return options.hash ? data : Object.toQueryString(data);=0A= }=0A= };=0A= =0A= Form.Methods =3D {=0A= serialize: function(form, options) {=0A= return Form.serializeElements(Form.getElements(form), options);=0A= },=0A= =0A= getElements: function(form) {=0A= return $A($(form).getElementsByTagName('*')).inject([],=0A= function(elements, child) {=0A= if (Form.Element.Serializers[child.tagName.toLowerCase()])=0A= elements.push(Element.extend(child));=0A= return elements;=0A= }=0A= );=0A= },=0A= =0A= getInputs: function(form, typeName, name) {=0A= form =3D $(form);=0A= var inputs =3D form.getElementsByTagName('input');=0A= =0A= if (!typeName && !name) return $A(inputs).map(Element.extend);=0A= =0A= for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i = < length; i++) {=0A= var input =3D inputs[i];=0A= if ((typeName && input.type !=3D typeName) || (name && input.name = !=3D name))=0A= continue;=0A= matchingInputs.push(Element.extend(input));=0A= }=0A= =0A= return matchingInputs;=0A= },=0A= =0A= disable: function(form) {=0A= form =3D $(form);=0A= Form.getElements(form).invoke('disable');=0A= return form;=0A= },=0A= =0A= enable: function(form) {=0A= form =3D $(form);=0A= Form.getElements(form).invoke('enable');=0A= return form;=0A= },=0A= =0A= findFirstElement: function(form) {=0A= var elements =3D $(form).getElements().findAll(function(element) {=0A= return 'hidden' !=3D element.type && !element.disabled;=0A= });=0A= var firstByIndex =3D elements.findAll(function(element) {=0A= return element.hasAttribute('tabIndex') && element.tabIndex >=3D 0;=0A= }).sortBy(function(element) { return element.tabIndex }).first();=0A= =0A= return firstByIndex ? firstByIndex : elements.find(function(element) = {=0A= return ['input', 'select', = 'textarea'].include(element.tagName.toLowerCase());=0A= });=0A= },=0A= =0A= focusFirstElement: function(form) {=0A= form =3D $(form);=0A= form.findFirstElement().activate();=0A= return form;=0A= },=0A= =0A= request: function(form, options) {=0A= form =3D $(form), options =3D Object.clone(options || { });=0A= =0A= var params =3D options.parameters, action =3D = form.readAttribute('action') || '';=0A= if (action.blank()) action =3D window.location.href;=0A= options.parameters =3D form.serialize(true);=0A= =0A= if (params) {=0A= if (Object.isString(params)) params =3D params.toQueryParams();=0A= Object.extend(options.parameters, params);=0A= }=0A= =0A= if (form.hasAttribute('method') && !options.method)=0A= options.method =3D form.method;=0A= =0A= return new Ajax.Request(action, options);=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element =3D {=0A= focus: function(element) {=0A= $(element).focus();=0A= return element;=0A= },=0A= =0A= select: function(element) {=0A= $(element).select();=0A= return element;=0A= }=0A= };=0A= =0A= Form.Element.Methods =3D {=0A= serialize: function(element) {=0A= element =3D $(element);=0A= if (!element.disabled && element.name) {=0A= var value =3D element.getValue();=0A= if (value !=3D undefined) {=0A= var pair =3D { };=0A= pair[element.name] =3D value;=0A= return Object.toQueryString(pair);=0A= }=0A= }=0A= return '';=0A= },=0A= =0A= getValue: function(element) {=0A= element =3D $(element);=0A= var method =3D element.tagName.toLowerCase();=0A= return Form.Element.Serializers[method](element);=0A= },=0A= =0A= setValue: function(element, value) {=0A= element =3D $(element);=0A= var method =3D element.tagName.toLowerCase();=0A= Form.Element.Serializers[method](element, value);=0A= return element;=0A= },=0A= =0A= clear: function(element) {=0A= $(element).value =3D '';=0A= return element;=0A= },=0A= =0A= present: function(element) {=0A= return $(element).value !=3D '';=0A= },=0A= =0A= activate: function(element) {=0A= element =3D $(element);=0A= try {=0A= element.focus();=0A= if (element.select && (element.tagName.toLowerCase() !=3D 'input' = ||=0A= !['button', 'reset', 'submit'].include(element.type)))=0A= element.select();=0A= } catch (e) { }=0A= return element;=0A= },=0A= =0A= disable: function(element) {=0A= element =3D $(element);=0A= element.disabled =3D true;=0A= return element;=0A= },=0A= =0A= enable: function(element) {=0A= element =3D $(element);=0A= element.disabled =3D false;=0A= return element;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= var Field =3D Form.Element;=0A= var $F =3D Form.Element.Methods.getValue;=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Form.Element.Serializers =3D {=0A= input: function(element, value) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= return Form.Element.Serializers.inputSelector(element, value);=0A= default:=0A= return Form.Element.Serializers.textarea(element, value);=0A= }=0A= },=0A= =0A= inputSelector: function(element, value) {=0A= if (Object.isUndefined(value)) return element.checked ? = element.value : null;=0A= else element.checked =3D !!value;=0A= },=0A= =0A= textarea: function(element, value) {=0A= if (Object.isUndefined(value)) return element.value;=0A= else element.value =3D value;=0A= },=0A= =0A= select: function(element, value) {=0A= if (Object.isUndefined(value))=0A= return this[element.type =3D=3D 'select-one' ?=0A= 'selectOne' : 'selectMany'](element);=0A= else {=0A= var opt, currentValue, single =3D !Object.isArray(value);=0A= for (var i =3D 0, length =3D element.length; i < length; i++) {=0A= opt =3D element.options[i];=0A= currentValue =3D this.optionValue(opt);=0A= if (single) {=0A= if (currentValue =3D=3D value) {=0A= opt.selected =3D true;=0A= return;=0A= }=0A= }=0A= else opt.selected =3D value.include(currentValue);=0A= }=0A= }=0A= },=0A= =0A= selectOne: function(element) {=0A= var index =3D element.selectedIndex;=0A= return index >=3D 0 ? this.optionValue(element.options[index]) : = null;=0A= },=0A= =0A= selectMany: function(element) {=0A= var values, length =3D element.length;=0A= if (!length) return null;=0A= =0A= for (var i =3D 0, values =3D []; i < length; i++) {=0A= var opt =3D element.options[i];=0A= if (opt.selected) values.push(this.optionValue(opt));=0A= }=0A= return values;=0A= },=0A= =0A= optionValue: function(opt) {=0A= // extend element because hasAttribute may not be native=0A= return Element.extend(opt).hasAttribute('value') ? opt.value : = opt.text;=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.TimedObserver =3D Class.create(PeriodicalExecuter, {=0A= initialize: function($super, element, frequency, callback) {=0A= $super(callback, frequency);=0A= this.element =3D $(element);=0A= this.lastValue =3D this.getValue();=0A= },=0A= =0A= execute: function() {=0A= var value =3D this.getValue();=0A= if (Object.isString(this.lastValue) && Object.isString(value) ?=0A= this.lastValue !=3D value : String(this.lastValue) !=3D = String(value)) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= }=0A= });=0A= =0A= Form.Element.Observer =3D Class.create(Abstract.TimedObserver, {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.Observer =3D Class.create(Abstract.TimedObserver, {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Abstract.EventObserver =3D Class.create({=0A= initialize: function(element, callback) {=0A= this.element =3D $(element);=0A= this.callback =3D callback;=0A= =0A= this.lastValue =3D this.getValue();=0A= if (this.element.tagName.toLowerCase() =3D=3D 'form')=0A= this.registerFormCallbacks();=0A= else=0A= this.registerCallback(this.element);=0A= },=0A= =0A= onElementEvent: function() {=0A= var value =3D this.getValue();=0A= if (this.lastValue !=3D value) {=0A= this.callback(this.element, value);=0A= this.lastValue =3D value;=0A= }=0A= },=0A= =0A= registerFormCallbacks: function() {=0A= Form.getElements(this.element).each(this.registerCallback, this);=0A= },=0A= =0A= registerCallback: function(element) {=0A= if (element.type) {=0A= switch (element.type.toLowerCase()) {=0A= case 'checkbox':=0A= case 'radio':=0A= Event.observe(element, 'click', = this.onElementEvent.bind(this));=0A= break;=0A= default:=0A= Event.observe(element, 'change', = this.onElementEvent.bind(this));=0A= break;=0A= }=0A= }=0A= }=0A= });=0A= =0A= Form.Element.EventObserver =3D Class.create(Abstract.EventObserver, {=0A= getValue: function() {=0A= return Form.Element.getValue(this.element);=0A= }=0A= });=0A= =0A= Form.EventObserver =3D Class.create(Abstract.EventObserver, {=0A= getValue: function() {=0A= return Form.serialize(this.element);=0A= }=0A= });=0A= if (!window.Event) var Event =3D { };=0A= =0A= Object.extend(Event, {=0A= KEY_BACKSPACE: 8,=0A= KEY_TAB: 9,=0A= KEY_RETURN: 13,=0A= KEY_ESC: 27,=0A= KEY_LEFT: 37,=0A= KEY_UP: 38,=0A= KEY_RIGHT: 39,=0A= KEY_DOWN: 40,=0A= KEY_DELETE: 46,=0A= KEY_HOME: 36,=0A= KEY_END: 35,=0A= KEY_PAGEUP: 33,=0A= KEY_PAGEDOWN: 34,=0A= KEY_INSERT: 45,=0A= =0A= cache: { },=0A= =0A= relatedTarget: function(event) {=0A= var element;=0A= switch(event.type) {=0A= case 'mouseover': element =3D event.fromElement; break;=0A= case 'mouseout': element =3D event.toElement; break;=0A= default: return null;=0A= }=0A= return Element.extend(element);=0A= }=0A= });=0A= =0A= Event.Methods =3D (function() {=0A= var isButton;=0A= =0A= if (Prototype.Browser.IE) {=0A= var buttonMap =3D { 0: 1, 1: 4, 2: 2 };=0A= isButton =3D function(event, code) {=0A= return event.button =3D=3D buttonMap[code];=0A= };=0A= =0A= } else if (Prototype.Browser.WebKit) {=0A= isButton =3D function(event, code) {=0A= switch (code) {=0A= case 0: return event.which =3D=3D 1 && !event.metaKey;=0A= case 1: return event.which =3D=3D 1 && event.metaKey;=0A= default: return false;=0A= }=0A= };=0A= =0A= } else {=0A= isButton =3D function(event, code) {=0A= return event.which ? (event.which =3D=3D=3D code + 1) : = (event.button =3D=3D=3D code);=0A= };=0A= }=0A= =0A= return {=0A= isLeftClick: function(event) { return isButton(event, 0) },=0A= isMiddleClick: function(event) { return isButton(event, 1) },=0A= isRightClick: function(event) { return isButton(event, 2) },=0A= =0A= element: function(event) {=0A= event =3D Event.extend(event);=0A= =0A= var node =3D event.target,=0A= type =3D event.type,=0A= currentTarget =3D event.currentTarget;=0A= =0A= if (currentTarget && currentTarget.tagName) {=0A= // Firefox screws up the "click" event when moving between radio = buttons=0A= // via arrow keys. It also screws up the "load" and "error" = events on images,=0A= // reporting the document as the target instead of the original = image.=0A= if (type =3D=3D=3D 'load' || type =3D=3D=3D 'error' ||=0A= (type =3D=3D=3D 'click' && currentTarget.tagName.toLowerCase() = =3D=3D=3D 'input'=0A= && currentTarget.type =3D=3D=3D 'radio'))=0A= node =3D currentTarget;=0A= }=0A= if (node.nodeType =3D=3D Node.TEXT_NODE) node =3D node.parentNode;=0A= return Element.extend(node);=0A= },=0A= =0A= findElement: function(event, expression) {=0A= var element =3D Event.element(event);=0A= if (!expression) return element;=0A= var elements =3D [element].concat(element.ancestors());=0A= return Selector.findElement(elements, expression, 0);=0A= },=0A= =0A= pointer: function(event) {=0A= var docElement =3D document.documentElement,=0A= body =3D document.body || { scrollLeft: 0, scrollTop: 0 };=0A= return {=0A= x: event.pageX || (event.clientX +=0A= (docElement.scrollLeft || body.scrollLeft) -=0A= (docElement.clientLeft || 0)),=0A= y: event.pageY || (event.clientY +=0A= (docElement.scrollTop || body.scrollTop) -=0A= (docElement.clientTop || 0))=0A= };=0A= },=0A= =0A= pointerX: function(event) { return Event.pointer(event).x },=0A= pointerY: function(event) { return Event.pointer(event).y },=0A= =0A= stop: function(event) {=0A= Event.extend(event);=0A= event.preventDefault();=0A= event.stopPropagation();=0A= event.stopped =3D true;=0A= }=0A= };=0A= })();=0A= =0A= Event.extend =3D (function() {=0A= var methods =3D Object.keys(Event.Methods).inject({ }, function(m, = name) {=0A= m[name] =3D Event.Methods[name].methodize();=0A= return m;=0A= });=0A= =0A= if (Prototype.Browser.IE) {=0A= Object.extend(methods, {=0A= stopPropagation: function() { this.cancelBubble =3D true },=0A= preventDefault: function() { this.returnValue =3D false },=0A= inspect: function() { return "[object Event]" }=0A= });=0A= =0A= return function(event) {=0A= if (!event) return false;=0A= if (event._extendedByPrototype) return event;=0A= =0A= event._extendedByPrototype =3D Prototype.emptyFunction;=0A= var pointer =3D Event.pointer(event);=0A= Object.extend(event, {=0A= target: event.srcElement,=0A= relatedTarget: Event.relatedTarget(event),=0A= pageX: pointer.x,=0A= pageY: pointer.y=0A= });=0A= return Object.extend(event, methods);=0A= };=0A= =0A= } else {=0A= Event.prototype =3D Event.prototype || = document.createEvent("HTMLEvents")['__proto__'];=0A= Object.extend(Event.prototype, methods);=0A= return Prototype.K;=0A= }=0A= })();=0A= =0A= Object.extend(Event, (function() {=0A= var cache =3D Event.cache;=0A= =0A= function getEventID(element) {=0A= if (element._prototypeEventID) return element._prototypeEventID[0];=0A= arguments.callee.id =3D arguments.callee.id || 1;=0A= return element._prototypeEventID =3D [++arguments.callee.id];=0A= }=0A= =0A= function getDOMEventName(eventName) {=0A= if (eventName && eventName.include(':')) return "dataavailable";=0A= return eventName;=0A= }=0A= =0A= function getCacheForID(id) {=0A= return cache[id] =3D cache[id] || { };=0A= }=0A= =0A= function getWrappersForEventName(id, eventName) {=0A= var c =3D getCacheForID(id);=0A= return c[eventName] =3D c[eventName] || [];=0A= }=0A= =0A= function createWrapper(element, eventName, handler) {=0A= var id =3D getEventID(element);=0A= var c =3D getWrappersForEventName(id, eventName);=0A= if (c.pluck("handler").include(handler)) return false;=0A= =0A= var wrapper =3D function(event) {=0A= if (!Event || !Event.extend ||=0A= (event.eventName && event.eventName !=3D eventName))=0A= return false;=0A= =0A= Event.extend(event);=0A= handler.call(element, event);=0A= };=0A= =0A= wrapper.handler =3D handler;=0A= c.push(wrapper);=0A= return wrapper;=0A= }=0A= =0A= function findWrapper(id, eventName, handler) {=0A= var c =3D getWrappersForEventName(id, eventName);=0A= return c.find(function(wrapper) { return wrapper.handler =3D=3D = handler });=0A= }=0A= =0A= function destroyWrapper(id, eventName, handler) {=0A= var c =3D getCacheForID(id);=0A= if (!c[eventName]) return false;=0A= c[eventName] =3D c[eventName].without(findWrapper(id, eventName, = handler));=0A= }=0A= =0A= function destroyCache() {=0A= for (var id in cache)=0A= for (var eventName in cache[id])=0A= cache[id][eventName] =3D null;=0A= }=0A= =0A= =0A= // Internet Explorer needs to remove event handlers on page unload=0A= // in order to avoid memory leaks.=0A= if (window.attachEvent) {=0A= window.attachEvent("onunload", destroyCache);=0A= }=0A= =0A= // Safari has a dummy event handler on page unload so that it won't=0A= // use its bfcache. Safari <=3D 3.1 has an issue with restoring the = "document"=0A= // object when page is returned to via the back button using its = bfcache.=0A= if (Prototype.Browser.WebKit) {=0A= window.addEventListener('unload', Prototype.emptyFunction, false);=0A= }=0A= =0A= return {=0A= observe: function(element, eventName, handler) {=0A= element =3D $(element);=0A= var name =3D getDOMEventName(eventName);=0A= =0A= var wrapper =3D createWrapper(element, eventName, handler);=0A= if (!wrapper) return element;=0A= =0A= if (element.addEventListener) {=0A= element.addEventListener(name, wrapper, false);=0A= } else {=0A= element.attachEvent("on" + name, wrapper);=0A= }=0A= =0A= return element;=0A= },=0A= =0A= stopObserving: function(element, eventName, handler) {=0A= element =3D $(element);=0A= var id =3D getEventID(element), name =3D = getDOMEventName(eventName);=0A= =0A= if (!handler && eventName) {=0A= getWrappersForEventName(id, eventName).each(function(wrapper) {=0A= element.stopObserving(eventName, wrapper.handler);=0A= });=0A= return element;=0A= =0A= } else if (!eventName) {=0A= Object.keys(getCacheForID(id)).each(function(eventName) {=0A= element.stopObserving(eventName);=0A= });=0A= return element;=0A= }=0A= =0A= var wrapper =3D findWrapper(id, eventName, handler);=0A= if (!wrapper) return element;=0A= =0A= if (element.removeEventListener) {=0A= element.removeEventListener(name, wrapper, false);=0A= } else {=0A= element.detachEvent("on" + name, wrapper);=0A= }=0A= =0A= destroyWrapper(id, eventName, handler);=0A= =0A= return element;=0A= },=0A= =0A= fire: function(element, eventName, memo) {=0A= element =3D $(element);=0A= if (element =3D=3D document && document.createEvent && = !element.dispatchEvent)=0A= element =3D document.documentElement;=0A= =0A= var event;=0A= if (document.createEvent) {=0A= event =3D document.createEvent("HTMLEvents");=0A= event.initEvent("dataavailable", true, true);=0A= } else {=0A= event =3D document.createEventObject();=0A= event.eventType =3D "ondataavailable";=0A= }=0A= =0A= event.eventName =3D eventName;=0A= event.memo =3D memo || { };=0A= =0A= if (document.createEvent) {=0A= element.dispatchEvent(event);=0A= } else {=0A= element.fireEvent(event.eventType, event);=0A= }=0A= =0A= return Event.extend(event);=0A= }=0A= };=0A= })());=0A= =0A= Object.extend(Event, Event.Methods);=0A= =0A= Element.addMethods({=0A= fire: Event.fire,=0A= observe: Event.observe,=0A= stopObserving: Event.stopObserving=0A= });=0A= =0A= Object.extend(document, {=0A= fire: Element.Methods.fire.methodize(),=0A= observe: Element.Methods.observe.methodize(),=0A= stopObserving: Element.Methods.stopObserving.methodize(),=0A= loaded: false=0A= });=0A= =0A= (function() {=0A= /* Support for the DOMContentLoaded event is based on work by Dan Webb,=0A= Matthias Miller, Dean Edwards and John Resig. */=0A= =0A= var timer;=0A= =0A= function fireContentLoadedEvent() {=0A= if (document.loaded) return;=0A= if (timer) window.clearInterval(timer);=0A= document.fire("dom:loaded");=0A= document.loaded =3D true;=0A= }=0A= =0A= if (document.addEventListener) {=0A= if (Prototype.Browser.WebKit) {=0A= timer =3D window.setInterval(function() {=0A= if (/loaded|complete/.test(document.readyState))=0A= fireContentLoadedEvent();=0A= }, 0);=0A= =0A= Event.observe(window, "load", fireContentLoadedEvent);=0A= =0A= } else {=0A= document.addEventListener("DOMContentLoaded",=0A= fireContentLoadedEvent, false);=0A= }=0A= =0A= } else {=0A= document.write("<script id=3D__onDOMContentLoaded defer = src=3D//:><\/script>");=0A= $("__onDOMContentLoaded").onreadystatechange =3D function() {=0A= if (this.readyState =3D=3D "complete") {=0A= this.onreadystatechange =3D null;=0A= fireContentLoadedEvent();=0A= }=0A= };=0A= }=0A= })();=0A= /*------------------------------- DEPRECATED = -------------------------------*/=0A= =0A= Hash.toQueryString =3D Object.toQueryString;=0A= =0A= var Toggle =3D { display: Element.toggle };=0A= =0A= Element.Methods.childOf =3D Element.Methods.descendantOf;=0A= =0A= var Insertion =3D {=0A= Before: function(element, content) {=0A= return Element.insert(element, {before:content});=0A= },=0A= =0A= Top: function(element, content) {=0A= return Element.insert(element, {top:content});=0A= },=0A= =0A= Bottom: function(element, content) {=0A= return Element.insert(element, {bottom:content});=0A= },=0A= =0A= After: function(element, content) {=0A= return Element.insert(element, {after:content});=0A= }=0A= };=0A= =0A= var $continue =3D new Error('"throw $continue" is deprecated, use = "return" instead');=0A= =0A= // This should be moved to script.aculo.us; notice the deprecated methods=0A= // further below, that map to the newer Element methods.=0A= var Position =3D {=0A= // set to true if needed, warning: firefox performance problems=0A= // NOT neeeded for page scrolling, only if draggable contained in=0A= // scrollable elements=0A= includeScrollOffsets: false,=0A= =0A= // must be called before calling withinIncludingScrolloffset, every = time the=0A= // page is scrolled=0A= prepare: function() {=0A= this.deltaX =3D window.pageXOffset=0A= || document.documentElement.scrollLeft=0A= || document.body.scrollLeft=0A= || 0;=0A= this.deltaY =3D window.pageYOffset=0A= || document.documentElement.scrollTop=0A= || document.body.scrollTop=0A= || 0;=0A= },=0A= =0A= // caches x/y coordinate pair to use with overlap=0A= within: function(element, x, y) {=0A= if (this.includeScrollOffsets)=0A= return this.withinIncludingScrolloffsets(element, x, y);=0A= this.xcomp =3D x;=0A= this.ycomp =3D y;=0A= this.offset =3D Element.cumulativeOffset(element);=0A= =0A= return (y >=3D this.offset[1] &&=0A= y < this.offset[1] + element.offsetHeight &&=0A= x >=3D this.offset[0] &&=0A= x < this.offset[0] + element.offsetWidth);=0A= },=0A= =0A= withinIncludingScrolloffsets: function(element, x, y) {=0A= var offsetcache =3D Element.cumulativeScrollOffset(element);=0A= =0A= this.xcomp =3D x + offsetcache[0] - this.deltaX;=0A= this.ycomp =3D y + offsetcache[1] - this.deltaY;=0A= this.offset =3D Element.cumulativeOffset(element);=0A= =0A= return (this.ycomp >=3D this.offset[1] &&=0A= this.ycomp < this.offset[1] + element.offsetHeight &&=0A= this.xcomp >=3D this.offset[0] &&=0A= this.xcomp < this.offset[0] + element.offsetWidth);=0A= },=0A= =0A= // within must be called directly before=0A= overlap: function(mode, element) {=0A= if (!mode) return 0;=0A= if (mode =3D=3D 'vertical')=0A= return ((this.offset[1] + element.offsetHeight) - this.ycomp) /=0A= element.offsetHeight;=0A= if (mode =3D=3D 'horizontal')=0A= return ((this.offset[0] + element.offsetWidth) - this.xcomp) /=0A= element.offsetWidth;=0A= },=0A= =0A= // Deprecation layer -- use newer Element methods now (1.5.2).=0A= =0A= cumulativeOffset: Element.Methods.cumulativeOffset,=0A= =0A= positionedOffset: Element.Methods.positionedOffset,=0A= =0A= absolutize: function(element) {=0A= Position.prepare();=0A= return Element.absolutize(element);=0A= },=0A= =0A= relativize: function(element) {=0A= Position.prepare();=0A= return Element.relativize(element);=0A= },=0A= =0A= realOffset: Element.Methods.cumulativeScrollOffset,=0A= =0A= offsetParent: Element.Methods.getOffsetParent,=0A= =0A= page: Element.Methods.viewportOffset,=0A= =0A= clone: function(source, target, options) {=0A= options =3D options || { };=0A= return Element.clonePosition(target, source, options);=0A= }=0A= };=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= if (!document.getElementsByClassName) document.getElementsByClassName = =3D function(instanceMethods){=0A= function iter(name) {=0A= return name.blank() ? null : "[contains(concat(' ', @class, ' '), ' = " + name + " ')]";=0A= }=0A= =0A= instanceMethods.getElementsByClassName =3D = Prototype.BrowserFeatures.XPath ?=0A= function(element, className) {=0A= className =3D className.toString().strip();=0A= var cond =3D /\s/.test(className) ? $w(className).map(iter).join('') = : iter(className);=0A= return cond ? document._getElementsByXPath('.//*' + cond, element) : = [];=0A= } : function(element, className) {=0A= className =3D className.toString().strip();=0A= var elements =3D [], classNames =3D (/\s/.test(className) ? = $w(className) : null);=0A= if (!classNames && !className) return elements;=0A= =0A= var nodes =3D $(element).getElementsByTagName('*');=0A= className =3D ' ' + className + ' ';=0A= =0A= for (var i =3D 0, child, cn; child =3D nodes[i]; i++) {=0A= if (child.className && (cn =3D ' ' + child.className + ' ') && = (cn.include(className) ||=0A= (classNames && classNames.all(function(name) {=0A= return !name.toString().blank() && cn.include(' ' + name + ' = ');=0A= }))))=0A= elements.push(Element.extend(child));=0A= }=0A= return elements;=0A= };=0A= =0A= return function(className, parentElement) {=0A= return $(parentElement || = document.body).getElementsByClassName(className);=0A= };=0A= }(Element.Methods);=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Element.ClassNames =3D Class.create();=0A= Element.ClassNames.prototype =3D {=0A= initialize: function(element) {=0A= this.element =3D $(element);=0A= },=0A= =0A= _each: function(iterator) {=0A= this.element.className.split(/\s+/).select(function(name) {=0A= return name.length > 0;=0A= })._each(iterator);=0A= },=0A= =0A= set: function(className) {=0A= this.element.className =3D className;=0A= },=0A= =0A= add: function(classNameToAdd) {=0A= if (this.include(classNameToAdd)) return;=0A= this.set($A(this).concat(classNameToAdd).join(' '));=0A= },=0A= =0A= remove: function(classNameToRemove) {=0A= if (!this.include(classNameToRemove)) return;=0A= this.set($A(this).without(classNameToRemove).join(' '));=0A= },=0A= =0A= toString: function() {=0A= return $A(this).join(' ');=0A= }=0A= };=0A= =0A= Object.extend(Element.ClassNames.prototype, Enumerable);=0A= =0A= /*-----------------------------------------------------------------------= ---*/=0A= =0A= Element.addMethods(); ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/includes/script.aculo.us/scriptaculous.js // script.aculo.us scriptaculous.js v1.8.2, Tue Nov 18 18:30:58 +0100 = 2008=0A= =0A= // Copyright (c) 2005-2008 Thomas Fuchs (http://script.aculo.us, = http://mir.aculo.us)=0A= //=0A= // Permission is hereby granted, free of charge, to any person obtaining=0A= // a copy of this software and associated documentation files (the=0A= // "Software"), to deal in the Software without restriction, including=0A= // without limitation the rights to use, copy, modify, merge, publish,=0A= // distribute, sublicense, and/or sell copies of the Software, and to=0A= // permit persons to whom the Software is furnished to do so, subject to=0A= // the following conditions:=0A= //=0A= // The above copyright notice and this permission notice shall be=0A= // included in all copies or substantial portions of the Software.=0A= //=0A= // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,=0A= // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF=0A= // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND=0A= // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE=0A= // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION=0A= // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION=0A= // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.=0A= //=0A= // For details, see the script.aculo.us web site: http://script.aculo.us/=0A= =0A= var Scriptaculous =3D {=0A= Version: '1.8.2',=0A= require: function(libraryName) {=0A= // inserting via DOM fails in Safari 2.0, so brute force approach=0A= document.write('<script type=3D"text/javascript" = src=3D"'+libraryName+'"><\/script>');=0A= },=0A= REQUIRED_PROTOTYPE: '1.6.0.3',=0A= load: function() {=0A= function convertVersionString(versionString) {=0A= var v =3D versionString.replace(/_.*|\./g, '');=0A= v =3D parseInt(v + '0'.times(4-v.length));=0A= return versionString.indexOf('_') > -1 ? v-1 : v;=0A= }=0A= =0A= if((typeof Prototype=3D=3D'undefined') ||=0A= (typeof Element =3D=3D 'undefined') ||=0A= (typeof Element.Methods=3D=3D'undefined') ||=0A= (convertVersionString(Prototype.Version) <=0A= convertVersionString(Scriptaculous.REQUIRED_PROTOTYPE)))=0A= throw("script.aculo.us requires the Prototype JavaScript = framework >=3D " +=0A= Scriptaculous.REQUIRED_PROTOTYPE);=0A= =0A= var js =3D /scriptaculous\.js(\?.*)?$/;=0A= $$('head script[src]').findAll(function(s) {=0A= return s.src.match(js);=0A= }).each(function(s) {=0A= var path =3D s.src.replace(js, ''),=0A= includes =3D s.src.match(/\?.*load=3D([a-z,]*)/);=0A= (includes ? includes[1] : = 'builder,effects,dragdrop,controls,slider,sound').split(',').each(=0A= function(include) { Scriptaculous.require(path+include+'.js') });=0A= });=0A= }=0A= };=0A= =0A= Scriptaculous.load(); ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/includes/tooltip-v0.2.js /*=0A= * Copyright (c) 2006 Jonathan Weiss <jw@innerewut.de>=0A= *=0A= * Permission to use, copy, modify, and distribute this software for any=0A= * purpose with or without fee is hereby granted, provided that the above=0A= * copyright notice and this permission notice appear in all copies.=0A= *=0A= * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL = WARRANTIES=0A= * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF=0A= * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE = FOR=0A= * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES=0A= * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN=0A= * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT = OF=0A= * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.=0A= */=0A= =0A= /*=0A= * Modified from original version to turn off tooltip while a select box = is open=0A= */=0A= =0A= =0A= /* tooltip-0.2.js - Small tooltip library on top of Prototype =0A= * by Jonathan Weiss <jw@innerewut.de> distributed under the BSD = license. =0A= *=0A= * This tooltip library works in two modes. If it gets a valid DOM = element =0A= * or DOM id as an argument it uses this element as the tooltip. This =0A= * element will be placed (and shown) near the mouse pointer when a = trigger-=0A= * element is moused-over.=0A= * If it gets only a text as an argument instead of a DOM id or DOM = element=0A= * it will create a div with the classname 'tooltip' that holds the = given text.=0A= * This newly created div will be used as the tooltip. This is usefull = if you =0A= * want to use tooltip.js to create popups out of title attributes.=0A= * =0A= *=0A= * Usage: =0A= * <script src=3D"/javascripts/prototype.js" = type=3D"text/javascript"></script>=0A= * <script src=3D"/javascripts/tooltip.js" = type=3D"text/javascript"></script>=0A= * <script type=3D"text/javascript">=0A= * // with valid DOM id=0A= * var my_tooltip =3D new Tooltip('id_of_trigger_element', = 'id_of_tooltip_to_show_element')=0A= *=0A= * // with text=0A= * var my_other_tooltip =3D new Tooltip('id_of_trigger_element', 'a = nice description')=0A= *=0A= * // create popups for each element with a title attribute=0A= * Event.observe(window,"load",function() {=0A= * $$("*").findAll(function(node){=0A= * return node.getAttribute('title');=0A= * }).each(function(node){=0A= * new Tooltip(node,node.title);=0A= * node.removeAttribute("title");=0A= * });=0A= * });=0A= * =0A= * </script>=0A= * =0A= * Now whenever you trigger a mouseOver on the `trigger` element, the = tooltip element will=0A= * be shown. On o mouseOut the tooltip disappears. =0A= * =0A= * Example:=0A= * =0A= * <script src=3D"/javascripts/prototype.js" = type=3D"text/javascript"></script>=0A= * <script src=3D"/javascripts/scriptaculous.js" = type=3D"text/javascript"></script>=0A= * <script src=3D"/javascripts/tooltip.js" = type=3D"text/javascript"></script>=0A= *=0A= * <div id=3D'tooltip' style=3D"display:none; margin: 5px; = background-color: red;">=0A= * Detail infos on product 1....<br />=0A= * </div>=0A= *=0A= * <div id=3D'product_1'>=0A= * This is product 1=0A= * </div>=0A= *=0A= * <script type=3D"text/javascript">=0A= * var my_tooltip =3D new Tooltip('product_1', 'tooltip')=0A= * </script>=0A= *=0A= * You can use my_tooltip.destroy() to remove the event observers and = thereby the tooltip.=0A= */=0A= =0A= var Tooltip =3D Class.create();=0A= Tooltip.prototype =3D {=0A= initialize: function(element, tool_tip) {=0A= var options =3D Object.extend({=0A= default_css: false,=0A= margin: "0px",=0A= padding: "15px",=0A= border: "1px solid #ff0",=0A= backgroundColor: "#d6d6fc",=0A= min_distance_x: 5,=0A= min_distance_y: 5,=0A= delta_x: 0,=0A= delta_y: 0,=0A= zindex: 1000=0A= }, arguments[2] || {});=0A= =0A= this.element =3D $(element);=0A= =0A= this.options =3D options;=0A= =0A= // use the supplied tooltip element or create our own div=0A= if($(tool_tip)) {=0A= this.tool_tip =3D $(tool_tip);=0A= } else {=0A= this.tool_tip =3D $(document.createElement("div")); =0A= document.body.appendChild(this.tool_tip);=0A= this.tool_tip.addClassName("tooltip");=0A= this.tool_tip.appendChild(document.createTextNode(tool_tip));=0A= }=0A= =0A= // hide the tool-tip by default=0A= this.tool_tip.hide();=0A= =0A= this.eventMouseOver =3D this.showTooltip.bindAsEventListener(this);=0A= this.eventMouseOut =3D this.hideTooltip.bindAsEventListener(this);=0A= this.eventMouseMove =3D this.moveTooltip.bindAsEventListener(this);=0A= =0A= this.registerEvents();=0A= },=0A= =0A= destroy: function() {=0A= Event.stopObserving(this.element, "mouseover", this.eventMouseOver);=0A= Event.stopObserving(this.element, "mouseout", this.eventMouseOut);=0A= Event.stopObserving(this.element, "mousemove", this.eventMouseMove);=0A= },=0A= =0A= registerEvents: function() {=0A= Event.observe(this.element, "mouseover", this.eventMouseOver);=0A= Event.observe(this.element, "mouseout", this.eventMouseOut);=0A= Event.observe(this.element, "mousemove", this.eventMouseMove);=0A= },=0A= =0A= moveTooltip: function(event){=0A= Event.stop(event);=0A= // get Mouse position=0A= var elem =3D (event.target) ? event.target : event.srcElement;=0A= if (elem.tagName.toUpperCase() =3D=3D "OPTION") {=0A= this.hideTooltip(event);=0A= return;=0A= }=0A= var mouse_x =3D Event.pointerX(event);=0A= var mouse_y =3D Event.pointerY(event);=0A= =0A= // decide if wee need to switch sides for the tooltip=0A= var dimensions =3D Element.getDimensions( this.tool_tip );=0A= var element_width =3D dimensions.width;=0A= var element_height =3D dimensions.height;=0A= =0A= if ( (element_width + mouse_x) >=3D ( this.getWindowWidth() - = this.options.min_distance_x) ){ // too big for X=0A= mouse_x =3D mouse_x - element_width;=0A= // apply min_distance to make sure that the mouse is not on the = tool-tip=0A= mouse_x =3D mouse_x - this.options.min_distance_x;=0A= } else {=0A= mouse_x =3D mouse_x + this.options.min_distance_x;=0A= }=0A= =0A= if ( (element_height + mouse_y) >=3D ( this.getWindowHeight() - = this.options.min_distance_y) ){ // too big for Y=0A= mouse_y =3D mouse_y - element_height;=0A= // apply min_distance to make sure that the mouse is not on the = tool-tip=0A= mouse_y =3D mouse_y - this.options.min_distance_y;=0A= } else {=0A= mouse_y =3D mouse_y + this.options.min_distance_y;=0A= } =0A= =0A= // now set the right styles=0A= this.setStyles(mouse_x, mouse_y);=0A= },=0A= =0A= =0A= showTooltip: function(event) {=0A= Event.stop(event);=0A= this.moveTooltip(event);=0A= new Element.show(this.tool_tip);=0A= },=0A= =0A= setStyles: function(x, y){=0A= // set the right styles to position the tool tip=0A= Element.setStyle(this.tool_tip, { position:'absolute',=0A= top:y + this.options.delta_y + "px",=0A= left:x + this.options.delta_x + "px",=0A= zindex:this.options.zindex=0A= });=0A= =0A= // apply default theme if wanted=0A= if (this.options.default_css){=0A= Element.setStyle(this.tool_tip, { margin:this.options.margin,=0A= padding:this.options.padding,=0A= = backgroundColor:this.options.backgroundColor,=0A= zindex:this.options.zindex=0A= }); =0A= } =0A= },=0A= =0A= hideTooltip: function(event){=0A= new Element.hide(this.tool_tip);=0A= },=0A= =0A= getWindowHeight: function(){=0A= var innerHeight;=0A= if (navigator.appVersion.indexOf('MSIE')>0) {=0A= innerHeight =3D document.body.clientHeight;=0A= } else {=0A= innerHeight =3D window.innerHeight;=0A= }=0A= return innerHeight; =0A= },=0A= =0A= getWindowWidth: function(){=0A= var innerWidth;=0A= if (navigator.appVersion.indexOf('MSIE')>0) {=0A= innerWidth =3D document.body.clientWidth;=0A= } else {=0A= innerWidth =3D window.innerWidth;=0A= }=0A= return innerWidth; =0A= }=0A= =0A= }=0A= ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/includes/tabbedlayout.js // Written by Sean Treadway 2006 sean@treadway.info=0A= // Free Beer and Free Speech - the best license of all=0A= =0A= TabControl =3D function(control_id, options) {=0A= var id =3D "#" + control_id;=0A= $$(id+' ul.tabs li a').each(function(a) {=0A= var page =3D a.getAttribute('href').match(/[-_\w]+$/i)[0];=0A= =0A= if (page !=3D options['current']) { $(page).hide() } =0A= else { $(a.parentNode).addClassName('active') }=0A= =0A= var showTab =3D function(e) {=0A= $$(id+' ul.tabs li.active').each(function(e) { = e.removeClassName('active'); })=0A= $$(id+' .tab_page[id!=3D'+page+']').each(function(e) { e.hide() });=0A= $(a.parentNode).addClassName('active');=0A= $(page).show();=0A= Event.stop(e);=0A= };=0A= =0A= Event.observe(a, 'click', showTab);=0A= });=0A= } ------=_NextPart_000_0000_01CC099E.FB1C2430 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: https://act.garfield-county.com/assessor/web/includes/modalbox1.6.0/modalbox.js /*=0A= ModalBox - The pop-up window thingie with AJAX, based on prototype and = script.aculo.us.=0A= =0A= Copyright Andrey Okonetchnikov (andrej.okonetschnikow@gmail.com), = 2006-2007=0A= All rights reserved.=0A= =0A= VERSION 1.6.0=0A= Last Modified: 12/13/2007=0A= */=0A= =0A= if (!window.Modalbox)=0A= var Modalbox =3D new Object();=0A= =0A= Modalbox.Methods =3D {=0A= overrideAlert: false, // Override standard browser alert message with = ModalBox=0A= focusableElements: new Array,=0A= currFocused: 0,=0A= initialized: false,=0A= active: true,=0A= options: {=0A= title: "ModalBox Window", // Title of the ModalBox window=0A= overlayClose: true, // Close modal box by clicking on overlay=0A= width: 500, // Default width in px=0A= height: 90, // Default height in px=0A= overlayOpacity: .65, // Default overlay opacity=0A= overlayDuration: .25, // Default overlay fade in/out duration in = seconds=0A= slideDownDuration: .5, // Default Modalbox appear slide down effect in = seconds=0A= slideUpDuration: .5, // Default Modalbox hiding slide up effect in = seconds=0A= resizeDuration: .25, // Default resize duration seconds=0A= inactiveFade: true, // Fades MB window on inactive state=0A= transitions: true, // Toggles transition effects. Transitions are = enabled by default=0A= loadingString: "Please wait. Loading...", // Default loading string = message=0A= closeString: "Close window", // Default title attribute for close = window link=0A= closeValue: "&times;", // Default string for close link in the header=0A= params: {},=0A= method: 'get', // Default Ajax request method=0A= autoFocusing: true, // Toggles auto-focusing for form elements. = Disable for long text pages.=0A= aspnet: false // Should be use then using with ASP.NET costrols. Then = true Modalbox window will be injected into the first form element.=0A= },=0A= _options: new Object,=0A= =0A= setOptions: function(options) {=0A= Object.extend(this.options, options || {});=0A= },=0A= =0A= _init: function(options) {=0A= // Setting up original options with default options=0A= Object.extend(this._options, this.options);=0A= this.setOptions(options);=0A= =0A= //Create the overlay=0A= this.MBoverlay =3D new Element("div", { id: "MB_overlay", opacity: "0" = });=0A= =0A= //Create DOm for the window=0A= this.MBwindow =3D new Element("div", {id: "MB_window", style: = "display: none"}).update(=0A= this.MBframe =3D new Element("div", {id: "MB_frame"}).update(=0A= this.MBheader =3D new Element("div", {id: "MB_header"}).update(=0A= this.MBcaption =3D new Element("div", {id: "MB_caption"})=0A= )=0A= )=0A= );=0A= this.MBclose =3D new Element("a", {id: "MB_close", title: = this.options.closeString, href: "#"}).update("<span>" + = this.options.closeValue + "</span>");=0A= this.MBheader.insert({'bottom':this.MBclose});=0A= =0A= this.MBcontent =3D new Element("div", {id: "MB_content"}).update(=0A= this.MBloading =3D new Element("div", {id: = "MB_loading"}).update(this.options.loadingString)=0A= );=0A= this.MBframe.insert({'bottom':this.MBcontent});=0A= =0A= // Inserting into DOM. If parameter set and form element have been = found will inject into it. Otherwise will inject into body as topmost = element.=0A= // Be sure to set padding and marging to null via CSS for both body = and (in case of asp.net) form elements. =0A= var injectToEl =3D this.options.aspnet ? $(document.body).down('form') = : $(document.body);=0A= injectToEl.insert({'top':this.MBwindow});=0A= injectToEl.insert({'top':this.MBoverlay});=0A= =0A= // Initial scrolling position of the window. To be used for remove = scrolling effect during ModalBox appearing=0A= this.initScrollX =3D window.pageXOffset || document.body.scrollLeft || = document.documentElement.scrollLeft;=0A= this.initScrollY =3D window.pageYOffset || document.body.scrollTop || = document.documentElement.scrollTop;=0A= =0A= //Adding event observers=0A= this.hideObserver =3D this._hide.bindAsEventListener(this);=0A= this.kbdObserver =3D this._kbdHandler.bindAsEventListener(this);=0A= this._initObservers();=0A= =0A= this.initialized =3D true; // Mark as initialized=0A= },=0A= =0A= show: function(content, options) {=0A= if(!this.initialized) this._init(options); // Check for is already = initialized=0A= =0A= this.content =3D content;=0A= this.setOptions(options);=0A= =0A= if(this.options.title) // Updating title of the MB=0A= $(this.MBcaption).update(this.options.title);=0A= else { // If title isn't given, the header will not displayed=0A= $(this.MBheader).hide();=0A= $(this.MBcaption).hide();=0A= }=0A= =0A= if(this.MBwindow.style.display =3D=3D "none") { // First modal box = appearing=0A= this._appear();=0A= this.event("onShow"); // Passing onShow callback=0A= }=0A= else { // If MB already on the screen, update it=0A= this._update();=0A= this.event("onUpdate"); // Passing onUpdate callback=0A= } =0A= },=0A= =0A= hide: function(options) { // External hide method to use from external = HTML and JS=0A= if(this.initialized) {=0A= // Reading for options/callbacks except if event given as a pararmeter=0A= if(options && typeof options.element !=3D 'function') = Object.extend(this.options, options); =0A= // Passing beforeHide callback=0A= this.event("beforeHide");=0A= if(this.options.transitions)=0A= Effect.SlideUp(this.MBwindow, { duration: = this.options.slideUpDuration, transition: Effect.Transitions.sinoidal, = afterFinish: this._deinit.bind(this) } );=0A= else {=0A= $(this.MBwindow).hide();=0A= this._deinit();=0A= }=0A= } else throw("Modalbox is not initialized.");=0A= },=0A= =0A= _hide: function(event) { // Internal hide method to use with overlay = and close link=0A= event.stop(); // Stop event propaganation for link elements=0A= /* Then clicked on overlay we'll check the option and in case of = overlayClose =3D=3D false we'll break hiding execution [Fix for #139] */=0A= if(event.element().id =3D=3D 'MB_overlay' && = !this.options.overlayClose) return false;=0A= this.hide();=0A= },=0A= =0A= alert: function(message){=0A= var html =3D '<div class=3D"MB_alert"><p>' + message + '</p><input = type=3D"button" onclick=3D"Modalbox.hide()" value=3D"OK" /></div>';=0A= Modalbox.show(html, {title: 'Alert: ' + document.title, width: 300});=0A= },=0A= =0A= _appear: function() { // First appearing of MB=0A= if(Prototype.Browser.IE && !navigator.appVersion.match(/\b7.0\b/)) { = // Preparing IE 6 for showing modalbox=0A= window.scrollTo(0,0);=0A= this._prepareIE("100%", "hidden"); =0A= }=0A= this._setWidth();=0A= this._setPosition();=0A= if(this.options.transitions) {=0A= $(this.MBoverlay).setStyle({opacity: 0});=0A= new Effect.Fade(this.MBoverlay, {=0A= from: 0, =0A= to: this.options.overlayOpacity, =0A= duration: this.options.overlayDuration, =0A= afterFinish: function() {=0A= new Effect.SlideDown(this.MBwindow, {=0A= duration: this.options.slideDownDuration, =0A= transition: Effect.Transitions.sinoidal, =0A= afterFinish: function(){ =0A= this._setPosition(); =0A= this.loadContent();=0A= }.bind(this)=0A= });=0A= }.bind(this)=0A= });=0A= } else {=0A= $(this.MBoverlay).setStyle({opacity: this.options.overlayOpacity});=0A= $(this.MBwindow).show();=0A= this._setPosition(); =0A= this.loadContent();=0A= }=0A= this._setWidthAndPosition =3D = this._setWidthAndPosition.bindAsEventListener(this);=0A= Event.observe(window, "resize", this._setWidthAndPosition);=0A= },=0A= =0A= resize: function(byWidth, byHeight, options) { // Change size of MB = without loading content=0A= var wHeight =3D $(this.MBwindow).getHeight();=0A= var wWidth =3D $(this.MBwindow).getWidth();=0A= var hHeight =3D $(this.MBheader).getHeight();=0A= var cHeight =3D $(this.MBcontent).getHeight();=0A= var newHeight =3D ((wHeight - hHeight + byHeight) < cHeight) ? = (cHeight + hHeight - wHeight) : byHeight;=0A= if(options) this.setOptions(options); // Passing callbacks=0A= if(this.options.transitions) {=0A= new Effect.ScaleBy(this.MBwindow, byWidth, newHeight, {=0A= duration: this.options.resizeDuration, =0A= afterFinish: function() { =0A= this.event("_afterResize"); // Passing internal callback=0A= this.event("afterResize"); // Passing callback=0A= }.bind(this)=0A= });=0A= } else {=0A= this.MBwindow.setStyle({width: wWidth + byWidth + "px", height: = wHeight + newHeight + "px"});=0A= setTimeout(function() {=0A= this.event("_afterResize"); // Passing internal callback=0A= this.event("afterResize"); // Passing callback=0A= }.bind(this), 1);=0A= =0A= }=0A= =0A= },=0A= =0A= resizeToContent: function(options){=0A= =0A= // Resizes the modalbox window to the actual content height.=0A= // This might be useful to resize modalbox after some content = modifications which were changed ccontent height.=0A= =0A= var byHeight =3D this.options.height - this.MBwindow.offsetHeight;=0A= if(byHeight !=3D 0) {=0A= if(options) this.setOptions(options); // Passing callbacks=0A= Modalbox.resize(0, byHeight);=0A= }=0A= },=0A= =0A= resizeToInclude: function(element, options){=0A= =0A= // Resizes the modalbox window to the camulative height of element. = Calculations are using CSS properties for margins and border.=0A= // This method might be useful to resize modalbox before including or = updating content.=0A= =0A= var el =3D $(element);=0A= var elHeight =3D el.getHeight() + parseInt(el.getStyle('margin-top')) = + parseInt(el.getStyle('margin-bottom')) + = parseInt(el.getStyle('border-top-width')) + = parseInt(el.getStyle('border-bottom-width'));=0A= if(elHeight > 0) {=0A= if(options) this.setOptions(options); // Passing callbacks=0A= Modalbox.resize(0, elHeight);=0A= }=0A= },=0A= =0A= _update: function() { // Updating MB in case of wizards=0A= $(this.MBcontent).update("");=0A= this.MBcontent.appendChild(this.MBloading);=0A= $(this.MBloading).update(this.options.loadingString);=0A= this.currentDims =3D [this.MBwindow.offsetWidth, = this.MBwindow.offsetHeight];=0A= Modalbox.resize((this.options.width - this.currentDims[0]), = (this.options.height - this.currentDims[1]), {_afterResize: = this._loadAfterResize.bind(this) });=0A= },=0A= =0A= loadContent: function () {=0A= if(this.event("beforeLoad") !=3D false) { // If callback passed false, = skip loading of the content=0A= if(typeof this.content =3D=3D 'string') {=0A= var htmlRegExp =3D new RegExp(/<\/?[^>]+>/gi);=0A= if(htmlRegExp.test(this.content)) { // Plain HTML given as a = parameter=0A= this._insertContent(this.content.stripScripts());=0A= this._putContent(function(){=0A= this.content.extractScripts().map(function(script) { =0A= return eval(script.replace("<!--", "").replace("// -->", ""));=0A= }.bind(window));=0A= }.bind(this));=0A= } else // URL given as a parameter. We'll request it via Ajax=0A= new Ajax.Request( this.content, { method: = this.options.method.toLowerCase(), parameters: this.options.params, =0A= onSuccess: function(transport) {=0A= var response =3D new String(transport.responseText);=0A= this._insertContent(transport.responseText.stripScripts());=0A= this._putContent(function(){=0A= response.extractScripts().map(function(script) { =0A= return eval(script.replace("<!--", "").replace("// -->", ""));=0A= }.bind(window));=0A= });=0A= }.bind(this),=0A= onException: function(instance, exception){=0A= Modalbox.hide();=0A= throw('Modalbox Loading Error: ' + exception);=0A= }=0A= });=0A= =0A= } else if (typeof this.content =3D=3D 'object') {// HTML Object is = given=0A= this._insertContent(this.content);=0A= this._putContent();=0A= } else {=0A= Modalbox.hide();=0A= throw('Modalbox Parameters Error: Please specify correct URL or HTML = element (plain HTML or object)');=0A= }=0A= }=0A= },=0A= =0A= _insertContent: function(content){=0A= $(this.MBcontent).hide().update("");=0A= if(typeof content =3D=3D 'string') {=0A= setTimeout(function() { // Hack to disable content flickering in = Firefox=0A= this.MBcontent.update(content);=0A= }.bind(this), 1);=0A= } else if (typeof content =3D=3D 'object') { // HTML Object is given=0A= var _htmlObj =3D content.cloneNode(true); // If node already a part = of DOM we'll clone it=0A= // If clonable element has ID attribute defined, modifying it to = prevent duplicates=0A= if(content.id) content.id =3D "MB_" + content.id;=0A= /* Add prefix for IDs on all elements inside the DOM node */=0A= $(content).select('*[id]').each(function(el){ el.id =3D "MB_" + = el.id; });=0A= this.MBcontent.appendChild(_htmlObj);=0A= this.MBcontent.down().show(); // Toggle visibility for hidden nodes=0A= if(Prototype.Browser.IE) // Toggling back visibility for hidden = selects in IE=0A= $$("#MB_content select").invoke('setStyle', {'visibility': ''});=0A= }=0A= },=0A= =0A= _putContent: function(callback){=0A= // Prepare and resize modal box for content=0A= if(this.options.height =3D=3D this._options.height) {=0A= setTimeout(function() { // MSIE sometimes doesn't display content = correctly=0A= Modalbox.resize(0, $(this.MBcontent).getHeight() - = $(this.MBwindow).getHeight() + $(this.MBheader).getHeight(), {=0A= afterResize: function(){=0A= this.MBcontent.show().makePositioned();=0A= this.focusableElements =3D this._findFocusableElements();=0A= this._setFocus(); // Setting focus on first 'focusable' element in = content (input, select, textarea, link or button)=0A= setTimeout(function(){ // MSIE fix=0A= if(callback !=3D undefined)=0A= callback(); // Executing internal JS from loaded content=0A= this.event("afterLoad"); // Passing callback=0A= }.bind(this),1);=0A= }.bind(this)=0A= });=0A= }.bind(this), 1);=0A= } else { // Height is defined. Creating a scrollable window=0A= this._setWidth();=0A= this.MBcontent.setStyle({overflow: 'auto', height: = $(this.MBwindow).getHeight() - $(this.MBheader).getHeight() - 13 + = 'px'});=0A= this.MBcontent.show();=0A= this.focusableElements =3D this._findFocusableElements();=0A= this._setFocus(); // Setting focus on first 'focusable' element in = content (input, select, textarea, link or button)=0A= setTimeout(function(){ // MSIE fix=0A= if(callback !=3D undefined)=0A= callback(); // Executing internal JS from loaded content=0A= this.event("afterLoad"); // Passing callback=0A= }.bind(this),1);=0A= }=0A= },=0A= =0A= activate: function(options){=0A= this.setOptions(options);=0A= this.active =3D true;=0A= $(this.MBclose).observe("click", this.hideObserver);=0A= if(this.options.overlayClose)=0A= $(this.MBoverlay).observe("click", this.hideObserver);=0A= $(this.MBclose).show();=0A= if(this.options.transitions && this.options.inactiveFade)=0A= new Effect.Appear(this.MBwindow, {duration: = this.options.slideUpDuration});=0A= },=0A= =0A= deactivate: function(options) {=0A= this.setOptions(options);=0A= this.active =3D false;=0A= $(this.MBclose).stopObserving("click", this.hideObserver);=0A= if(this.options.overlayClose)=0A= $(this.MBoverlay).stopObserving("click", this.hideObserver);=0A= $(this.MBclose).hide();=0A= if(this.options.transitions && this.options.inactiveFade)=0A= new Effect.Fade(this.MBwindow, {duration: = this.options.slideUpDuration, to: .75});=0A= },=0A= =0A= _initObservers: function(){=0A= $(this.MBclose).observe("click", this.hideObserver);=0A= if(this.options.overlayClose)=0A= $(this.MBoverlay).observe("click", this.hideObserver);=0A= if(Prototype.Browser.IE)=0A= Event.observe(document, "keydown", this.kbdObserver);=0A= else=0A= Event.observe(document, "keypress", this.kbdObserver);=0A= },=0A= =0A= _removeObservers: function(){=0A= $(this.MBclose).stopObserving("click", this.hideObserver);=0A= if(this.options.overlayClose)=0A= $(this.MBoverlay).stopObserving("click", this.hideObserver);=0A= if(Prototype.Browser.IE)=0A= Event.stopObserving(document, "keydown", this.kbdObserver);=0A= else=0A= Event.stopObserving(document, "keypress", this.kbdObserver);=0A= },=0A= =0A= _loadAfterResize: function() {=0A= this._setWidth();=0A= this._setPosition();=0A= this.loadContent();=0A= },=0A= =0A= _setFocus: function() { =0A= /* Setting focus to the first 'focusable' element which is one with = tabindex =3D 1 or the first in the form loaded. */=0A= if(this.focusableElements.length > 0 && this.options.autoFocusing = =3D=3D true) {=0A= var firstEl =3D this.focusableElements.find(function (el){=0A= return el.tabIndex =3D=3D 1;=0A= }) || this.focusableElements.first();=0A= this.currFocused =3D = this.focusableElements.toArray().indexOf(firstEl);=0A= firstEl.focus(); // Focus on first focusable element except close = button=0A= } else if($(this.MBclose).visible())=0A= $(this.MBclose).focus(); // If no focusable elements exist focus on = close button=0A= },=0A= =0A= _findFocusableElements: function(){ // Collect form elements or links = from MB content=0A= this.MBcontent.select('input:not([type~=3Dhidden]), select, textarea, = button, a[href]').invoke('addClassName', 'MB_focusable');=0A= return this.MBcontent.select('.MB_focusable');=0A= },=0A= =0A= _kbdHandler: function(event) {=0A= var node =3D event.element();=0A= switch(event.keyCode) {=0A= case Event.KEY_TAB:=0A= event.stop();=0A= =0A= /* Switching currFocused to the element which was focused by mouse = instead of TAB-key. Fix for #134 */ =0A= if(node !=3D this.focusableElements[this.currFocused])=0A= this.currFocused =3D this.focusableElements.toArray().indexOf(node);=0A= =0A= if(!event.shiftKey) { //Focusing in direct order=0A= if(this.currFocused =3D=3D this.focusableElements.length - 1) {=0A= this.focusableElements.first().focus();=0A= this.currFocused =3D 0;=0A= } else {=0A= this.currFocused++;=0A= this.focusableElements[this.currFocused].focus();=0A= }=0A= } else { // Shift key is pressed. Focusing in reverse order=0A= if(this.currFocused =3D=3D 0) {=0A= this.focusableElements.last().focus();=0A= this.currFocused =3D this.focusableElements.length - 1;=0A= } else {=0A= this.currFocused--;=0A= this.focusableElements[this.currFocused].focus();=0A= }=0A= }=0A= break; =0A= case Event.KEY_ESC:=0A= if(this.active) this._hide(event);=0A= break;=0A= case 32:=0A= this._preventScroll(event);=0A= break;=0A= case 0: // For Gecko browsers compatibility=0A= if(event.which =3D=3D 32) this._preventScroll(event);=0A= break;=0A= case Event.KEY_UP:=0A= case Event.KEY_DOWN:=0A= case Event.KEY_PAGEDOWN:=0A= case Event.KEY_PAGEUP:=0A= case Event.KEY_HOME:=0A= case Event.KEY_END:=0A= // Safari operates in slightly different way. This realization is = still buggy in Safari.=0A= if(Prototype.Browser.WebKit && !["textarea", = "select"].include(node.tagName.toLowerCase()))=0A= event.stop();=0A= else if( (node.tagName.toLowerCase() =3D=3D "input" && ["submit", = "button"].include(node.type)) || (node.tagName.toLowerCase() =3D=3D "a") = )=0A= event.stop();=0A= break;=0A= }=0A= },=0A= =0A= _preventScroll: function(event) { // Disabling scrolling by "space" key=0A= if(!["input", "textarea", "select", = "button"].include(event.element().tagName.toLowerCase())) =0A= event.stop();=0A= },=0A= =0A= _deinit: function()=0A= { =0A= this._removeObservers();=0A= Event.stopObserving(window, "resize", this._setWidthAndPosition );=0A= if(this.options.transitions) {=0A= Effect.toggle(this.MBoverlay, 'appear', {duration: = this.options.overlayDuration, afterFinish: = this._removeElements.bind(this) });=0A= } else {=0A= this.MBoverlay.hide();=0A= this._removeElements();=0A= }=0A= $(this.MBcontent).setStyle({overflow: '', height: ''});=0A= },=0A= =0A= _removeElements: function () {=0A= $(this.MBoverlay).remove();=0A= $(this.MBwindow).remove();=0A= if(Prototype.Browser.IE && !navigator.appVersion.match(/\b7.0\b/)) {=0A= this._prepareIE("", ""); // If set to auto MSIE will show horizontal = scrolling=0A= window.scrollTo(this.initScrollX, this.initScrollY);=0A= }=0A= =0A= /* Replacing prefixes 'MB_' in IDs for the original content */=0A= if(typeof this.content =3D=3D 'object') {=0A= if(this.content.id && this.content.id.match(/MB_/)) {=0A= this.content.id =3D this.content.id.replace(/MB_/, "");=0A= }=0A= this.content.select('*[id]').each(function(el){ el.id =3D = el.id.replace(/MB_/, ""); });=0A= }=0A= /* Initialized will be set to false */=0A= this.initialized =3D false;=0A= this.event("afterHide"); // Passing afterHide callback=0A= this.setOptions(this._options); //Settings options object into intial = state=0A= },=0A= =0A= _setWidth: function () { //Set size=0A= $(this.MBwindow).setStyle({width: this.options.width + "px", height: = this.options.height + "px"});=0A= },=0A= =0A= _setPosition: function () {=0A= $(this.MBwindow).setStyle({left: = Math.round((Element.getWidth(document.body) - = Element.getWidth(this.MBwindow)) / 2 ) + "px"});=0A= },=0A= =0A= _setWidthAndPosition: function () {=0A= $(this.MBwindow).setStyle({width: this.options.width + "px"});=0A= this._setPosition();=0A= },=0A= =0A= _getScrollTop: function () { //From: = http://www.quirksmode.org/js/doctypes.html=0A= var theTop;=0A= if (document.documentElement && document.documentElement.scrollTop)=0A= theTop =3D document.documentElement.scrollTop;=0A= else if (document.body)=0A= theTop =3D document.body.scrollTop;=0A= return theTop;=0A= },=0A= _prepareIE: function(height, overflow){=0A= $$('html, body').invoke('setStyle', {width: height, height: height, = overflow: overflow}); // IE requires width and height set to 100% and = overflow hidden=0A= $$("select").invoke('setStyle', {'visibility': overflow}); // Toggle = visibility for all selects in the common document=0A= },=0A= event: function(eventName) {=0A= if(this.options[eventName]) {=0A= var returnValue =3D this.options[eventName](); // Executing callback=0A= this.options[eventName] =3D null; // Removing callback after execution=0A= if(returnValue !=3D undefined) =0A= return returnValue;=0A= else =0A= return true;=0A= }=0A= return true;=0A= }=0A= };=0A= =0A= Object.extend(Modalbox, Modalbox.Methods);=0A= =0A= if(Modalbox.overrideAlert) window.alert =3D Modalbox.alert;=0A= =0A= Effect.ScaleBy =3D Class.create();=0A= Object.extend(Object.extend(Effect.ScaleBy.prototype, = Effect.Base.prototype), {=0A= initialize: function(element, byWidth, byHeight, options) {=0A= this.element =3D $(element)=0A= var options =3D Object.extend({=0A= scaleFromTop: true,=0A= scaleMode: 'box', // 'box' or 'contents' or {} with = provided values=0A= scaleByWidth: byWidth,=0A= scaleByHeight: byHeight=0A= }, arguments[3] || {});=0A= this.start(options);=0A= },=0A= setup: function() {=0A= this.elementPositioning =3D this.element.getStyle('position');=0A= =0A= this.originalTop =3D this.element.offsetTop;=0A= this.originalLeft =3D this.element.offsetLeft;=0A= =0A= this.dims =3D null;=0A= if(this.options.scaleMode=3D=3D'box')=0A= this.dims =3D [this.element.offsetHeight, = this.element.offsetWidth];=0A= if(/^content/.test(this.options.scaleMode))=0A= this.dims =3D [this.element.scrollHeight, = this.element.scrollWidth];=0A= if(!this.dims)=0A= this.dims =3D [this.options.scaleMode.originalHeight,=0A= this.options.scaleMode.originalWidth];=0A= =0A= this.deltaY =3D this.options.scaleByHeight;=0A= this.deltaX =3D this.options.scaleByWidth;=0A= },=0A= update: function(position) {=0A= var currentHeight =3D this.dims[0] + (this.deltaY * position);=0A= var currentWidth =3D this.dims[1] + (this.deltaX * position);=0A= =0A= currentHeight =3D (currentHeight > 0) ? currentHeight : 0;=0A= currentWidth =3D (currentWidth > 0) ? currentWidth : 0;=0A= =0A= this.setDimensions(currentHeight, currentWidth);=0A= },=0A= =0A= setDimensions: function(height, width) {=0A= var d =3D {};=0A= d.width =3D width + 'px';=0A= d.height =3D height + 'px';=0A= =0A= var topd =3D Math.round((height - this.dims[0])/2);=0A= var leftd =3D Math.round((width - this.dims[1])/2);=0A= if(this.elementPositioning =3D=3D 'absolute' || this.elementPositioning = =3D=3D 'fixed') {=0A= if(!this.options.scaleFromTop) d.top =3D this.originalTop-topd + 'px';=0A= d.left =3D this.originalLeft-leftd + 'px';=0A= } else {=0A= if(!this.options.scaleFromTop) d.top =3D -topd + 'px';=0A= d.left =3D -leftd + 'px';=0A= }=0A= this.element.setStyle(d);=0A= }=0A= }); ------=_NextPart_000_0000_01CC099E.FB1C2430--