From: "Saved by Windows Internet Explorer 7"
Subject: =?Windows-1252?Q?TCNJ_Magazine_=BB_Alumni_Corner_October_2008_=BB_Former_?=
	=?Windows-1252?Q?Fashion_Designer_Finds_Fulfillment_in_the_World_of_Non-P?=
	=?Windows-1252?Q?rofit_Education?=
Date: Wed, 18 Feb 2009 13:40:35 -0500
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01C991CE.7A3A2050"
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18049

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/?p=652

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" =
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML lang=3Den-US dir=3Dltr =
xmlns=3D"http://www.w3.org/1999/xhtml"><HEAD=20
profile=3Dhttp://gmpg.org/xfn/11><TITLE>TCNJ Magazine =C2=BB Alumni =
Corner October 2008 =C2=BB Former Fashion Designer Finds Fulfillment in =
the World of Non-Profit Education</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; charset=3DUTF-8">
<META content=3D"MSHTML 6.00.6001.18203" name=3DGENERATOR><!-- leave =
this for stats --><LINK media=3Dscreen=20
href=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/style.css"=
=20
type=3Dtext/css rel=3Dstylesheet><LINK media=3Dscreen=20
href=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/nav.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK media=3Dprint=20
href=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/print.css"=
=20
type=3Dtext/css rel=3Dstylesheet>
<SCRIPT=20
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/js/dropdown=
s.js"=20
type=3Dtext/javascript></SCRIPT>
<LINK title=3D"TCNJ Magazine RSS Feed"=20
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2" =
type=3Dapplication/rss+xml=20
rel=3Dalternate><LINK href=3D"http://www.tcnjmagazine.com/xmlrpc.php" =
rel=3Dpingback>
<META content=3D0.99.1 name=3DNextGEN>
<STYLE type=3Dtext/css media=3Dscreen>@import url( =
http://www.tcnjmagazine.com/wp-content/plugins/nextgen-gallery/css/nggall=
ery.css );
</STYLE>
<LINK title=3DRSD href=3D"http://www.tcnjmagazine.com/xmlrpc.php?rsd"=20
type=3Dapplication/rsd+xml rel=3DEditURI><LINK=20
href=3D"http://www.tcnjmagazine.com/wp-includes/wlwmanifest.xml"=20
type=3Dapplication/wlwmanifest+xml rel=3Dwlwmanifest>
<SCRIPT =
src=3D"http://www.tcnjmagazine.com/wp-includes/js/prototype.js?ver=3D1.6"=
=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.tcnjmagazine.com/wp-includes/js/scriptaculous/wp-script=
aculous.js?ver=3D1.8.0"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.tcnjmagazine.com/wp-includes/js/scriptaculous/effects.j=
s?ver=3D1.8.0"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.tcnjmagazine.com/wp-content/plugins/lightbox-2/lightbox=
.js?ver=3D2.2"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.tcnjmagazine.com/wp-content/plugins/nextgen-gallery/adm=
in/js/swfobject.js?ver=3D2.1"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.tcnjmagazine.com/wp-includes/js/jquery/jquery.js?ver=3D=
1.2.6"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
/* <![CDATA[ */=0A=
	wpAjax =3D {=0A=
		noPerm: "You do not have permission to do that.",=0A=
		broken: "An unidentified error has occurred."=0A=
	}=0A=
	try{convertEntities(wpAjax);}catch(e){};=0A=
/* ]]> */=0A=
</SCRIPT>

<SCRIPT=20
src=3D"http://www.tcnjmagazine.com/wp-includes/js/wp-ajax-response.js?ver=
=3D20081210"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.tcnjmagazine.com/wp-includes/js/thickbox/thickbox.js?ve=
r=3D3.1-20080430"=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT type=3Dtext/javascript>=0A=
/* <![CDATA[ */=0A=
	wpajaxeditcomments =3D {=0A=
		AEC_PluginUrl: =
"http://www.tcnjmagazine.com/wp-content/plugins/wp-ajax-edit-comments",=0A=
		AEC_CanScroll: "0",=0A=
		AEC_Minutes: "minutes",=0A=
		AEC_Minute: "minute",=0A=
		AEC_And: "and",=0A=
		AEC_Seconds: "seconds",=0A=
		AEC_Second: "second",=0A=
		AEC_Moderation: "Mark for Moderation?",=0A=
		AEC_Approve: "Approve Comment?",=0A=
		AEC_Spam: "Mark as Spam?",=0A=
		AEC_Delete: "Delete this comment?",=0A=
		AEC_Anon: "Anonymous",=0A=
		AEC_Loading: "Loading...",=0A=
		AEC_LoadSuccessful: "Comment Loaded Successfully",=0A=
		AEC_Saving: "Saving...",=0A=
		AEC_Saved: "Comment Successfully Saved",=0A=
		AEC_Delink: "De-link Successful"=0A=
	}=0A=
/* ]]> */=0A=
</SCRIPT>

<SCRIPT=20
src=3D"http://www.tcnjmagazine.com/wp-content/plugins/wp-ajax-edit-commen=
ts/js/wp-ajax-edit-comments.js?ver=3D2.3"=20
type=3Dtext/javascript></SCRIPT>

<META content=3D"WordPress 2.7" name=3Dgenerator>
<STYLE type=3Dtext/css>.addtoany_subscribe IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
</STYLE>
<!-- begin lightbox scripts -->
<SCRIPT type=3Dtext/javascript>=0A=
    //<![CDATA[=0A=
    document.write('<link rel=3D"stylesheet" =
href=3D"http://www.tcnjmagazine.com/wp-content/plugins/lightbox-2/Themes/=
Black/lightbox.css" type=3D"text/css" media=3D"screen" />');=0A=
    //]]>=0A=
    </SCRIPT>
<!-- end lightbox scripts --><LINK media=3Dscreen=20
href=3D"http://www.tcnjmagazine.com/wp-content/plugins/wp-ajax-edit-comme=
nts/css/edit-comments.css"=20
type=3Dtext/css rel=3Dstylesheet><!-- Ajax Edit Comments --><!--[if IE]>
<STYLE>.clearfix {
	DISPLAY: inline-block
}
* HTML .clearfix {
	HEIGHT: 1%
}
.clearfix {
	DISPLAY: block
}
</STYLE>
<![endif]--><LINK media=3Dall=20
href=3D"http://www.tcnjmagazine.com/wp-includes/js/thickbox/thickbox.css"=
=20
type=3Dtext/css rel=3Dstylesheet><!-- Start Of Script Generated By =
WP-EMail 2.31 -->
<SCRIPT type=3Dtext/javascript>=0A=
/* <![CDATA[ */=0A=
	var email_ajax_url =3D =
'http://www.tcnjmagazine.com/wp-content/plugins/wp-email/wp-email.php';=0A=
	var email_max_allowed =3D '5';=0A=
	var email_verify =3D '';=0A=
	var email_text_error =3D 'The Following Error Occurs:';=0A=
	var email_text_name_invalid =3D '- Your Name is empty/invalid';=0A=
	var email_text_email_invalid =3D '- Your Email is empty/invalid';=0A=
	var email_text_remarks_invalid =3D '- Your Remarks is invalid';=0A=
	var email_text_friend_names_empty =3D '- Friend Name(s) is empty';=0A=
	var email_text_friend_name_invalid =3D '- Friend Name is =
empty/invalid:';=0A=
	var email_text_max_friend_names_allowed =3D '- Maximum 5 Friend Name(s) =
allowed';=0A=
	var email_text_friend_emails_empty =3D '- Friend Email(s) is empty';=0A=
	var email_text_friend_email_invalid =3D '- Friend Email is invalid:';=0A=
	var email_text_max_friend_emails_allowed =3D '- Maximum 5 Friend =
Email(s) allowed';=0A=
	var email_text_friends_tally =3D '- Friend Name(s) count does not tally =
with Friend Email(s) count';=0A=
	var email_text_image_verify_empty =3D '- Image Verification is empty';=0A=
/* ]]> */=0A=
</SCRIPT>

<SCRIPT =
src=3D"http://www.tcnjmagazine.com/wp-includes/js/tw-sack.js?ver=3D1.6.1"=
=20
type=3Dtext/javascript></SCRIPT>

<SCRIPT=20
src=3D"http://www.tcnjmagazine.com/wp-content/plugins/wp-email/email-js-p=
acked.js?ver=3D2.31"=20
type=3Dtext/javascript></SCRIPT>
<LINK media=3Dscreen=20
href=3D"http://www.tcnjmagazine.com/wp-content/plugins/wp-email/email-css=
.css"=20
type=3Dtext/css rel=3Dstylesheet><!-- End Of Script Generated By =
WP-EMail 2.31 --><!--ajax edit comments -->
<SCRIPT type=3Dtext/javascript>=0A=
tb_pathToImage =3D =
'http://www.tcnjmagazine.com/wp-includes/js/thickbox/loadingAnimation.gif=
';tb_closeImage =3D =
'http://www.tcnjmagazine.com/wp-includes/js/thickbox/tb-close.png';=0A=
</SCRIPT>
</HEAD>
<BODY>
<DIV class=3Dclearfloat id=3Dpage>
<DIV class=3Dclearfloat>
<DIV class=3Dleft id=3Dbranding><IMG=20
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/bann=
erautumn07.jpg">=20
<BR><BR><!--<div class=3D"description">TCNJ Magazine</div> removed by =
Winkel--></DIV>
<DIV class=3Dright>
<FORM id=3Dsearchform action=3Dhttp://www.tcnjmagazine.com/ =
method=3Dget>
<DIV><INPUT id=3Ds name=3Ds> <INPUT class=3Dbutton id=3Dsearchsubmit =
type=3Dsubmit value=3DSearch>=20
</DIV></FORM></DIV></DIV>
<UL class=3Dclearfloat id=3Dnav>
  <LI><A class=3Don=20
  href=3D"http://www.tcnjmagazine.com/index.php?archive=3DFebruary =
2009">Home</A>=20
  </LI>
  <LI><A=20
  href=3D"http://www.tcnjmagazine.com/?cat=3D8&amp;archive=3DFebruary =
2009">Features</A>=20

  <UL>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D973&amp;archive=3DFebruary =
2009">An=20
    Artist=E2=80=99s Mystical Journey</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D988&amp;archive=3DFebruary =
2009">Out-of-the-Box=20
    Education </A></LI></UL></LI>
  <LI><A =
href=3D"http://www.tcnjmagazine.com/?cat=3D9&amp;archive=3DFebruary =
2009">On=20
  Campus</A>=20
  <UL>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D998&amp;archive=3DFebruary =
2009">Man Who=20
    Served 10 Years for Crimes He Did Not Commit Delivers Keynote at =
Wrongful=20
    Convictions Forum</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1006&amp;archive=3DFebruary =
2009">TCNJ is=20
    the =E2=80=9CBest Value=E2=80=9D Among State Publics </A></LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1014&amp;archive=3DFebruary =
2009">$1.3=20
    Million Grant Will Aid Deaf-Blind Population </A></LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1018&amp;archive=3DFebruary =
2009">Seussical!=20
    The Musical!</A> </LI></UL></LI>
  <LI><A=20
  href=3D"http://www.tcnjmagazine.com/?cat=3D15&amp;archive=3DFebruary =
2009">Student=20
  Center</A>=20
  <UL>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1024&amp;archive=3DFebruary =
2009">Future=20
    Doctor Knows No Borders When It Comes To Volunteering</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1027&amp;archive=3DFebruary =
2009">=E2=80=9CSummer=20
    School=E2=80=9D in Paradise</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1034&amp;archive=3DFebruary =
2009">CUB=E2=80=99s=20
    =E2=80=9CNooners=E2=80=9D Spice Up Students=E2=80=99 Days </A></LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1038&amp;archive=3DFebruary =
2009">Senior=20
    Class Throws Down the Gauntlet to the Class of 1959 =
</A></LI></UL></LI>
  <LI><A =
href=3D"http://www.tcnjmagazine.com/?cat=3D17&amp;archive=3DFebruary =
2009">In=20
  Focus</A>=20
  <UL>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1040&amp;archive=3DFebruary =
2009">Pearson=20
    at the Forefront of Merging Computer Science with the Humanities</A> =
</LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1048&amp;archive=3DFebruary =
2009">History=20
    Professor Brings to Life the Experiences of Children in War-Torn=20
    Countries</A> </LI></UL></LI>
  <LI><A=20
  href=3D"http://www.tcnjmagazine.com/?cat=3D16&amp;archive=3DFebruary =
2009">Lion's=20
  Roar</A>=20
  <UL>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1056&amp;archive=3DFebruary =
2009">Wrestling=20
    Coach Closing in on 500th Win </A></LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1059&amp;archive=3DFebruary =
2009">2009=20
    Athletic Hall of Fame Inductees Announced </A></LI></UL></LI>
  <LI><A=20
  href=3D"http://www.tcnjmagazine.com/?cat=3D3&amp;archive=3DFebruary =
2009">Alumni=20
  Corner</A>=20
  <UL>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1003&amp;archive=3DFebruary =
2009">Looking=20
    Back: February 2009</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1061&amp;archive=3DFebruary =
2009">Then=20
    and Now: Registering for Classes</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1067&amp;archive=3DFebruary =
2009">Heroic=20
    Alum Saves Police Officer=E2=80=99s Life</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1073&amp;archive=3DFebruary =
2009">Lions=E2=80=99=20
    Hearts</A> </LI></UL></LI>
  <LI><A=20
  href=3D"http://www.tcnjmagazine.com/?cat=3D7&amp;archive=3DFebruary =
2009">Multimedia</A>=20

  <UL>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1097&amp;archive=3DFebruary =
2009">The=20
    Lions in Winter</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1109&amp;archive=3DFebruary =
2009">Alumni=20
    Profile: Tom McCarthy =E2=80=9990</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1112&amp;archive=3DFebruary =
2009">Alumni=20
    Profile: MacDella Cooper =E2=80=9901</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1116&amp;archive=3DFebruary =
2009">Alumni=20
    Profile: Holly Black =E2=80=9994</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1119&amp;archive=3DFebruary =
2009">Alumni=20
    Profile: Guy Chiarello =E2=80=9981</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1121&amp;archive=3DFebruary =
2009">Look=20
    What You Started! Alumni Video Profiles</A> </LI>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1127&amp;archive=3DFebruary =
2009">Fall=20
    2008 Sports Highlights Video</A> </LI></UL></LI></UL><!--Do not take =
this out-->
<DIV id=3Dcontent>
<DIV class=3Dpost id=3Dpost-652>
<H2>Former Fashion Designer Finds Fulfillment in the World of Non-Profit =

Education</H2><SMALL>By <A title=3D"Posts by Madeline M. Patrick =
=E2=80=9910"=20
href=3D"http://www.tcnjmagazine.com/?author=3D7">Madeline M. Patrick =
=E2=80=9910</A> =E2=80=A2 Oct=20
17th, 2008 =E2=80=A2 Category: <A title=3D"View all posts in Alumni =
Corner"=20
href=3D"http://www.tcnjmagazine.com/?cat=3D3" rel=3Dcategory>Alumni =
Corner</A>, <A=20
title=3D"View all posts in October 2008"=20
href=3D"http://www.tcnjmagazine.com/?cat=3D21" rel=3Dcategory>October =
2008</A></SMALL>=20

<DIV class=3Dentry>
<DIV class=3D"imageframe alignleft" style=3D"WIDTH: 300px"><IMG=20
class=3D"attachment wp-att-653" height=3D225 alt=3D"pam elmi"=20
src=3D"http://www.tcnjmagazine.com/wp-content/uploads/2008/10/elmi.jpg" =
width=3D300>
<P></P>
<DIV class=3Dimagecaption>Pamela Elmi =E2=80=9891 and one of her =
Princeton Young=20
Achievers</DIV></DIV>
<P>As the executive director of Princeton Young Achievers (PYA), Class =
of 1991=20
graduate <STRONG>Pamela Elmi</STRONG>=E2=80=99s responsibilities range =
from the=20
seemingly mundane to the mission critical=E2=80=94and that=E2=80=99s =
just the way she likes=20
it.</P>
<P>PYA is an after-school program designed to help children from low- to =

middle-income households improve their performance in school as well as =
their=20
English language skills. Every Monday through Friday, PYA offers =
homework=20
support, enrichment activities such as science and art projects, and =
one-on-one=20
tutoring at its three learning centers, serving more than 100 children =
in=20
kindergarten through fifth grade.</P>
<P>PYA=E2=80=99s programs are supported by part-time staff who serve as =
teachers,=20
tutors, and activity coordinators. The program also depends on about 75=20
volunteers who serve in its after-school programs and provide technical=20
support.</P>
<P>As executive director, Pam is there to keep all of these staff, =
volunteers,=20
and resources funded, motivated, and running=E2=80=94while also working =
to strengthen=20
the organization=E2=80=99s ties to the community, school district, =
parents, and local=20
foundations and businesses</P>
<P>Pam explained, =E2=80=9CA very dear teacher on our staff once said to =
me, =E2=80=98Who else=20
but you could manage so many people=E2=80=99s passions so effectively to =
serve our=20
kids?=E2=80=99 That sentiment really made me realize that my very =
rewarding role at PYA=20
is acting as a conduit of all the good will and talent available to the=20
underserved in our community.=E2=80=9D</P>
<P>A typical day=E2=80=99s work for Pam might include any or all of the =
following:=20
balancing the organization=E2=80=99s $260,000 annual operating budget, =
writing grants,=20
handling human resource and student issues, making copies, conducting =
staff=20
training sessions, ordering office supplies, designing curricula for any =
of six=20
grade levels, changing toner cartridges, and processing tuition =
payments.</P>
<P>=E2=80=9CThe interesting thing about my job is that I wear many hats =
and feel very=20
comfortable doing so,=E2=80=9D Pam said.</P>
<P>An art education major while at the College, Pam =
=E2=80=9Cdiscovered=E2=80=9D the world of=20
non-profit education while working as an art specialist at Camp Jotoni =
in=20
Warren, NJ. Camp Jotoni provides summer recreational services to =
children and=20
adults with developmental disabilities. Pam=E2=80=99s experiences there =
made a lasting=20
impression on her.</P>
<P>After graduating from the College and going on to earn a degree in =
design at=20
the Fashion Institute of New York, Pam=E2=80=99s desire to give back to =
her community=20
stayed with her.</P>
<P>She left her job as an assistant fashion designer on Madison Avenue =
and moved=20
to Atlanta to start teaching in =E2=80=9Cneighborhood =
classrooms.=E2=80=9D There, Pam worked for=20
the Metro-Atlanta YMCA After School Program, and later became education=20
coordinator at the Center for Puppetry Arts.</P>
<P>She eventually returned to New Jersey and accepted a position with =
the YWCA=20
Princeton, where she stayed for seven years until moving to PYA. While =
at the=20
YWCA, Pam developed many programs and connected with the community =
around=20
her.</P>
<P>=E2=80=9CThe Women=E2=80=99s Economic Empowerment Series was one of =
the most rewarding=20
projects I have ever done,=E2=80=9D Pam said. =E2=80=9CI took the =
lessons learned as a divorced=20
woman to teach other women not to make the same mistakes that I did. It =
changed=20
some people=E2=80=99s lives, and it helped me heal and move on with my =
own life, too.=20
You have to love working in non-profit, because there are a lot of =
personal=20
sacrifices involved.=E2=80=9D</P>
<P>Despite the crazy hours and myriad responsibilities that come with =
her job,=20
Pam has continued to stay involved with the College. She has returned to =
campus=20
to make presentations to TCNJ art students and also has taught at the =
Governor=E2=80=99s=20
School for the Arts (which used to take place each summer on =
TCNJ=E2=80=99s campus). Her=20
hope is to steer current students into careers in non-profit, =
service-oriented=20
organizations such as hers.</P>
<P>=E2=80=9CIf anything, I think I have influenced TCNJ students to be =
community-service=20
minded and to be aware of the non-profit organizations in their =
neighborhoods,=E2=80=9D=20
said Pam. She tells the students she interacts with at TCNJ, =
=E2=80=9CWhen you reach=20
that large salary you strive for, I hope you remember to give back to =
the world=20
by donating money or time to a non-profit of your choice=E2=80=94then =
you will have true=20
balance in life!=E2=80=9D</P><!-- This is a block to show email links =
and email stats - NT--><A=20
title=3D"Email This Post" =
href=3D"http://www.tcnjmagazine.com/?p=3D652&amp;email=3D1"=20
rel=3Dnofollow><IMG class=3DWP-EmailIcon title=3D"Email This Post"=20
style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20
alt=3D"Email This Post"=20
src=3D"http://www.tcnjmagazine.com/wp-content/plugins/wp-email/images/ema=
il.gif"></A>&nbsp;<A=20
title=3D"Email This Post" =
href=3D"http://www.tcnjmagazine.com/?p=3D652&amp;email=3D1"=20
rel=3Dnofollow>Email This Post</A> <!-- End block to show email links =
and email stats - NT--></DIV><A=20
class=3D"a2a_dd addtoany_subscribe" =
onmouseover=3Da2a_show_dropdown(this)=20
onmouseout=3Da2a_onMouseOut_delay()=20
href=3D"http://www.addtoany.com/subscribe?linkname=3DTCNJ%20Magazine&amp;=
linkurl=3Dhttp%3A%2F%2Fwww.tcnjmagazine.com%2F%3Ffeed%3Drss2"><IMG=20
height=3D16 alt=3DSubscribe=20
src=3D"http://www.tcnjmagazine.com/wp-content/plugins/add-to-any-subscrib=
e/subscribe_120_16.gif"=20
width=3D120></A>=20
<DIV class=3Dclearfloat id=3Dwriter><!-- This is where you output author =
photo--><A=20
href=3D"http://www.tcnjmagazine.com/wp-content/uploads/authors/7.jpg"=20
rel=3Dlightbox><IMG id=3Dauthorpic height=3D90=20
src=3D"http://www.tcnjmagazine.com/wp-content/uploads/authors/7.jpg" =
width=3D90=20
align=3Dleft></A> <!-- <img src=3D"<php bloginfo('template_url'); =
>/images/<php the_author_login(); >.jpg" alt=3D"" /> -->
<P class=3Dright><STRONG><A title=3D"Posts by Madeline M. Patrick =
=E2=80=9910"=20
href=3D"http://www.tcnjmagazine.com/?author=3D7">Madeline M. Patrick=20
=E2=80=9910</A></STRONG> is a communication studies and sociology double =
major. At=20
school, she is involved in All College Theatre, a student run theater =
group, and=20
and Alpha Psi Omega, the theater honor society. She also runs blood =
drives for=20
the New Jersey Blood Center. She is a student writer for the Department =
of=20
Public Relations and Communications.<BR><SPAN><A title=3D"Email this =
author"=20
href=3D"mailto:patrick8@tcnj.edu">Email this author</A> | All posts by =
<A=20
title=3D"Posts by Madeline M. Patrick =E2=80=9910"=20
href=3D"http://www.tcnjmagazine.com/?author=3D7">Madeline M. Patrick=20
=E2=80=9910</A></SPAN></P></DIV><!--END WRITER--><!--<p =
class=3D"postmetadata alt">=0A=
					<small>=0A=
						This entry was posted=0A=
												on Friday, October 17th, 2008 at 10:37 am						and is filed =
un<small>=0A=
						<a href=3D"http://www.tcnjmagazine.com/?cat=3D3" title=3D"View all =
posts in Alumni Corner" rel=3D"category">Alumni Corner</a>,  <a =
href=3D"http://www.tcnjmagazine.com/?cat=3D21" title=3D"View all posts =
in October 2008" rel=3D"category">October 2008</a>						</small>der .=0A=
						You can follow any responses to this entry through the =0A=
						<a =
href=3D'http://www.tcnjmagazine.com/?feed=3Drss2&amp;p=3D652'>RSS =
2.0</a> feed.=0A=
=0A=
													You can <a href=3D"#respond">leave a response</a>, or <a =
href=3D"http://www.tcnjmagazine.com/wp-trackback.php?p=3D652" =
rel=3D"trackback">trackback</a> from your own site.=0A=
=0A=
											</small>				</p>--></DIV><!-- You can start editing here. =
--><!-- If comments are open, but there are no comments. -->
<H3 id=3Drespond>Leave a Reply</H3>
<P>You must be <A=20
href=3D"http://www.tcnjmagazine.com/wp-login.php?redirect_to=3Dhttp%3A%2F=
%2Fwww.tcnjmagazine.com%2F%3Fp%3D652">logged=20
in</A> to post a comment.</P></DIV>
<DIV id=3Dsidebar>
<UL id=3Dsidelist><!--<li><h2>More from this category</h2>-->
  <LI>
  <H2>More from Alumni Corner</H2>
  <UL class=3Dbullets>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1061&amp;archive=3DFebruary =
2009">Then=20
    and Now: Registering for Classes</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1073&amp;archive=3DFebruary =
2009">Lions=E2=80=99=20
    Hearts</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1067&amp;archive=3DFebruary =
2009">Heroic=20
    Alum Saves Police Officer=E2=80=99s Life</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D1003&amp;archive=3DFebruary =
2009">Looking=20
    Back: February 2009</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D957&amp;archive=3DFebruary =
2009">Alumni=20
    Award Nominations Sought</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D930&amp;archive=3DFebruary =
2009">Homecoming=20
    2008 Video Highlights</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D838&amp;archive=3DFebruary =
2009">Homecoming=20
    2008 Photo Gallery </A>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D780&amp;archive=3DFebruary =
2009">Looking=20
    Back: November 2008</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D771&amp;archive=3DFebruary =
2009">Your=20
    Support Ensures Your Alma Mater=E2=80=99s Continued Excellence</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D773&amp;archive=3DFebruary =
2009">Meet=20
    Your New Alumni Association President</A>=20
    <LI><STRONG><A title=3D"View all posts filed under Alumni Corner"=20
    href=3D"http://www.tcnjmagazine.com/?cat=3D3">Archive for 'Alumni =
Corner'=20
    =C2=BB</A></STRONG> </LI></UL><!--<li><h2>More from this =
category</h2>-->
  <LI>
  <H2>More from October 2008</H2>
  <UL class=3Dbullets>
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D697&amp;archive=3DFebruary =
2009">Then and=20
    Now: The Pit</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D690&amp;archive=3DFebruary =
2009">Alumna=20
    Does Conflict Resolution Work in C=C3=B4te d'Ivoire</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D633&amp;archive=3DFebruary =
2009">Lollanobooza=20
    2008</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D667&amp;archive=3DFebruary =
2009">Alumni=20
    and the Presidential Election</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D664&amp;archive=3DFebruary =
2009">Blind=20
    Freshman Refuses to Let Disability Define Her</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D660&amp;archive=3DFebruary =
2009">Class of=20
    2012 Video Profiles</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D657&amp;archive=3DFebruary =
2009">Political=20
    Science Chair Honored with McGraw-Hill Award for Scholarship and =
Teaching on=20
    Civic Engagement</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D652&amp;archive=3DFebruary =
2009">Former=20
    Fashion Designer Finds Fulfillment in the World of Non-Profit =
Education</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D644&amp;archive=3DFebruary =
2009">Athletics=20
    Awards</A>=20
    <LI><A=20
    href=3D"http://www.tcnjmagazine.com/?p=3D639&amp;archive=3DFebruary =
2009">TCNJ=20
    Captures 10th CAANJ Directors=E2=80=99 Cup </A>
    <LI><STRONG><A title=3D"View all posts filed under October 2008"=20
    href=3D"http://www.tcnjmagazine.com/?cat=3D21">Archive for 'October =
2008'=20
    =C2=BB</A></STRONG> </LI></UL>
  <LI>
  <H3>Subscribe</H3>
  <UL>
    <LI><IMG=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/plugins/wp-email/images/ema=
il.gif">=20
    <A href=3D"http://www.tcnjmagazine.com/?page_id=3D566">Subscribe to =
Email=20
    Notifications</A></LI></UL>
  <LI>
  <H3>Browse Categories</H3>
  <UL class=3Dsubnav>
    <LI class=3D"cat-item cat-item-3"><A=20
    title=3D"View all posts filed under Alumni Corner"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D3">Alumni=20
    Corner</A>=20
    <LI class=3D"cat-item cat-item-8"><A=20
    title=3D"View all posts filed under Features"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D8">Features</A>=20

    <LI class=3D"cat-item cat-item-17"><A=20
    title=3D"View all posts filed under In Focus"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D17">In=20
    Focus</A>=20
    <LI class=3D"cat-item cat-item-16"><A=20
    title=3D"View all posts filed under Lion's Roar"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D16">Lion's=20
    Roar</A>=20
    <LI class=3D"cat-item cat-item-7"><A=20
    title=3D"View all posts filed under Multimedia"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D7">Multimedia</A>=20

    <LI class=3D"cat-item cat-item-9"><A=20
    title=3D"View all posts filed under On Campus"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D9">On=20
    Campus</A>=20
    <LI class=3D"cat-item cat-item-10"><A=20
    title=3D"View all posts filed under Online Exclusives"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D10">Online=20
    Exclusives</A>=20
    <LI class=3D"cat-item cat-item-15"><A=20
    title=3D"View all posts filed under Student Center"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D15">Student=20
    Center</A>=20
    <LI class=3D"cat-item cat-item-12"><A=20
    title=3D"View all posts filed under The Letter Box"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D12">The=20
    Letter Box</A>=20
    <LI class=3D"cat-item cat-item-5"><A=20
    title=3D"View all posts filed under Autumn 2007"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D5">Autumn=20
    2007</A>=20
    <LI class=3D"cat-item cat-item-23"><A title=3D"TCNJ Magazine: =
February 2009"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D23">February=20
    2009</A>=20
    <LI class=3D"cat-item cat-item-22"><A title=3D"TCNJ Magazine: =
November 2008"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D22">November=20
    2008</A>=20
    <LI class=3D"cat-item cat-item-21"><A=20
    title=3D"TCNJ Magazine: October 2008 Edition"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D21">October=20
    2008</A>=20
    <LI class=3D"cat-item cat-item-19"><A=20
    title=3D"TCNJ Magazine: September 2008 Edition"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D19">September=20
    2008</A>=20
    <LI class=3D"cat-item cat-item-11"><A=20
    title=3D"View all posts filed under Spring 2007"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D11">Spring=20
    2007</A>=20
    <LI class=3D"cat-item cat-item-18"><A=20
    title=3D"TCNJ Magazine: Spring 2008 Edition"=20
    href=3D"http://www.tcnjmagazine.com/?archive=3DFebruary =
2009&amp;cat=3D18">Spring=20
    2008</A>=20
    <LI><A href=3D"http://www.tcnjalumni.org/s/144/index.aspx">Class =
Notes</A>=20
    <LI><A href=3D"http://www.tcnj.edu/~alumni/find_alumni.html">Find =
Alumni</A>=20
    <LI><A href=3D"http://www.tcnj.edu/~magazine/archive.html">Past =
Issues</A>=20
    </LI></UL>
  <LI>
  <H3>Browse Archives</H3>
  <FORM name=3Darchiveform action=3Dindex.php><SELECT =
onchange=3Darchiveform.submit()=20
  name=3DArchiveSelect> <OPTION value=3D"" selected>Browse =
Archives</OPTION>=20
    <OPTION value=3D"Autumn 2007">Autumn 2007 Edition</OPTION><OPTION=20
    value=3D"Spring 2008">Spring 2008 Edition</OPTION><OPTION=20
    value=3D"Spring 2007">Spring 2007 Edition</OPTION><OPTION=20
    value=3D"September 2008">September 2008 Edition</OPTION><OPTION=20
    value=3D"October 2008">October 2008 Edition</OPTION><OPTION=20
    value=3D"November 2008">November 2008 Edition</OPTION><OPTION=20
    value=3D"February 2009">February 2009 Edition</OPTION></SELECT> =
</FORM>
  <LI>
  <H3>Recent Posts By</H3>
  <UL class=3Dbullets>
    <LI><A title=3D"Posts by Emily Weiss"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D4">Emily Weiss</A> <A =
title=3DXML=20
    =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D4"><IMG =
title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Hilary Winter"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D6">Hilary Winter</A> =
<A title=3DXML=20
    =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D6"><IMG =
title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Joe Garavente =E2=80=9908"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D8">Joe Garavente =
=E2=80=9908</A> <A=20
    title=3DXML =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D8"><IMG=20
    title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Josephine Cusumano =E2=80=9909"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D31">Josephine Cusumano =
=E2=80=9909</A> <A=20
    title=3DXML =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D31"><IMG=20
    title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Kelli Plasket '10"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D10">Kelli Plasket =
'10</A> <A=20
    title=3DXML =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D10"><IMG=20
    title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Madeline M. Patrick =E2=80=9910"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D7">Madeline M. Patrick =
=E2=80=9910</A> <A=20
    title=3DXML =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D7"><IMG=20
    title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Mark Gola"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D5">Mark Gola</A> <A =
title=3DXML=20
    =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D5"><IMG =
title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Melanie Weiss '07"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D15">Melanie Weiss =
'07</A> <A=20
    title=3DXML =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D15"><IMG=20
    title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Nick D'Amore =E2=80=9901"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D30">Nick D'Amore =
=E2=80=9901</A> <A=20
    title=3DXML =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D30"><IMG=20
    title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Nicole Levins '07"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D14">Nicole Levins =
'07</A> <A=20
    title=3DXML =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D14"><IMG=20
    title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Pat Olsen"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D22">Pat Olsen</A> <A =
title=3DXML=20
    =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D22"><IMG =
title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Pete Croatto '00"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D17">Pete Croatto =
'00</A> <A=20
    title=3DXML =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D17"><IMG=20
    title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by R. Barbara Gitenstein, PhD"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D12">R. Barbara =
Gitenstein, PhD</A>=20
    <A title=3DXML=20
    =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D12"><IMG =
title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by TCNJ's editorial staff"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D11">TCNJ's editorial =
staff</A> <A=20
    title=3DXML =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D11"><IMG=20
    title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Tony Marchetti =E2=80=9896, =E2=80=9802"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D2">Tony Marchetti =
=E2=80=9896, =E2=80=9802</A> <A=20
    title=3DXML =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D2"><IMG=20
    title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>
    <LI><A title=3D"Posts by Tracey Regan"=20
    href=3D"http://www.tcnjmagazine.com/?author=3D19">Tracey Regan</A> =
<A title=3DXML=20
    =
href=3D"http://www.tcnjmagazine.com/?feed=3Drss2&amp;author=3D19"><IMG =
title=3DXML=20
    style=3D"BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: none"=20
    alt=3DXML=20
    =
src=3D"http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.=
gif"></A>=20
    </LI></UL></LI></UL><!--END SIDELIST--></DIV><!--END =
SIDEBAR--></DIV>
<DIV id=3Dfooter>
<SCRIPT type=3Dtext/javascript>=0A=
a2a_localize =3D {
	Share: "Share",
	Save: "Save",
	Subscribe: "Subscribe",
	ShowAll: "Show all",
	ShowLess: "Show less",
	FindServices: "Find service(s)",
	FindAnyServiceToAddTo: "Instantly find any service to add to",
	PoweredBy: "Powered by",
	ShareViaEmail: "Share via e-mail",
	SubscribeViaEmail: "Subscribe via e-mail",
	BookmarkInYourBrowser: "Bookmark in your browser",
	BookmarkInstructions: "After clicking OK, press Ctrl+D or Cmd+D to =
bookmark this page",
	AddToYourFavorites: "Add to your favorites"
};
a2a_linkname=3D"TCNJ Magazine";=0A=
a2a_linkurl=3D"http://www.tcnjmagazine.com/?feed=3Drss2";=0A=
=0A=
</SCRIPT>

<SCRIPT src=3D"http://static.addtoany.com/menu/feed.js"=20
type=3Dtext/javascript></SCRIPT>
=C2=A9 2009 <SPAN class=3D"url fn org">TCNJ Magazine</SPAN> | <!--The =
following is optional address and contact information using =
Microformats:
http://microformats.org/wiki/adr#Examples--><!--
<div class=3D"adr">
<span class=3D"street-address">
Address Line #1</span>, <span class=3D"locality">City</span>, <span =
class=3D"region">State</span>, <span class=3D"postal-code">22901</span> =
<br />
<span class=3D"tel">Ph: <span class=3D"value">(555) =
555-5555</span></span>
</div>-->Powered by <A href=3D"http://wordpress.org/" =
target=3D_blank>WordPress</A>=20
| <A href=3D"http://www.tcnjmagazine.com/?feed=3Drss2">Entries (RSS)</A> =
| <A=20
href=3D"http://www.tcnjmagazine.com/?feed=3Dcomments-rss2">Comments =
(RSS)</A> <!-- 99 queries. 1.385 seconds. --></DIV>
<SCRIPT type=3Dtext/javascript>
var gaJsHost =3D (("https:" =3D=3D document.location.protocol) ? =
"https://ssl." : "http://www.");
document.write(unescape("%3Cscript src=3D'" + gaJsHost + =
"google-analytics.com/ga.js' =
type=3D'text/javascript'%3E%3C/script%3E"));
</SCRIPT>

<SCRIPT type=3Dtext/javascript>
var pageTracker =3D _gat._getTracker("UA-4330244-1");
pageTracker._initData();
pageTracker._trackPageview();
</SCRIPT>
<!-- Dynamic Page Served (once) in 1.371 seconds --><!-- Page not cached =
by WP Super Cache. Could not get mutex lock. --></BODY></HTML>

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/bannerautumn07.jpg

/9j/4AAQSkZJRgABAQEASABIAAD/4TIdaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hw
YWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBt
ZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA0LjEt
YzAzNCA0Ni4yNzI5NzYsIFNhdCBKYW4gMjcgMjAwNyAyMjoxMTo0MSAgICAgICAgIj4KICAgPHJk
ZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgt
bnMjIj4KICAgICAgPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIKICAgICAgICAgICAgeG1s
bnM6eGFwPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIj4KICAgICAgICAgPHhhcDpDcmVh
dG9yVG9vbD5BZG9iZSBGaXJld29ya3MgQ1MzPC94YXA6Q3JlYXRvclRvb2w+CiAgICAgICAgIDx4
YXA6Q3JlYXRlRGF0ZT4yMDA4LTA0LTExVDIzOjM0OjU4WjwveGFwOkNyZWF0ZURhdGU+CiAgICAg
ICAgIDx4YXA6TW9kaWZ5RGF0ZT4yMDA4LTA0LTExVDIzOjM1OjQ2WjwveGFwOk1vZGlmeURhdGU+
CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91
dD0iIgogICAgICAgICAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEu
MS8iPgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL2pwZWc8L2RjOmZvcm1hdD4KICAgICAgPC9y
ZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz7/2wBDAAcEBAQFBAcFBQcKBwUHCgwJBwcJDA0LCwwL
Cw0RDQ0NDQ0NEQ0PEBEQDw0UFBYWFBQeHR0dHiIiIiIiIiIiIiL/2wBDAQgHBw0MDRgQEBgaFREV
GiAgICAgICAgICAgICAhICAgICAgISEhICAgISEhISEhISEiIiIiIiIiIiIiIiIiIiL/wAARCABS
ApcDAREAAhEBAxEB/8QAHAAAAgIDAQEAAAAAAAAAAAAAAAcFBgEDBAII/8QAXBAAAQMCAgQEDQ8G
CwcFAAAAAQACAwQFBhEHEiExE0FRVBQVFyIjNmFzgZGSk9EyNUJScXJ0gqGxsrPB0tMWM1NWYpQI
NENjg4Sio8LD4iQ3REVktOElVWWk4//EABoBAQACAwEAAAAAAAAAAAAAAAAEBQECAwb/xAAwEQAC
AQMBBgYDAAEFAQAAAAAAAQIDBBESExQxMlFhISJBcYGRM0JS8AUjgqGxQ//aAAwDAQACEQMRAD8A
ZN+u92ivNXHHVzsjbK4Na2RwAGe4AFTqdNaV4GrZx9Pb3z6o86/0rfZx6IxkOnt759Uedf6U2cei
GQ6e3vn1R51/pTZx6IZDp7e+fVHnX+lNnHohkOnt759Uedf6U2ceiGQ6e3vn1R51/pTZx6IZL3g2
eeosMMs73SSEvzc45n1R4yoVdYkbI76+5UVvg4erkEcfFnvJ7g41zjFvgZKrc9IspdqW6ANb+kl2
nyRs+VSo23UxqIafFmIpjm6rcO43Jv0QF1VGPQ1yaBfr4Dn0bUecf6Vts49EMnTBi/EMBBFS5wHs
XgOz8YzWjoxGSbtukXM6txgyH6WL7Wn0rlK26G2onb/UvbYameneWu4PWY8EtO3jB3hcKa8wYvun
t759Uedf6VP2ceiNcnfY8W3ChrNaqmkqKZ2yRr3FxA9s3PjHyrnUoJrwMpjAgninhbNE4OieM2uG
4hQuBsbUAICn4/r66mqqYU08kIcxxIY4tz28eRCkW8U0YkVvp7e+fVHnX+lSdnHojXJfcITTzYep
pZnmSV2vrPccycnuG0lQaq8xsio4ku11hvlVHFVzMja/JrWyOAGziAKlUoLTwMNnB09vfPqjzrvS
umzj0RjI1FXG5EYvmmgw9UywvdHKNTVe0kEZvaNhG1b0lmRhlC6e3vn1R51/pU7Zx6I1K9jkYzuF
u4azXm4U1fACWxxVczGyDjBDXga3IfB7na30J+aKa9jjWjJrwbyKZ+kTSMx5Y/EN1D2nIg1lSCCN
4I11ZbtS/mP0itdafV/Z56o+kP8AWO6fvtR99Z3al/MfpGNtLq/sz1R9If6x3T99qPvpu1L+Y/SM
7afV/ZfdGc+kCtyvV3vtzdR/8NTvrKjKQ+2eC/1I4hx+5vhXKpryqMc+xMt4zfmbeC/dPb3z6o86
/wBKhbOPREzJR9L+L8WUNBROobtW07nyODnQ1MrCRlx6rgpdpRg28pfRDu5tJYYu+qPpD/WO6fvt
R99T92pfzH6RC20ur+wGkfSF+sd0/faj76btS/mP0htp9X9jK0UXnGM9nmudyvFwqOHfq07ZqqZ4
DWbC5us4ja7MeBV93ThnCSXwT7XVjLbLl09vfPqjzr/So2zj0RKyc9wuV9q6GambcqqF8jXBsrJ5
A5hI2OBDgdhWVGOeCNZeKEhWY80k0dTLSz4hujZoXlj29G1GxzTkfZq3VvSfjpj9IqnVmnjL+zV1
R9If6x3T99qPvrO7Uv5j9I120ur+w6o+kP8AWO6fvtR99N1pfzH6Q20ur+zrtWL9Kt2q20dvvt2m
nPEKyoyA5XHXyA91azo0YrLjH6RvCdSTwm/sYlgseNImCW94ou08vHBFXVLWDuF2vru8GSg1Jw/W
EfpE2nRl+0n9lpgut3gj4NldVEcrqiV7vKe5xUZwXREhHvp7e+e1HnX+lY2cehnJnp7e+fVHnX+l
Z2ceiGSOuQuVdmTdrnA8+yp66pZl8UP1P7K3jjpH6RzlDPX7F3jut0g4ZdBJFiq6T01QXBgdWVAe
0tyzzykyO9T7eNOf6R+kQq+uH7MrHVH0h/rHdP32o++u+7Uv5j9Ij7aXV/YdUfSH+sd0/faj76br
S/mP0htpdX9l80R3/G9fJVXKvvdwnpowIYmS1c72F52uOTnEZtGXjUO7p01hKK+iZaOT8W2MDp7e
+fVHnXelQtnHoibk8vvV5cwtNdUgEcUzwfAQ7MJoj0QEpiHF+kiz3mpt0mIrr2F5DSayo65h2td6
vjaQranRpSjnTH6RU1Jzi8Zf2cHVH0h/rHdP32o++t92pfzH6RptpdX9h1R9If6x3T98qPvrO7Uv
5j9IbaXV/Y1NF2KsT1mFWz1d0rJ5jK8a8tRI52QyyGbnEqtuqEFLwSLG2k3DxLR09vfPqjzr/So+
zj0RIyHT298+qPOv9KbOPRDIdPb3z6o86/0ps49EMh09vfPqjzr/AEps49EMmOnt757Uedf6U2Ue
gyQ+MdId0w9ZX1bq2d1S/raaPhX9c8+Hc3eV0o2ynLGDnWraI5FZh3SHj2oxLbo5r/cZIpauESRm
rn1HB0gzBbrZZHkVjUtaai/KuHQrqdaeV4viOzp7e+fVHnX+lVWzj0Ra5KvpRxViejwq6ekulXBN
wrBwkVRI12RzzGbXAqRa0IOXikR7qTUPAgdEOM8Y19zrGV15r6ljYmlomqppADnvGs4rtd0IJLEV
9HG0nJt5bGL09vfPajzr/SoOyj0JxW8eDG1dQdF2S9XCnrqcfmIquZjZW8mTXga/IePcu9DZp4lF
Y9jhXhLGYt5FS7SLpFa4tdiG6hw3g1lTmP7ast2pfzH6RXbafV/Zjqj6Q/1jun77UffTdqX8x+kY
20ur+w6o+kP9Y7p++1H303al/MfpDbS6v7HHgjEmIqjClBPPcaqWZ8ebpHzSFxOZ3kuzKqq1KKm/
BFpQk3BEz09vfPqjzr/Suezj0R1yJLDekHHs+I7dDNiC5SRSVUDZI3Vk5a5pkaCCC/IghW1S2p6X
5Vw6IqadaepeL4jt6e3vn1R51/pVTs49EW2Q6e3vn1R51/pTZx6IZDp7e+fVHnX+lNnHohkOnt75
9Uedf6U2ceiGQ6e3vn1R51/pTZx6IZEzjTH+PKfFNwgp79cYomSkMjZVzhrRyAB+QVnRtqbgvKvo
q61Wam/Fn0nX4Chra2arNU5pmcX6uqDln4VQxuMLGC20mnqaw88Pkf6ltvXYaTluuA4qK3zVYqnO
MTdbV1QM/lW0LjLwHEqykmhJYbsjbxXOpnSGINjL8wNbc5oy4vbLnVqaUZSLB1Noeeu8gfeXDeux
tpDqbQ89d5A+8m9dhpJMOpcL2HKV/CBhOpsyL3OJIbxrn41JDgUS6XSruVUaipOZ9i3iaORoU2EF
FYRqcq3BIUGGr3XND4Kc8Gdz3ZNb4NbLPwLlKrFDB39T+/5Z9i9zWPoWu8xM6Tkq8I4gpQXOpnPa
OOMh3yDb8iyq0WYwRbmua4tcMiN4OxdQMi9dqU3wcfMFAhz/ACbMW6nmoLIJ7COJ3W2YU1S7OhkO
/wBoTx+5yrhWpavH1MpjAa4OaHNOYO4qEbHpAUnSR/G6X3h+kpVrwZrIqqlGBj4K7WaX+k+scq6v
zmyKVinthrPf/YFNpcqMMjV0MDgVWbkNjXtZqvifWNXShzowxcKwNQWDBQdJ2A+imOvlrZ/tLRnV
wtHq2j2bR7YcfL8821uMeVkO5oZ8yFgrEry26O8DuvtX0bWtItMB28XCvHsB3OU+D3ItzX0LC4km
3o6nl8BvMY1jAxgDWAZNAGQAG4AKsLM9IZKDps9bLf31/wBFTLHiyFfcEK9WJXm+ho562shpIBnN
O9sbB+045BayeFkzFZeB/Wu3w263U9BB+agY1gPLqjLPw71SylqeS5jHCwbZaiCF0bZXBrpXakYP
snapdl4mlYwZybFgyKrS/YOhbtHd4h2GsGUuXFKwf4m/MVY2VTK09CvvKeHnqUdTSGdNqtlXc7hD
QUo1qid2q0cXdJ7gG0rSclFZZtCOp4Q78L4Yt2Hrc2lpRnKQDPOfVPfynuDiHEqirVc34ltSpKCw
Si5nQgr9j/DFleYamfhKkb4IBrvHcO5rT3CV2p205HKpcRiV6TTbbw7sdukc3lc9rT8gcu+4PqcN
+XQ2U2mqzOcBU0U8Y5Wlj/n1Fh2MuplX0ehP2jHmFbq4Mpq1rZjuil7G73BrZA+BcZ284+h2hWhL
1Kzpt/ils99L8zFIsOLI99wQs1YEAy0EkADMncAgHvhGyCy4epaAgcK1mtP3x3XP8ROSpa09Uslx
Rhpjgkaiogp4+EmcGR6zW5u3az3BrR4XEBaJZOjeDasAXmmSwa0MF8hHXM7BUZe1O1jvHs8SnWNT
9SFe0/2FqrAgAgLJh3SNe7Bbel9HDTuhDnO1pWvLs3b/AFL2j5FHqW0ZvLO9O4lBYWCR6tGKOb0f
m5fxVz3GHc6b7PsY6s+KOb0fkSfiJucO43yfY7LLpPxpeLnBb6Smo+FmdlnwcuTR7Jx7JuaNq1na
wists2hczk8LAzG62qNY5u4yNnpUAnnmWWOGN0srg2JjS57jsAaNpJ8CASON8VS4hvTqgEiihzZS
sPE32xHK47Vb0KWiPcqa9XW+xyYU7aLX8Mp/rWrNXkfsa0ude4/FTFyVHS72oO79H9qlWfORbzkK
7oU9dq/vLfpLvfcEcLLixoKvLEwsAX+k/AXDtffbUzs466sgb7MccjR7YeyHHv8AdnWtx+rIVzQz
5kLNWBXmEA8sAdptt719pVPcc7La35ETi5HcQeFO2i1/DKf6xqua3I/YpqPOvcfipS5IHHt/rrFY
DX0IaZ+EY3rwXNydv3ELtb01OWGcbio4RyigdWHFnJTeQ776m7lDuQt8mHVhxb7Wm8h3303OHcb5
PsHVgxbyU3kO+8m5w7jfJ9ir3W5VFzuE1dUaonnOs/VGTc+4NqkwjpWCPOWXk+5V5AvgQEbif1gr
O9lb0uZGGLFWBqWPRz69y/B3fTYuFzy/JmJfVDNgQC8xzdHVd3NM09gpetHvvZn7PAptvDEfc1ZB
LualzwfhWEQMuNczWlf10MbtwbxEjjJ3qHXreiN0i2qOZBACAj7pYbXcmZVMQ1+KRux48K2jNx4A
1YijEeGqmMbmxavi2LNLnMMWisDUyyKR4cWAuDBrOy4hnlmfCQhg8oC1YMxTwBbbq13YDshkPsf2
SeTk5FGr0s+KNky7qKbFJ0kfxyk72fnUq14M1kVVSjAx8FdrNL8f6xyr6/OzZFKxT2w1nv8A7Apl
LlRhkauhgcCqzchsa9rNV8T6xq6UOdGGLhTzQ1uqIWztgLgJnhzmMO8tblrEe5rBZwMmxYBQsQaJ
oq3EUdXRubBbZ3F1awb2nf1g/b+RTad5iPjxIdS0zLK4F3oqOloqSOkpWCOniaGsYNwAUOTbeWS0
sI9SVEMb443uDXyuLYwd7nBpcQPitJTAybFgyUHTZ62W/vr/AKKm2PFkO+4IV6sSvLvogsfRd8ku
cjc4aJuTM/0j9g8Tc/kUO9qYjjqS7OnmWeg11WlkLTSvieop8Q0NLSOydb9WoOX6R21oPuNHyqwt
KXlefUr7ur5lj0GFa7hBcbdBXQfmqhjXt7msM8j7igyjh4J0ZZWTgxlYRfMO1FCB2fV16c/zjdrf
H6nwrejU0SyaVqeqOBFkEHIjIjeFcFOMXQxZGHoq8yDNzT0PAeTYHPPytHjUG+n+pOs4fsMdQCcU
fSljWotkYs9ueWVkw1p5W72MOwBvI52Xi91TLShq8z4EW6r6fKuIqjnxqyK0wgBAZQHRPcrhUUsd
LPO+SnhJMLHHWDc9+rnuGxaqKTybOTZzrY1LJo1sXTXFEBeNampP9olz3dZ6geF+WxR7qpph7ki2
p6p+w6VVFoUHTNfHQUlJaoXZSSu6Iky2ENZsZ43ZnwKZZU+LId7U8Ei04Rvbb1h6lr/5VzdWYfzj
Otf4yMwo1aGmTRIoz1RydN4tkF0tdRb5/wA3OwtJ5DxO+KdqxCel5Npx1LAg62jnoqqWkqBlPA5z
Hj9ppyPzK5i8rJTSWHg0rYwCAEBlAN7RlhDpNa+j6tuVyq2g5HeyPe1nune7/wAKruq2p4XBFna0
dKz6st6jEkXelvF+q38nqN3XHJ1a4cQ3tZ4d58Cm2dH9mQryt+qFsrAgEjhTtotfwyn+saudbkfs
dKPOvcfipS5Kjpd7UHd+j+1SrPnIt5yFd0Keu1f3lv0l3vuCOFlxY0FXlic4uNIbgbdrjowRifg+
Msc4t1hy7WrOl4ya6lnHqdC1NhXaTcAmie692tn+xvOdTC3+TcfZD9knxe5usbW4z5XxK66t8eZc
ChKaQx5YA7Tbb3r7Sqe452W1vyInFyO4g8KdtFr+GU/1jVc1uR+xTUede4/FSlwVbSpS1NThR0dN
G6aThmHVY0uOQz4hmpNo8TI92swFR0gv3MKjzUnoVltI9Su2cujMfk/fuYVPmpPQmuPVDZy6Mz0g
v3MKjzT/AEJrj1Q2cujOLIg5HYeMLY0Pu1ePPQAgI3E/rBWd7K3pcyMMWKsDUsejn17l+Du+mxcL
nl+TMS+qGbAgFHVTGeplnO+RznH4xzVkkaHq304qbhBTndLI1h+M4BJPCA2GgAZDYBuVabnpACAE
AICNxP6wVneyt6XMjDFirA1LDo/jjlu88cjQ5jqZwcDtBBezYuFzy/JmJz4qw3JaanhYQTRSHrD7
U+1cfmW1GrqXcNEMupqXTBeKOHDbbWu7MNkEh9kOQ90KJXo+qN0zk0kfx2l94751ta8GYkVZSjAx
8FdrNL8f6xyr6/OzZFKxT2w1nv8A7AplLlRhkauhgcCqzchsa9rNV8T6xq6UOdGGLhWBqUHS9cKq
211kraN5jqYTUOY4f0Ww9w7ipllFSUk+xCu5NOLRZMH4rpMR2wVEfWVTMm1MHtHco/ZdxFR61HQ+
x3o1VNE0uR1Oe43Gkt1FLW1jxHTwtzc4/N7pOwLaMXJ4RiUklli3sGKqvEekyhqJM20rOHbTQe0b
wL9/7R41PqUVCk+pAp1HOqhoKuLAoOmz1st/fX/RU2x4sh33BCvViV479H9j6UYXp4XjKomHDz8u
s/aB8VuQVRc1NUy2t4aYE3UTxU9PJPMcoo2l73cjWjMnxBcUsnVvAgLzcpbldamvl9XO9z8uQE7G
+AbFdQjpWCmnLU8jH0N33h7bPZ5HdkpjwkI/m3nrgPev+dQL2n46upPs6nhgvahksTelCwdKsTST
RjKlrezx++Pq2+Vt8KtbSpqh7FXc09MvcvuiuER4KpXjfK6Vx845nzNUO7f+4yZaLyFoUYkCLxzW
Pq8XXKR20tndEM+SLrB9FXFBYginrvM2Qy7HM6bRbJ7ncoLfTlrZp3arS7MNBPLkHH5FpOWlZNoR
1PBbOoxijnFH5cn4Sjb9DuSdzn2DqMYp5zR+XJ+Gm/Q7jc59iOxFo4vdgtpuFZNTvhDmtyic8uzd
u9Uxo+VdKdzGbwjnUtpQWWVtSDgN3RJY+gMOGukGU9c7X7vBt2M+0+FVd5PMsdCys4YjnqXBRiUI
vG966cYmq6tu2HW4OD3jOtB8PqvCrehDTFIqK89UmyzaGb7wVZUWaU9ZOOGgB9u0ZPA91u3wKPfU
/DUSLKp46RnKvJ4q9MNg6FusV4iHYasasx5JWDZ5TPmVlZVMrT0K68p4eepRiphEMIDIQFx0X4QN
2uXTOrb/AOnUjhkDufKNob7jd58CiXdbSsLiyVa0tTy+CG4qwsiGxliaDD1mfWHI1Luspo/bPP2N
3ldaNLXLBzrVdEciOqamepnfUTuL55HFz3neXHaSVcJYKhvJrWTBJYU7aLX8Mp/rGrnW5H7HSjzr
3H4qUuSo6Xe1B3fo/tUqz5yLechXdCnrtX95b9Jd77gjhZcWNBV5Yiw0q3KstmNqKuon8HURUsZY
f6SXMEcYPGp9pFSptPqV91JxmmuhdsIYqo8R2wVMWTahmTamDjY70HiUStScGSqNVTRLvYx7Cx4D
mOGRadoIOzIhczqKDSHgZ9hqujaIF1pmds4+CefYE8ntT4FZ21fX4PiVlxR0PK4DFwB2nW3vX2lQ
bjnZNt+RE4uR3EHhTtotfwyn+sarmtyP2Kajzr3H4qUuQWQCAEAID51q/wCNS+/d86vFwKNn3UvH
l+CAjcT+sFZ3srelzIwxYqwNSx6OfXuX4O76bFwueX5MxL6oZsCAUlZCYKuaAjIxvc3L3pyVknlG
gUdR0NWQ1A28E9r/ACTmkllAa8UjJY2yMObHAOB7h2hVpubEAIAQAgI3E/rBWd7K3pcyMMWKsDUs
ejn17l+Du+mxcLnl+TMS7VlHT1lM6nnbrRP2EKGng2Ftf7FPaK3gnbYXfmZOX/yONT6dTUjRoj2u
c1wc05OG0ELoYJC73ua5xU3Djs8LSxzvbch93lXOFPSZyR66mBj4K7WaX4/1jlX1+dm6KVinthrP
f/YFMpcqMMjV0MDgVWbkNjXtZqvifWNXShzowxcKeai404f8p/rH+Up9h6/BAvvT5KTh3EFfYbmy
voztGyRh9S9vG1yl1KamsMi06jg8odlmxFbLtZxdYJAKfVJl1jlwZaOua/k1VUzpuLwWsKiksiq0
gY3lxDW9D0xLbVA7sTd2u727h8w4lY29DQu5XXFfW+xr0YdvNB/TfUSLN1+NmLX8iHUqktSgabfW
2399d9FTbHiyHfcEUvA1j6c4lpqVwzga7hZ/eM2kH3xyb4VLuJ6YZIlCGqQ81TlwRGMbXdLrYJ7d
bXRsnnya50pc0BmebstVr9p3bl1oyUZZZyrRco4QvuovinnNJ5cn4anb9DuQtyn2JXCOjjFVhv0F
wM9KYW5tnYHyZujdscBnGNo3jbvXKtcwnHHidKNvOMs+Aw1BJpV9J1g6a4ZkkjbnVUXZ4st5aPVt
8LdvgUm1qaZ9mcLqnqj3Rp0R1rZ8INhB66mlewj3x4T/ABrN4vP7mtpLyexblFJIkdIdslt+Lq0O
GTKh5qI3col64/2swre2lmCKm4jibIBdziTOBXBuLrcXHICYZk+4uVxyM62/Oh3ippiQBK0k7ANY
Knwy2ybVgyVHS72oO79H9qlWfORrzkFZY7XLdbvTW6L1U7w3Pkb7J3gbmVY1J6Vkr4R1PA/aeCKn
gZBENWKJoawcjWjIDxBUreS5Swc97gr6i01NPb3NbWSscyJzyQ1pds1iQHHYDyLaDSfjwNZp48OI
s+ovijnFH5yX8JT9+h3IG5z7HVZ9FeL7XdKevhqKPhKd4eBwkm0De383xjYsTu4SWPEzC1nF58Bn
KuLAiMYWJt7w9U0OXZi3XgPJI3a3x7vCutGppkmc61PVHAiXtc1xa4ZOGwg8quCnMLIO6xWaqvN1
ht1KOySna47mtG1zj3AFzqTUVlm9ODk8D1tFqpLTbYbfSDVghbqjlJ43Huk7Sqic3J5ZbwgorCOi
WWOGN0spDYmNLnOOwBo2knwLU2EjjfFUuIr06obmKKHNlKw8TfbEcrjt+RW9Cloj3KmtV1vsQS7H
EEBJYU7aLX8Mp/rGrnW5H7HSjzr3H4qUuSo6Xe1B3fo/tUqz5yLechXdCnrtX95b9Jd77gjhZcWN
BVxYin0z9tNN8DZ9ZIrKy5Pkrbzn+CtYcxBXWG5sr6M7d0kZ9S9h3tKkVKamsHCnUcHkd1hvlDe7
ZHcKJ2cb97T6pjhva7uhVNSDi8Mtac1JZR1VlHTVtLJSVTBJTytLXsO4grVPHibSWUabNa4rVbYb
fCS6GAFrC7fq5kjPu7Vmc9TyYhHSsHWtTcQeFO2i1/DKf6xqua3I/YpqPOvcfipS4K7pFvNytGG3
Vlul4GpEjGh2q12x2/Y8OC720FKWGcbmbjHKFv1UMc8//uYPw1P3Wn0IG9VOodVDHP8A7h/cwfhp
utPoN6qdQ6p2OOf/AN1B+Gm60+g3qp1K49znOc921xOfjXc4H3avHnoAQEbif1grO9lb0uZGGLFW
BqWPRz69y/B3fTYuFzy/JmJfVDNgQC/x3anUt16LaOwVW3PkePVDw71Mt55WOhrIr67mpacI4vip
Im2+4OyhH5mbfl+y7uchUatRz4o2TLpFLHKwPjIcw7QQcwVFNj2gPLnBozccmhAQd1xtaKLNkR6J
n9rH6nwu3eLNdYUJPsYybLvUdFYPlqXDVM1O15A/aAOXyrEFifyBcqealj0c+vcvwd302Lhc8vyZ
iX1QzY47vaqa50bqaoGw7Wu42niIWYTcXkC0ulsqbdWupZ9jhudxOHE4e6rCElJZNDmW4BAMfBXa
zS/H+scq+vzs2RSsU9sNZ7/7AplLlRhkauhgcCqzchsa9rNV8T6xq6UOdGGLhTzUXGnD/lP9Y/yl
PsPX4IF96fIuFPIJtjq6qOF8McrmwyfnGNcQ13vgNhWMIzk1LJgsmi/t5t/9N9RIo91+Nne1/Ih1
KpLYoOmz1tt/fX/RU2x4shX3BGzQ7Y+h7XPdpR2SrdqRH+bZv8b/AJli9nl6ehmyh4Z6l6UMlnJJ
e7LG8xyVtO2RpLXNdIwEEbwQTvC3UJdDXXHqefygsPP6bzrPSs7OXRjaR6oPygsPP6bzrPSsbOXR
mNpHqjfS11FVgmlnZOG7zG9rsvd1SVq4tGyknwNpAILSMwd4WDIvMNzNwhj2rsU51bbXkOpnHcCc
zH85Z7qn1P8AcpqXqiFTezqOPoxiKATSAxrgykxLQhp7FXQ59Dz+7va7lafkXahX2b7HGtRU13FH
e8L32yyllwpnMbxSga0Z9x42K0hVjLgVs6Uo8SNXQ5ktg2jq6jE9uMETpBHUwukLWl2q1sgJc7Lc
AAuNeS0P2OtFeZe491TlwVHS52oO79H9qlWfORbzkIHQzY9epqb1IOtiHAQH9p2158Dch4V2vqn6
nGzp/sMxV5YHJPeLTTymGerhilG9j5GNIz27QSDuW6g36Gjml6nn8oLDz+m86z0rOzl0Y2keqD8o
LDz+m86z0rGzl0ZjaR6o20tyt1W4spaiKZwGZbG9riB3dUlYcWjZSTOhamRN6ULB0qxK6eMZUtcD
MzkDvZt8rb4Va2lTVH2Ku5p6Ze5VlJI44dGuEOklq6Lqm5XKraC/Pexm9rPtd/4VVdVtTx6Is7aj
pWfVlsUYki70t4v1R+T1E7rjk6ucDxb2x/aVPs6P7MhXdb9ULZTyAYQAgJLCnbRa/hlP9a1c63I/
Y6Uude4/FSlyVHS72oO79H9qlWfORbzkK7oU9dq/vLfpLvfcEcLLixoKuLEU+mftppvgbPrJVZWX
J8lbe8/wUlTCITmDMXVeG7kJW5vopMhUwe2b7YftN4lxr0VNdztRrOD7DroK+kr6OOspHiSnlbrM
cOT08oVTKLTwy1jLKyjesGwIBB4U7aLX8Mp/rGq5rcj9imo869x+KlLgqOl3tQd36P7VKs+cjXnI
J9WhWAgBACA+7l449ACAjcT+sFZ3srelzIwxYqwNSx6OfXuX4O76bFwueX5MxL6oZsCA47vaqe50
LqWcdadodxtI3ELMJ6XkC2u1nrLXUcDUN2ewkG5w5QVYQmpGmDkWxg3Ulxr6M50s74u41xAPujcV
hxT4mTt/K3EWX8bd4m+ha7KPQZOOquVxq/4zO+XuOcSPFuWVFIGhbAYNV2hj4HH9Bqgr8nybegvl
ONSx6OfXuX4O76bFwueX5MxL6oZsCAi8RWGC8UnBu62du2KTkPJ7hW9OppZhoXFTS1FLO+nnbqys
O0FT08mpqWwGPgrtZpfj/WOVfX52bIpWKe2Gs9/9gUylyowyNXQwOBVZuQ2Ne1mq+J9Y1dKHOjDF
wp5qLjTh/wAp/rH+Up9h6/BAvvT5Fwp5BBACAsmi/t5oP6b6iRR7r8bO9r+RDqVSWpR9L1HPWxWm
jgGtNPUljB3XABTLKWMvsRbtZwu5b7ZQQW63wUMA7FTsawfFG/3TvUWUsvJIhHCwar/dWWmzVVxf
ugYSAeN+5g8LiAs04apYMVJaY5EDLLJLK6WQ5yPJc5x4ydpKukU7PKyYBAW/RNfel+I+gpHZU9c3
g8uLhG7WHw7W+FRbynmOehKtKmJY6jfVWWRSNL9hNVZ4rtCOz0TspMt/BvP+F2Sl2dTDx1Il5Tys
9DRgPSdTTwx2y+ScHVNybFVu9S8cQeeJ3d41tcWvrExQuvSRfht2jcoZMAgEZHaDvCA432KyPdrP
oqdzjvJiYT8y22kuproj0OiGCCBnBwMbHH7VoDR4gtc5NkjYsApGly727pILS2QOuMkjHCAbXBo4
zluz4uVS7OD1Z9CLeTWnHqWLCVkbZcPUtBllK1mtN3x3XP8AETkuFaeqTZ2ow0xwSFTURU1PJUTO
1Yomue88jWjMnxLRLJ0bwIG8XKW5XSpr5fV1D3Py5ATsHgGxXUI6VgpZy1PJyLc1BAT2Ar70mxPT
Tvdq00p4Gfk1H7Mz712TlwuKeqB2t56ZDwVQWxWdJlh6bYYlfGM6qj7PFykNHXDwtUi1qaZ+5wuq
eqPsUvRbg/pncOm1Y3OgpHdYCNj5Ru8Dd5Uu7raVhcWRbWjqeXwQ2lWFiCyDUaamcSXRtJO8loTJ
jAdCUv6JvkhZyxhB0JS/om+SEyxhGOhKT9E3xBMsYQn52hulQADYLozIDvwVmvw/8Ss/+3/Icyqi
1Kjpd7UHd+j+1SrPnIt5yFd0Keu1d3lv0l3vuCOFlxY0FXFiKfTP2003wNn1kqsrLk+Stvef4KSp
hEMoC1aPccSWCs6FqyXWmd3Xjfwbjs129zlUW5oa1lcSTb1tDw+A4YpI5YxJGQ6NwBa5pzBB2gg8
hVYWZ6QyIPCnbRa/hlP9Y1XNbkfsU1HnXuPxUpcHl7GPGq8AjkO1ZBr6EpP0TfEFnLMYRnoSl/RN
8kJlmcIOhKX9E3yQmWYwhMaTWtZjevazJrRwWQGz+RYrS2/GirufyM+zF5YuQQHLc6Lo63y0mtqc
K3V1ss8vAsxeHkFY6mn/AF391/rUjeuxjSSWHcI9Jq11T0Tw2uws1dTV3kOz9U7kXOpW1IJE+uRk
EAIDTV0dLVxGGojEkR3tKKTXAFYuGjqnede3zGP+bk65vgI2j5VIjc9TGkiJsB4hYetYyTuteP8A
FqrqriJjBrbgnEhOXQ2XdL2fY5Z28DGDrpdHl4kI4eSOFvHtL3eIZD5Vq7lGdJO2zA1npCHzA1Mg
/Sep8jd481wlcSfYzglbjQCststE13BiRuqHAZ5eDYucZYeTJWepp/1391/rUjeuxjSSWHcI9Jq1
1T0Tw2uws1dTV3kOz9U7kXOpW1IJE+uRkEAICGxFhamvIa/W4Gobs4UDWzb7UjMLenV0mGiH6mn/
AF/91/rXbeuw0lgttJHZbO2CaUOipw4ulI1dhcXbtvLkuEnrkZFvc6zoy4z1PFK9zgOQE7B4lYRW
EaGKGA1FbBANpke1vlHJJPCA2lWm5T9M95qrLo1ulzpQx08PQ+q2QEt66pjYc8iDudyqRYxUqqT/
AM8DlcT0wbR87dWjFHN6PyJPxFe7jDuV++T7ELirGd0xN0P0fHCzobW1OBa5uevq556zn+1XalQU
OHqcqtdz4kIuxxBACA7rDe6qyXWG50rWung1tUSAlvXNLTmGlp3O5VpUhqWGb05aXks/VoxRzej8
iT8RRtxh3JG+T7HNV6U79VVlLVzU1IZKRz3QjUky1nt1CT2TiG5bK0iljx8TV3Um8+HgdPVoxRze
j8iT8Ra7jDubb5PsR2JNI19v9u6X1bIIoNYOPAteCdXcDrPdsz2rpTtoweUc6lzKawytqQcAQAgP
cE8sEzJojqyxuDmEcTmnMFYayEy5dWfFPN6TyJPxVE3GHcl75Psa6vS9iKrpZKWelozDM1zHjUk2
hwyP8osqyin6mHdyfQpylkUnLFjrElkAjpKjXph/w83Xs8HG34pC4VLeMjtCvKJaIdN04jAntjXS
cbmzFo8RY751wdj3O++9j31cP/if/sf/AJLG4d/+jO/dv+zDtODsuttWR4s6jP8Aywm4dxv/AGIO
8aVMVXBpjhe2jiPFTgh+XvyS4eDJdoWkF3OM7qb7FeorjNS3KK4arZ5oniXKXNzXOBz67aCdvdXe
UcrBxjLDyWzqz4o5vR+RJ+Iou4w7knfZ9jlvGlPEd1tk1vmjp44pxqvdGx4flnmQC57ht3blvC0j
F58TSd1KSx4FUUkjggBACAuVNpgxRBTxwcDTP4NrW672SFztUZZuykAzPHsUR2UO5K3yfY9nTNig
76ej7vY5PxFjcYdzO+T7Gi36V75b6NlHR0dFFTxjJrRHJ7p/leMlbSs4t5bZrG6klhJHR1Z8U82o
/Ik/FWu4w7m2+z7B1Z8U82o/Ik/FTcYdxvs+wdWfFPNqPyJPxU3GHcb7PsHVnxTzaj8iT8VNxh3G
+z7B1Z8U82o/Ik/FTcYdxvs+wdWfFHNqPyJPxU3GHcb7PsVl9+q34g6dlrOi+iBVamR1NcP18ss8
8sxyqRs1p0kfaebUWXq0Yo5vR+RJ+Io+4w7kjfJ9iPxHpGvd/tpt9ZDTshLmu1omvDs27vVPcPkX
SnbRg8rJzqXMprDwcOGMW3HDdRLPQsie+Zoa4ShzhkDns1XNW1Wip8TWnWcOBPdWjFHN6PyJPxFx
3GHc7b5PsV/E+J6/EdeytrWRslZGIgIg4N1Q5zvZOcc83LvSpKCwjhVqubyyKXU5ggBAWXD2knEV
joBQwCKenac4+HD3Fo9q0te3Yo9S1jN5O9O5lBYJHq0Yo5vSeRJ+Iue4w7nTfJ9ioW+sloa+nrIg
DLTyMlYHbi5jg4Z5ZHLMKVKOVgixlh5Ld1aMUc3o/Ik/EUXcYdyVvk+wdWfFPN6PyJPxU3GHcb5P
sZ6s+KebUfkSfipuMO432fYx1Z8Uc3o/Ik/ETcYdxvs+xnq0Yo5vSeRJ+Im4w7jfZ9ir329VV6u0
tzqmsbPPq6wjBDetaGDIOLjubyqTThpWCPUlqeT7gXkS9BACAEAIAQAgBACAEAIAQAgBACAEAIAQ
AgBACA47zI9loq5IzqvbBI5pG8EMJBCzHmQFnV3S5VbQ2qnklaOJziR4tysFBI0OdbGCy4Dsr56z
plK3sEOfBZ8b939n51HuKmFg2SL2ohsUH+EJ/ufvf9V/7yFTP9N/PH5/8ZHu/wAb/wA9T5PXpSnB
ACAEAIAQAgBACAEAIAQAgBACAEAIAQAgBACAEAIAQAgBACAEAIAQAgBACAEAIAQGdmXdQyYQwCAF
gyZOSAwhgFkAgBACAEAIAQAsGQ91ZAFDBlYBhZBnYsAwsg+7l449ACAEAIAQAgBACAEAIAQAgBAC
AEAIAQAgBACAEBzXGndU2+emacnTRuYCeVzSPtRcQU8aOLnntqIsvjehS96RrpO+36O6OJ4fXTGb
+baNVvhO0n5Fzlcv0M6SzRQxQxiKJobG3Y1o2ABcDJsQFB/hCf7n73/Vf+8hUz/Tfzx+f/GR7v8A
G/8APU+T16UpwQAgBACAEAIAQAgBACAEAIAQAgBACAEAIAQAgBACAEAIAQAgBACAEAIAQAgBACAy
GknIb0BhACAEAIAKAEAIAQAgBACAEAIAQAgBACAEAIAQH3cvHHoAQAgBACAEAIAQAgBACAEAIAQA
gBACAEAIAQAgBACAEAIAQFB/hCf7n73/AFX/ALyFTP8ATfzx+f8Axke7/G/89T5PXpSnBACAEAIA
QAgBACAEAIAQAgBACAEAIAQAgBACAEAIAQAgBACAEAIAQAgBACAEAIAQAgBACAEAIAQAgBACAEAI
AQAgBACAEAIAQAgBAf/Z

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.tcnjmagazine.com/wp-content/uploads/2008/10/elmi.jpg

/9j/4AAQSkZJRgABAQAAAQABAAD//gA7Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcg
SlBFRyB2NjIpLCBxdWFsaXR5ID0gNzUK/9sAQwAIBgYHBgUIBwcHCQkICgwUDQwLCwwZEhMPFB0a
Hx4dGhwcICQuJyAiLCMcHCg3KSwwMTQ0NB8nOT04MjwuMzQy/9sAQwEJCQkMCwwYDQ0YMiEcITIy
MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy/8AAEQgA4QEs
AwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMCBAMF
BQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkq
NDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqi
o6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/E
AB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMR
BAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVG
R0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKz
tLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A
8bg3RRYIINOZl8vIX5u1aTaPdR85Dr9KqS2ssQyY2H0FcPMm9Dps0im7MBkn8KjSZi2GIAqSRM9D
yPWq5BU9K0SViWXQqnG3nNPEDOCAh49qgiJCg4IFaNtPIv8AFkehrKV0UlcS1tZPNUhThTnNbKQ8
njqM0iyl02KAGI7VftYsohbstY812aqNiqIgzqm33NW0tyskhAA+Q1dit42cHHJHBqx5GWYEdVNQ
5amiicabf93KMfMTk1Lp6ymGWKNV3HpmtSWy2FzjIPJFS2lg0gzCP3g5wTjpWj1WhCVmbOkafPbW
Klp3DMvIC55xVvRANjrnJAIqOHWIEiEcriORRypqPQC0txIyyfISSOKcb3SYO3Q5XxRhNVkJ9elY
kHzyg44zWz4oRl1eZSQxJwM9qzrW3kBU8YHvXQ9jmS1PR/Dg/dkdsd66pMiDCjOT/C9ct4a3lCSp
AHcHNdWpBiwSvX+JcVw21O5bDQp64kB9+aXa2fvN9StOVR2A/BqeEOOjgezVtBESY0ri2kxIPxWq
EgO3BK/lWmU/0aTHnCs6RTnrJ+IroiZNlCRMdSPyqvjDmrsg69fyqvg7+f5VdibmTOOtYLQxGV2D
kEE8Z610VwuATXIX1xJA0mwRbS55PWpaFc52aa5gu3GSMHpnNalhqRmUxzKA+eGBxxRJ5F0Q0sTO
TxvQdKhtYLFWwZJUZj/EM45quUyvY2UmEb/LMcHqu6htx5zGR61U/s2GS42xXgGOQD1+lUnjltnm
TcWQH5ge9OwXNqS8t4yFlUkEclRjNS2t9YO/lhpFycAhePxNYMN0XTfFBuGMbWOa0tMuo4yfNiCH
uSQBmhoFJlyeGHz93ko4U9WGc1ahtoJVJS3jBI5O0U9wqwKNi7WHBNZV20dsHltrto5+hQZKmpsy
3JE6aLpryMrRKcnqDU7+ErKRSUUxk9w1O0aNpYN7TRnc3KqvP4VsNJKhEbFQT0zSuykkcvP4VijY
BboAk4AYdahHhxejTMCOOEzXQ3dmkJa/uVZ9g4AbOPpWI3iCeRiYECx54DR7sfjTuybIyyNStOAf
MUenFWYtaRcJdwbex3LV2x1tCCrxowJ6EVf/ANCud/mRKr56djXE5fzI3S7MzN2k3i5CJzUUmgWb
xkoSAfSrlxoFk3zIuxvVTis25sr+3iZbSUy442t1FUn2YW7ortpaKTHHPG+3+FjzWbO3kDC4BHHF
WIbVt/7ziT+L61HOoUkbQTTUves9Tshh1GPMWdNvN9xGJMKQMfWunttqrEW+7yv4VwQfH3ThlORX
b6c8N9psDLwxOCAejd6VWNtUYuKT0NO3OCB2BODVoEBhk1WitHgbeGyPSpWCEMzB956EjpXFUkuj
KimKsSFjzU2mr/xMJBgcDiqSLJklZBn0x1rQ04N9uOeu3+laYablKzJqxsrowNXu4L6/kt0tfLli
GC+7ORmtTwx8jlewQ1i3Q269dMf7p/PNbHhokSHPXaa7uWzVjnTuc94tBGrOR/eqvZMrFFYZ5HFX
PGCkagx7nFZlhJiMHbnnrVzvYzjueuW1jDaxQ+QgG8Z5Nao3CAbg457jNZNncLe6ZaMCCcc+3FaE
aSrGdrMMHs1cvU6+hKu3ODt/HinhcdNv4NUYkmUAEg/UU8TEnDLGT9K2gjOTJtsn2aTk/wDfVZ0q
P3L5/wB6rrSDyH+VOvQg1QlmRVJ8tB75roRkV5EOeS351W2/P0NE2pWSHa1zAD/vioY7+0lY7LmF
j0ADimrCZTnXg1zMtmZXlYMrZY8EdK6m4+6a5TzQvmMXC4J596l3DQqNpt0gLIwAXoqDGaqCC5Ri
JYCy56NyK2lvJBGDtLfTvVlGElsJyCpJI2HqKLsnlRiYguJQJbcLJtGMEiqs9nKHldVcJt7niuhk
topJBLu2kDqBzUYiQQFVOQSfvVSYnHuc3HHvTMPDL94Hip5YBLaryQc9h1/Gp7jSHll3QHBPXJpf
7MuvKVYiNwyOvWqTIsyOyN1NLHavI+wjj5ulPaG4hldI4vMIYgkjdinx2FzEYjJbFiG52tW0ERoS
U82GRzkgcik2NRDw6I7yQonEwU7gBjFUvFGm3EN5G7TSGORcoewNbOn28NlJ57O6ySkKT3NbdxFb
3Fo0UqM7YwhboKlWuaJHnoDCJlFzIcJyGOR0rK/foSDn14FdxBoCSXDrLG0SAFXIb9BnvSr4ZgjU
J58/Hbjj2pWVtQsc0lvp17cFhm2bttNWv7JvYhutp1uFzkA8GuNju5oT1z9a1LTWJY2QrIyk+/FY
ypyWxSmnudENQmhbyriF4yOORVdr0QoxDbpCcn2oOuyiB4pAkpIxlgDWIJXmLIOOetYteR24emp+
9LYtb97NKzZJ6mqdzluQOKm2kkRL06mpZFUL0rNPlZ6LV1Y56fckwYg4rQ0rUZrCdTFkhjyvqabc
oHO049jVMBtwPpXampR1PNnCzZ6NBriEBbqN4W/2l4rQS7t5fuyKaxNF1UXlkqShWdPlbI/KtJrC
1uVz5YRh3XiuKdCLd2rEKco6F6WFJDs3bOOtSWwNpcJuO8AHJPWsw2l2mGSTcBxyeadcXl2kKHaR
IvByKdOPI1YUnfcqX1hdSX89xHCTG4OB3q/4bUrclXBUgEYNR2+vlOLiHj1UUttNCdRkuEmRQzZB
PWtlJ31M+VW0KHiy3MmqbR0OKybOzaNWw3A5wa7pktLtvNYK7n+IgGoZNLhIaUKgAGSemBVOqifZ
jPCFxMxkgkPyqMrmu3WQiAblPXuMV5ePEsemTuLKISuRjc3T/wCvTf8AhOtbU5Hkbc527TioUG3c
vnSVj1NcHopP0YUsrxpGWfKgDkkdK4DT/iHl1XULNVB6vGP6VX8X+Jxc24ispcQlQzMpIz7VrFNE
tpm3qnjaKESW9hGZ5P7/AGFcZfavqN6S1w7kf3VOAKpaTpGs6nCZLOBjF/fPGa3rbwVrUoDSjb9T
Tum9WPkbXuo5C5vX8zy0Usx7daSW0aExs4Il64B6V1t14XudMRmERaQ8+ZjOK5wy20Fyy3JlSTPD
MOK1VnsZSi4/EXLTxBeWhEczGWLphuo/GpDpTXsRlhnPzNux6e1U5WgnkCNt3OvyMp4NWfDl6ba6
aGTlM9DTcbEJ3LkVlNbgAsz46HHSr9lAjIx53Mec1tpFbSqDtxn0NSf2VG4+RvzppINTBnQxZVR9
0ZNYxlZ5XZosY6fvMV2MulSLk4yD71lyaAu47Qyk0RiKRgwOpeR3kaHg4x83NTJqzwFSzq4HGAuK
1F8J3c8TSQNkDPJGM1mzaBc20hSYBSDnGM02u4lfoXH1dlG8W4YAZIB5q3BrFmVV2ZckfcI5rHER
RiHZ1B4zirVnFYbnV5lRwvBYdalxQ1Jl671CGRUeOeNSDxuXOKWHVbsoI0e1m5zyxVqgl0tk2NGE
kU8jNMg0jzS7SxGNh0IOaVh3bLeoa1rBeIwWYTYuGAIYOfWqp13xC3P2KI++yrwtZhtSOQbAMdOa
PsVwOPNc/ShpMep5vPaHzWKlWHqKZBbCSIKW2EHGTV0xyI+0jiqM0jbyrqDg8dqyjJ2G0rkhimsw
S2DnoRTrJsynknA5+tKiq0W4vIxxwp6ZqxZW/lKXIId+uazqNJO56OEd0oroTqwTe/8AOqxnkkyc
8e1LPKIldSueKLRQYg3FZJWXMztbu+UgMLlstxUEiCP8av3EozwOaozPuAz0rSDbOeskloWdLuWt
rwMGwp4NdVDqDqcPgjPUGuLGOo/Cus0zyLvTkMgzIPlJHWt1Z6M4Kqt7yOktb6I4Gfm9DWirRyAB
kGfauPNjKhzDLkjoDVhb+8tcb1b8aydJdCVV7nRy6ZazZ3JzWXLoYlYtESoHr3qNPEGRh0O6rS6n
AQAshUqKnkkhqUWZr2F7bN+6ZsD05psX9oavutWlIhU4ftuPpXQxXsUuQWU8dxWZobj5z/ekY/rW
NepKEbo3oU1OVmTweErXy8EEn1pH8O2yDZsz711dttKDinXNoD83TNcUZ1ZdTu9nTWljz680WJEO
wYxzWJa6e2o6rb2XO15Pm+grvdRtsZAHasbQIPI8RpN5TPtDfKBzXdQnLlae5zVqUeZNHpOl2SWd
nHFEgVFGAAK0wCQMms2x1NJW8t4pIX7Bxwa0Jp0tEDyKz56KoyaIUn1LlPsVrq1VgehzXnvjHw/B
c2ryrGFZeSQK9B/tEXQOy1lXH97ArHvQLhXjdCMg5BFdMVysyk+eNmfPsu+1uMBj8rZFdFZSIzmU
dWUEY96oeJrA2Wqypj5ckipdLBjjQOCCRkZrpPMs02jp4b8pj72B3rTt9ZZGHzEisaxmCmRGHyjB
Bq+yRSDdtTB6HpSTY2jfg1eIoQ5xmrouYJ12qwJbjmuVS2XbxIR+ORUixSwOrK4ODkYOKpNCdz1O
3tYordIkUbVFPNjFKOUU/UVkaLrkd6RE4KyY6GujRcEEVS1E3Y5TW/D0Mtq/loEcDIIHQ15i8LtN
IrRq8gOCuMGvcNRx5Tk8cV5BqFzF9tk42tvIEi9vrVSjoTfUqWrXUUZQPLGvZeuKu2t7eRTBfkbP
XdzisyWcNIczMxx+VI915ina54HXFZWHc3ptcitCVnCeaBnCjimx+IZZIw62seDyP3grn7pbefaW
V1OACVOah+z2h/5eAvsQRU8o+ZmYrs6I/PIBNE9tHJIqMNuRwadaQyS6bE4zxlT+FS3EeYgzZymP
yrn2bNrXRXt7Z4mC8MhP5VJIzK52Ln6VYS38pVZH4xyDULvt6VjUetjuwatdlSeJ58mTCnsB1qML
Jb4VeamaQE9c0zLzMAo49aabtrsdDs3dbiRwlzyec06aJQuzHWl88RnawwR6UHfMeBge9LW9ynZq
yM+MBJGQ9jWnY3S2pIZygJBz71kXoe2uMg5DDvVbz5JZAWbj0rthG9pHk1qiinBnZxaqYpSjuGOc
gg1uWmpxSLhwD9a8wQt52QcVrWt/PCcE7l/WqlTTOaNRo9EazsrpQyDYx7ioJvD0nl70kBJ6c1na
GZ9VnWG2BaRumP4fr6V6baeGAkCNdTOXCgHZ0FctSXs3a510486vY80NteWmchsVf0tpoo41htjM
zDJ5wBXW6nYQ2dxDHu3pKdvzetUU0mQxPDBIYXDHoM8VzV6ikkmjqw9KUW2iezvZ0YJc2/ljsc96
1by8K2Y2Llu2ax7LQpLeeaSSZ3Vh8qtnC/nWxdRstnGjLhR/FWcpwg7RZ0QjKS945e6Rp2IudSSJ
j0VTin6FozvqciGdmV4jhwee1bDeHbS8lS4khLOF2gg8EVoafbRafeeWq7FCcCtfaK6USY07/EOs
9BFrebzcSnOD5ZPyjFbMu6QDbgHpmq4vVSZpGBZCMDFJHHPLIrxEorckmtlzNi5YrQy7rQ5Z7xZ1
vZ4mAAwp4b61au4/LgVWILdCR3rSSeLynSUESrWNfSlm/GtVd7kOKS0OG1rQItV1ZA4PWuY1eOO3
1CWOPhUcoB9OK9Inkgjae4kkC+SmQc4ya8qv7gzXJZifmYt+daxfc5KqSOl0VEnCZfGVwTjNbT6Q
xGdgYeq1yOjXkkMBaNsMhz9R3rq7PxJlAJUzTV7mDSKk2gytMrxzvGwOdrdK0Psbfxp0HReRWlDq
lpOpLAZxVmJLeRQVfryeaojToYK3zWF2hjtXUryGI4Nd9o+vre25Z4GUqOcHNczqmnmWyfYScDOB
3q74Xt5GtmYSYXptYVcVqTLYua74jt7cSQeW+8DHtXDvoMd3iVJTuf5tpPGa39X0m7vLmSRnTOeT
g81kXOmyxDhbhOc5hOR+VVKXREpdzHvNGmgfDRA+hUdaqJCkIw6YB9RW2hnjUyDUWJU4Mc0eCPzq
1H5UsIEiqzsfwNZtmiSZzrwW8kgVuvbmmPa25c7Xcj866RdMgmJJtsMPeq0nh2yLk+Y6HuobilcH
Fnn9rqF3bRsiBSrMTgj1qU3d1ICPKTB605dAvR/y7XA/4Bmg6PdKceXMPqhrndWl3Rt7Crb/AII6
Ga54V1UL35omALYBzUY0+4hcMwcY9VNSMjp82w4z6VhVcXK6Z34SLjFqRG1sNucYzTQWiTCgfSph
L8uD09ageVCSByKlNvc6JWWxCXy3K5PvVlJRtwMZqGIEkYUnPc1LJGIRuUjJHSraT0ITcVcpajGr
x8kBx93nrWbFbS7s7Dgd6kvctKTuJNRRuwXAJrtpLliePiZ89RslSA79xdVA9TWpp1k2oXkVpah5
p5DtVVFY6jJ7/nXrnwm8PD9/rk6YCDy4M9z3NE58quTSp88rHW+EPC0Xh+xwwzdPzK/v6D2rqCWw
fTvTwFP7tj91efrXJ6h4phsr82iq7kttIUc1wRpylK7PTbjGNtibxJZNPHA0XDh8rk8Z61Xtr63+
2go6sWUbgD90+lXPEk8a6PbwTgeZKQQpOD61wUepf2dqaxSxqqSHjbnI54zROhzoSrqE7M9DnnEv
C4x1we9ODyPakuRsA4Ws5Fg1C1SaCUhx1UHr7VoW4iMOFtYlbvvyayp01fVnQ3daEFvciFlCnHPT
PFU9T1DyL2GZ8BFb58+lXViCSebPGigcKAMYrntThl1qK8khGLaIFXcHqfQVSj71kKU+VNs6S5ii
F/aypJILaRfm8s/rWlKbeK3zC91KBwMVw/gzU3mT+z7p9zQj92SecV30YQQnDcdxmulO0miE1KKZ
nrDJKTJIxAHRT1H1NZ+plYYGduAOc1oXeoW9upUuB3NcrrN7JcRGU/JEPmAPfHc+1VHcmTsrHNeI
NQC2otFbMsh3yew7CuKuGZixwTgdu1al9KZrh7gsTkkDNUEuo7e3uVMQkklXYuf4fU1tFHDVlcl0
eUJcqjfdbiuw07ToplZc7WB6EVwdq+1lJ4wa7rRdTCzR78HPBzRexCV0XW0iWPOwZB7qaiX7VanG
5sehrqVWKT5kGOO1KbZZvlZQygcnFaGdjEttamjwJVyK2bDV7ZRhMJznApkujQuPuFPpVGXRZF5j
IP6Gi4WZ1sGowS4w6k+/NPaKCZiSik+3auIC3lq2Sp/4EKuW2syQtiXdt9+aYXOil0W2mU5wCezD
NUJfDHlqWjXA7FO1PttehaTbkAep5rWtdTW5uZUjb5IwAwB6n6UmmO6OYvNL1KJf3MiZx0dKwZYN
fWRh9kifn7wI5r1FQsmcFWHvTGtIi2WQA/SiyEzz59RnVyI3O3PGaT+0rsEEOPxUVCFQn7yn8aaw
UHgivkGm3c+hLTajctGxPlyAdQUHFZ2tN5+k3GYIlaNd+5BjirUUZEqn5c56Gq/iJHGk3spwoK9v
r0rpw6i5JGVRtJtHBfZjKA275TUot0iFJbBjbKPao5SwBB6DvXp2d7DuuW45plQHaMH1rJuNQEjl
Izkd29aqXd60x2ISsY7etVYzgmuynRUdWeZiMW5e7EukhkOMdKgjoDHoDVmwtZLy5WCJSzseABW/
Q4tyzpunzahdLDApJPJPYD1NfQ/hm3Fh4d0u2GMbecetcBb+GI9Hs4zaXYkZ1BeUDgnuK7DSNWji
tLKF5kaRZCpHfp1rmqPm0R2Ydcr1OikuFeOZkI3sxUex6VyNvpNpYeJ4jPctNIqGVvMGBn2rRF+F
+3R79rRz5GPQnNY2rpceJNUVINsQhiJUE8k+lKCsa1ppNFLWtQk1/Wo2jdUiRtqFumfWue1F57nx
XKtwyNKkm0lOnHpXSWelTQwhLyPyWVuMMDn3rkZmNp4qlEjE/vjye4NdWG5fapPY4a8pOLfU7ewL
QBZIm2Pjp2auhi8QQRoPOt38wei5/lWfYWqSaVFIwzxSSWuIzIJAqAd+1edWjy1ZRXc9SlLmpqT7
FbXdYkuoWYK0EOO/DH6VgeFPEcNlc6npd5JtguVymTwj4xzVHxFrUECmKJ/NmPT0FYujRxZka7j8
wzDr3HuK7KVF043lucNauqkrR2RsTF7S6jlhkKM8e5WU9x1qw3i7UoBtlm3RgjdxggHvWBcyG3uI
4opzLDG2UJGCAeop185WdcrksuNuOtVZNApyR1v9qQ7UdSJ2YZGTwPrWJq15cXYkkmkJAOFUcDNE
GlXtlpa3TRsucsVYdBTJY8xjeRhVLn3NS42Zpz3Rm3MCxwxJnLbSzVX06ymNz5q23mnlVLcKGPc/
QVcdGnchQSzkKK9J03QbYXGmaQ6Fo4V8+6x0ZiOFpxd2ZTR40bZkeUE4KDI9+a3oY3jtLeeNgwI3
DHseRWx4606D/hI7p7OApDGq5AXAz0p3hqwDXPlyKWspHMSsecErnircUzNPlZpafqIMCuJOSK0b
LUgtuGc5LuTmsiHShaapNp0hIP3om9RVmfSZ4YgEYkqScVSfRktHT2t/HIMFx+dXB5MxwwAPqDXn
jNeW55B4q3a69PARuz+NGgXZ3DWQYcHI9xVSXRopM5jGfVaz7TxUuAGXbnuDXQWeqW1yoKspJ7Zw
aVmO6Ofl8PkHMb4x03Cs/wCx31hI7JvOWLE9c16BmBhg46d6pxWouITOQRliFA7CjVBozn7LxBNG
dtwMH1xW/Drlq0QJdc/WoLrQ94yyK3vjBrLfQUDfdYVXMLlOXjuot3SPPrkVOkyDnjFeVWunq8Mc
7TuM4OM16P4iXyvBlyqsQxEeCBg4rw6uAjFpc256lPF8ybtsXzPGzgLg89zUfizbH4ekbPJKj9a4
HSdMmN7at9slwXUlc9ea7bxsWHh/YBjc45/Os54b2FWCve5ca/tacnbY4OO4EW4Nyh5rQ0cR3kkr
Oo+UcD61iIhECqeeK1dAk2TS56ECvdqUI8vN1PJp4qp/Dvoc1fWT211LGykYY4z3FVgmG5FejXVv
a3sW2ZAx7HuK5i98PTpJm2/eIe3cVMJdGKUbbGKke5sY5rttE05tIjDyKBcSKGJI6A9BVDQ9ICzG
edQZI2wsR9fU128EMeowM8oBaP7yqcMB/UUTlYcYkNrqzJkNtUkYIPR/rU+6dQlxFCQG+YMBwDWp
pOh6TPJcRXAd5TETGC3HTt70zRHvYtEv7QsjxJzH5nRRnnmsXy9DTXqVtNB1Kea3kmImmk3ySFsE
AD0qOSVJrRls7vDElSzcH0qbTbN7p/OhKb15YhuRit/SRNpaNY3ekwyqhLLMGGGBPOaq+obq7ONi
0yR4w6PIxX7xB6Vga1BN9rM8u4n+9Xp+s6Yk/l3mgSrHOBl4FbG/6Cud1GO0v5I4YY5vtDjEytHh
Vk7jNOFTW5LSehnaP4u+yWAjklQ46o/9KztY8X3mpfuLVPLiPAC9TUsvhB/Nc7ggXqpYZ/AV0+na
Tp+naFIkUKw6jKBslZg7Hnnj+GuidaDfOorm7mcYTS5HLQ5nTPCZOnHVtTuFjbeNkbnr9au3smn3
jeSPLjdSSrp8owe3Sny6Lc3TOHllYrye4NVZNMhhJUMzlkypHr71nzX1bHa2xi3tj9mkz5u/7prV
06wOrazptuhAYyAE+3X+lMljt44SrrvkYYLE9PwrpfhrZCfXri74K26Er9TxQlqWnodN48aa10AR
BE2yOqs6+3NeVl5JmUN/FhR9K9i8exh/DOTjmUf1ryOBCzBU+8WAHsKdTcqnqjY8P6es2uwx4BKA
sAe5A4/WvX9M0aC0hhu5X2iGMtK5755JNcJ4J0ppbua42/MmAD6ev8q9NvdPfUvs9qzBdPwGlUHm
Q9h9KmC0HUep5Lq1re+Jbm6fTbYujy+ZI7HChQPlH5c12Hg7w7av4Ts9qr5yks6sP48nmu4j02C2
i+z28KxxN1CjFMhsYLCBYoV2xgnkdsnNbJdTGUk9jyvxzpc+myW2pxoQYHwx/wBk1PZXEN3As2R8
4yMdhXo+pWNvqVlJa3SB45FwfevEr23uvC+tTadI58oHdEx7qaJLqJS6HUyWMcw+6GrPn0KN87Ri
qtvrhyCx/EVt2mrQTYDMM+/FTYd0zl7nQJYuUB/CqqC8tCTk4r0HEMqZBGahk02OZeUBzSvYfKce
mv3cMTp5rfdI5rc0fxbHFaQRT5yBgkU288OpIp2rg+4rCn0CWIbQD8vQgVXNcmzR6JDrVvcLmNuS
KRtRiUkGJm9wOK86t2vbKXevIAxiultPElvFbqtzaytL3KjIp6MV2eGwsy21rGR8xYcfjXo3i07f
CsgxyQg/WvPrJc3MLtt2rjHNd34sf/inG3dMrXn4u6qQ9TrwtnCbMbR0Y3loOnzLW546ONDX5snz
MdfY1z2kXYfU7VFx94dM1u+NNraTErd5Ov4GscX/ALxBM1wz/cSZwzKRGnugq5pUMiSsSpAK9ajk
G9Y8IygJgZ71u28RMUePQV7EnaKR5cFeTFXcD04qSVxDbvIRyBxXUWXgTW7vT0vY7MmN+VBYBiPp
WdrXhfV7O12z6fOoPOQmRj8Kw0RscTFc3KTeejEHOc1sWert5gkQmKbocdDVJ4Gj/h4Haq0kYB3A
4rSyZN2jq01eUX1te7FEsONxHAce4qzNdw3szxWrSKsmTsJxWBpGvx2bbL20ju4T/eHzD6Guu0fS
7LX7m1NojW0TuTgjqB1yazlFLoUm2XfD1o9jpg3TfvZCQwHYelWLgXkYASJ9rdWFdHNoqWkaoYxs
H3nTgE/SqpsntdpjZpVc4LN/DUJuKuyrXditb6fHFY+dNEz+aNhKj5kOeCKjk0a1nkaX7If374Zm
Pzbv72M9OK1V3K+Xckk4Cr61PckRxr5qJu52AHkZ715c6kubTqayopK6ZyUuhizvZprlZgu0+UIm
79iB3+lVbvSvJV7xpJfs2eZZF2njtXT6k8OmaasUcm+RuAWbLDPfPauR0p7ibUoLOa4kMRLKgl+Z
cntXXRcnq2ZuNnYqtf8A2qYQw5NumMhTy1WJraJkT5vKU4GV+XGfWrOpaB/YkxvVureNmb5YcHbj
61meZeyJ57xj7O7bTKDlVB9cdK6N9UJq25kavarp13JEGLbBnJOc/SvQ/htZG08NTXrjDXD8eu0V
iWui6fqkwjNw8yQ4UnGM98fSuw1i9h8OaCiWyDzAojgjHdjwP8a3jfczlJLRHKeMPFC6nMttAGNv
FkAdAzeprm7a2dLbzep3jLep9BXodh4Yt/8AhHxBdD/SJ13yyj72TzitPw/4RtLRo3cmURZI3jqf
WsFLnm4o1jVjsi34J05rPRYmkGJZ+SD1FdYi+WY0z0qC3UGbgYVeABU5OZfpXSlZGbd2XM9BUcoB
OP7wpd2KGOVpklCTdCSQN0Z6j0rj/G2jQX1ot3s3NApdWHXHcV3Eg2y4P3X/AJ1k6pab7aWNejgj
B6DNUgPFjZ2tyu+CQxn26VBJbXlqSyt5qDuvWrt3b2lpeSWlxut54ztIPKmmJZXER3wzCSP/AGTk
Vi3bQ0tchttfuLZgC7DHYmujsvFMLqBIMHuRXP3E1sf3M0QBPTIqq2mhYw8MpyezdKd+4rdj0i11
a0uR99Tx3q0sdpeL5iDhhxXlG+9gJXY209CnIq9YeIbvTwkRdgMfdaiyewczW56FPoccw+VQfwrK
k8P4cj5x7Cm6b4yicAXAwD3HattPENky581TRZ9A5keD21tb+RE4UZNdN4iZToy7vu7lrJ06C3Gn
JuGWxxV/WCJdMVSM4ZeK87FO9SB2YdWjIZpyxi7gKIvXjAqXxaDJaQKORuP8qXToALqI5xT/ABG4
xaxj++T0rGu74mJtSVqLOg0L4XXuu6dbXdxcpaoyZRSu5iK6zw18OG0vVxJqAS5giXMeOjH3FW/C
OvwX+nQ2nm+RcQxhdpOA2PSuojlkP3mkz6g8V7CXZ6HmtWbNRSEQBQVA9qczRuuGwR34qtDKVGC/
5irAkVxjjNVoTYwbvwh4bvnLTaXEWJyWUFc/lXmvjX4Wm0hkv9C3SRKMvbnlgPUetew3tytnavOw
+VRXETandtI8jI5iYcbHzxXPWqxp+p0UaDq3Z4zZ+GpTGlxdBkRmIKY5H1ru/D0K2CRHkBV+VfQe
lXbqW3lOIdyA9VYY5/GsbW1vLK3S6guJEcfdweK5oYpt+8jeeD5VeLOym1bFsEaPZGxzg/eb6DtV
aCd5YDHEjYzlj6CvKLzxZrF4iRy3bDaf4QBzUk/izVJdO+xicKh+86jDN9TW9SNWasrHEmkz0zUt
Q021MbC7RJB1JI+U1zWq+OoYHcWZe6lGB5rgBT68V55JMzyYLE4Hc03ORkHj0qIYSMd9RubNY6/f
PevcvLvZzlkbofb2rotPvotRi324Kypy0O7DA+q1whbP1p6XEltcrLC5RlwQQeldLppolTaPS4oz
r9xbw6oshC5WO5TgkDna4/rWLrv2G0u3i05ZFRflYFj8zfSotK1mW4s5mEhWZRlsd896jttOku5W
unJ2AcA96wnLkdjWMefU6DwxCtncC3ZsyOqyMx7mt6IDXfFDXLndZ6eCkXo8ndvwrkbm4ksdWQxE
b3iEan0Y9DXf6JapZ6dbxLwNvJ9Sepraq7QZyyVtTaVR5OT0HT8as2czrlQCUPfHSq8Tqlt+8Xdh
sAU9bl5HRRhVyOFFccbQknci6TRs2x25J+tRi7VXbHzHPaoJ7uKzjDSuFVgQM9zVWPU7OZlVZEU4
7V6N0t2b2fRG8sgkCsD1qQ/cOKzLO7iaIL5iZBx96rhl56g09HsKzHzL5ttlfvLyKgJWWIMBnNTQ
ONn41VRhFcvCfunlaAPPvHugJMV1ONMso2yY9OxrhFjktsSRzOp746V7jqFqksUsUgyjqQQa8l1H
STYXM0AbJycK3cdsVlVT+JGlNp6MovdpMo+0wxyq3A7NVi3WxkbaHKD+4xxzWbJE0Drjhm67+gpM
Exbp8MRwCvPPrWSkW00aU1gVBZN2T0Knis0aeH3GYEnHFSwzXVvb+dbyF1BwUY/yqUamspLSRbeO
dvam5WQKN2Z7WBRisE/zf3W/xpgGoxjb5Uhx3AzWj9ptZj+6kG4cc8GrK+dt+Rht/wB7FVGp2JdM
5PTSv2NMkZwauag2+yB/2gaqWkIihCOOeelTykPb+XyK8qvUi3FpnrUMJWs1ymhaHMyHqf8A61Vf
ED/6RaA9m7Ukd0YiCqjI9aium+2Ojy/eQ/KBWVSpF1VJbG9PBVvZ8rRsxMogHXIHUdRXb6TrVza6
VG7XQEW0bQxya8zF3KjqN+VGM8VvafeoblXVRKvUKO34Vuq937pm8I6a9/U9Q0zxL58YWRCR/ecg
Z+lbMWq6c8iRi9iSZhny2kAb8q88t3R5xLeghQPlhXqT7155qk8g126/cvC5lJVW+8vpXRTxXKve
1MJ4OM37uh9KOokjaJ+Qwx9a87uYmt7ua0W5Cyxv0JyK5LTNR8WSQiOO8uIYcdZG6fTPNQyR3+kX
Ek0ubqNzlmyc59ayxGKpVLJGmHwk6beqOllE8bkSbW56gisbxReoLAR4Oe+elUX8Q2kaEus2761y
era1JqMmDuWIdqmlDma10KrNxTVtTLcndu9TmlRs5FNOSRinIDzgc16ftYLqeV9VrN6RYwkhzzTj
IEXNPEDN14/CtLT9NjlYSbh5iHIVxlTUrEU27JlTwVaEeeS0Mbdkc8VJEjyk4UkngYFdNqMEErob
u0hZyvy+UNnH4daz7ue3tYCEwjE4CL6fWnOo0vdWphGCe7IbUmwDGXjdwSG7fSp7rxLKYvJtv3aY
xx1rHvL6KeCFI4tsiAh2P8XNQwJ82WBwOelRGF3zS3Kc7K0di4bqcyrM8jGTIIJPpXsPhDUJ9S0C
OeYYdGK59R6141bq1zeRR44eRVPsCa9707TxYWqQxjCKABjpW/JzJpmEtUa1vIskGZCcKecVMLpZ
JUSOMKu4duaz4lIZh0DD9antQWuEyCCDzXLUjOLikjN3TRd1BYJbqBLhyqhSQQM81WnsbLYPLuk5
65GKh1icG9TB/g6VnGQE8n82rGvUj7Rpo9ajB8iaZpJoqSAeTcwuT6Pipv7Ev0XKlye216xmuADj
PA67WHH6U5NRljUbDL7FZOlYqdNPt8zZwn3NT7JrVuDskn+nXFVJLzWlkDPnK8DelNj1i924aaXH
ruHSkfU7plLCdjg5wRin7VWvGTEqTv70UTtreohAs8ETZHbINc/4ht21aNWSPyp0OQSeCO9ayarc
MAXCPnsyA1ILi1l5ktQHx/CxFNYqdrc33ieHjvynER6dcxl/tADBVJXvk1nR20l0ZE2SQO3bHA/+
tXoTW9hKeWkT64IqP+x45AViu42HZSMGksRPyYnRi/I89Njd2nEpUxKOxzWdOr5YAkKGwCe9elXP
huUxl2X92R8wHesK70OMlgRwOeRxWn1mN9VYj2Dfwu5ycNojSZkyqJ1YHrU0ZiIP+lzR8/d61qnS
3W3aNYDhu4rPOjz5+8F9sGtVOMtUzNxlHRmYuB2z9aaRk+lPx3xS9iOOleHc+yI9tDKM8ZxUqozY
AGTWlaaBfXQ3CIon95+KLkzlGKu2Y+wscDvUkFvqMF4stkN7L2XmuvsPCkSsr3G5h154/Sumt7S2
tIttvAAD3PNaQdtTzq+Ig9ErnL2Fxf4Rpogs/Qlm4FRixjN09y6l53O4yNySa6eWz3PwvzH2qEWR
GQRg1sqt9kcTT7lC3lmwAec9KWS55KSICCO9XjbFcMFChe5rF1DUbO3LFn82TuF5pOEXq0EeZuyM
fVdDjukZ7X5W67M8fhXGTW5ikZSOQcEGukvtXuJyyxfu0PYdayDFu69aako6JndTpza98pJFmrCR
Adql2KvUgVIgUnAYH6VMptnRCCWgiR+1SiLsCV+lPVQBTsVnGo4yUkaTpKcHF9TUsLW1SQPeM7qg
yuDkH2NZ+qeHbjVWlvbIIoLnEfQVds3kuHjt1VQQcZPeuw0mwFrpyRNgnJNe/RtUXMfGYiMqMnB9
DxmfTb+1lCTwOhJxwOPzqwAyr5fXccZPXFewXOnxyjlQc+1Y7eHbRLkXCwJ5g6Ejit+RpnPzpozN
C0CKC3jmZd0rEHn+HmvYbeJfJjXggADPrXni+fHJu2KVP3lHet7StSa1ECO7tC4Iz3U+laW7Ep2e
p1bWqbdwXpUIJLCOKPc4P3uwqSC4sZ0DG4dvZjV1JYAMRlQPap5ddTS9zldRBiv5A75IUZNVRNDE
gd1DZ6YpdbnSXVbtW5BIX9KqrBvgUqD8h4wfavCrSvVkezSVqauTsZGbMcQ2n1pd1wq48pfwbrVq
HbJCrquT3GajZ1JwMp9a5JuUdTdWZGGc/fiIB4+WmSbNxXy3B/vetEj3abvLi3qf4hVaS4uI4xI6
Y5xt70Lntew9Lk/mQngkqR/epyqzENHMMeoaqv29cZeMc8dakjubV+vyn0HFRzsvlJZDNHnccg9c
KKh89lbPIGOBUytEATFJweCCajaJz0epdRdQUS3DezLDuE+zHQc0NeMctPDFIPbGah+fyQpSNiO5
FQvkD5om+oOa2VTS6ZHJqTH7EwKqpiPY56UC1hfkTJiqTKBjLYXOTkGpklZVA8uNx2OBUqpfcbh2
POduRSIFVxuXK+mcVpNomoJA0rWzKgGTnrWeVrFOzPcTjLZnZeG00y4h/cwKlwo+YMck+4rofLwP
6V5naXE1pOJYWKsO4Nd3pOtpqUIVsLOOq+vuK00lqjy8TQnB826NIL69DU8XUbwSvt1qhc31vZru
nlAP90dayLnxQ75W2jCj+81awh1ZyqnOekUdHM8MeZJGWJc5AJrFvPEUCZS1i81h/GeBXPTTy3T7
ppGkPuelMVcVqrJ6HXDBr7bJby9vL4kzzsR2VeAKx7iHHFauOKp3QyaVTVanZSio6RRlhFB+YZpj
JuJOMVbZP0qNkwOa5OY6bFUQhuo4qQIoGAB+AqTGKSjmYcqGYoxSmjFK47FvTNi6lbs7EAPXoUTD
YfbgV5smQcg812+j3v2q1XJ+YEBq93K6ycXTe6Pl89w7UlWWz0NU49OKjaMMcUiSZX61MmC1eqfP
DRbKEGQMmq0lm24quSrfMMD7pFaTfNcBPTA/rUuAT04BqWyrEcC/ZzFcOm2RkAJ7EfSuitGs7zA/
1Uvpnr9K53exwpcmMnHPY0+DdEcHOOx9KGNNpmPqZA1S65JAkIFSWeoW8SFGlTKnDKTgg1QuCZJ2
JPJcnOfel0LXHtpbqzOirdo91jznAIHA9q8GjT9tWkj3a1T2VKLNlJYZkIs7hQ3UoDzTop3Egjuo
sj+/jFZd9Naz6ybe20+K3eBdzyRDGc9qqavdXiJaQWly0Uk0u3f1wMelXUo2n7MiNW8Oc7FUieIq
jfK3oaoXVlJDGSJgyn+Fxmsnwbp2u6nHeTz38OxJTHEwTG/b1JArcgupjFtnRJDypxxmlUouGkgp
1VLWJz50+WefHyRv296uJaCEASxBX9+lPn1bS2kdC0tuUYrvaM7CR7iprbUlcFRNbzx/wtuyD/hX
LUw7OmNe+xUkgiZgxQDb6HFRNPBG/wAruMdgcitK+00XWHtWRHIwRnjHtWQ1o9vMUnXCnjpWHsZR
3ZrGopEhuUPIuHXPUFadHJIQSk+72Iq39kQRArEGTtkZp2/yIic4GOQBWUnZ6otNW0KLzXKg7dh+
hqFruYHmH8gKdJdWpbcAOeuR1pBNZ45T8qTlqUo6G3LGJFaNhwRivONRtWtL6aDsrcfSvUVgkf8A
hJ/CuM8W2areRyxlWZxhlByRj1rSUXa6KwVXlqcvc5bBzU8M0lvIskTFXU5BFN8p842MfwpwiYHl
G/KoV1qj12k1Zj3mknk3yOWY8kmpUOar7HH8DY+lSIHH8DflWsWyeVJWRbQ1LjNV0Lk/db8qsqrY
+635V0x1MZIXoKqTjJq0d2Put+VV5Q+Put+VE9UEFqUnAzj9aiOKmdXz9xh+FQlXJ+435VxPc6UR
MOeKTBFSmN8Z2N+VJ5b/ANxvypaj0IsZNKFqTyn/ALrflT0RwP8AVk/UUwI1GK1dEu/s14FY/K5A
NZwjf+435U4JIpBCsD9K6MLVdKopHLjKCr0ZU2doj4O3PQkVeicZU571zdneSbEE6Muej44Y1sxu
20kKeMEV9UpKSuj4GcJQk4y3NYriUS/7eD/KrioGkZD0YVVViUkj2nJJI49eRUyyNuQ4PIyOKTBC
NGFl+YcfdP49KlCGON1bkYOKWQbxnaeU5/Omuz/YXfaeFIPHIqXsVHc4nz9sz9flP9a1vC+9dPup
Ch2yXLHIrHkjKRlxkuWOeD0ro/DBZdETdGVLuxHvzXlZdFqpJs9TMGuSKG3rK12NrA4j7D1NYOrz
CLULMk8RpJJ+OMCti9Li9mKo2BgdPaoNC0pdb8ZRi5TNvbW+9kI4Yk8D9K0vfE3ItbDJHV+G7b+z
fCEIAKs8fmv67iM5rNDBIcnoBmun1KPydLnRFI42rgdq46+ZodPmO1shDjj1oxjvKKHhVaLZveHo
AmgQEW4Mku52ZxxySa5/Uk09tZaKzhiWWEfvpEXG4nt+lTa5rF5o3h2CG0YNJsVBlenFc94ZEr2U
s84YzSyEsxHJNdGKtDDmGH96sQ+K9Vn0bSkubLC3TyhUz0rGh+It1tEeqaeH6ZeI4P4ZqTxozvfa
fBtYqu6Rhj8Kp2MOJvszw70k5XK1yUqClQ5mb1a7jX5Ueh6VrC3NnBLGpMUi7gJOGAq9I8F4CobB
HULjiseC18uNI0TaqKABivO7mLWLvXr65066kh2SFRgkZxXHCKqXR1ylyaneXllHHMQJTtPXjkU2
PQzKgdGcqehwK5/QtY8RTalFp2q2qzQkHMrJggfUV2ipPGu2BnROw2g1lUw8U7GsK7auj01OlZc3
/Hw1FFe2vhZ5EfiG0Giis2bhS9hRRQMUdad2oorREsQ0jfdoopMIjDRRRUDDtRRRTAKKKKQBS9qK
KEA8/wCqT61OOn4UUV1w2OCfxMlHWnDotFFUQOFDf6pvpRRSew1uUH+7Vm3/AOPdfrRRUUzepsI/
V/rTrL/j8f8A3B/Oiip+2yfsotz/AOqNUp/9U1FFFTcqOw26+4PrUdt/q/xooqqvwmdP4yC6/wBa
P92kX7yUUUL4By/iF8fe/GqMX35P96iis4bmjJ0/1y1ZoopvcI7H/9k=

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.tcnjmagazine.com/wp-content/plugins/wp-email/images/email.gif

R0lGODlhEAAQAPfFAND//8v9/+rq6uL//9n//6zf/2tra/v7+/f398Dz/8X4/+f//7Pm/5+fn7ns
/7rt/+bm5uH//2NjZpm056ve/9f////Mkf/Oks/5/IaGhv/+8M3X5Pm9i/z8/KOjo+Hh4f/VlPPz
825ubuv//4iIiKnW+dfT056enua3lWZmc6m5xf/flf/nlvLx0Pjam/D//83+//XgwdLf7////nuD
or/y/63g/5zK+vHct9nd697g7dvb22ttgP//6Mvr9fLmp5Krxfn2nJvH+dzy8qDT/+Tit9fZw+PJ
q6DS/vbgvP39/bzp+fnVmP//+v//7pmz5r+/v6bP9f/Ijs24q+atkKenp522xfG0ccLI4tnZ3Lbg
9eny+f//8M3N4Orq7dj////1v7S/zN3//5rA8urp4M///2Vlb6WfuWJiYs7OzrXo/2ZmcPj4+P/v
rPn5+ZrD9cPDw9z//+n////SlKO5xeayldT//+Th3dPT05OTk/zdl9/dxXJ3kXyBl9bd65vJ+uDm
8sbl8oafxPjPj6GhodfX6v/zmPnzm//FjMe5vKXY/8zZ6N3Hqe/v7319fYaIrv/wl5rA84iYwt3f
v//83s/+//Ly8uXl5enp6c/W4+bepePi4sr8/52+7Zm46+rq4KysrPrNgLm5uZ2pyZq16NjOtKbZ
/8jV6f//4v/vrfDj17ni9dP//9///+Xdw835/P/ilYSSuP/ql9vZxP/4yLnp/N7Hv8LO6P//9ZzL
/N3d3fDw8PnLdNnQssXFxdb//57N+4aQtoWFheDg4P///////wAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMUALAAAAAAQABAA
AAj/AIsJFOiliKZSJnZ1GMiw2KcghmTBYjIlC4KGxcgcgsRiBYgLUlAkEnBgoKpBeniFmmMBEYc6
VM7oclPsjgtiOGfESMLoyBVbYTxgKtQLB84muJz0QEVr1gAVJD7o2LKnhQYulMC0SWWEQAU6wobl
kLNgyKQfrjYByvSqTAArYf20ikPgl4wXIxYM8FFLDZCwG1gBgBEogpgvdgAE0AJMUNhFChKswlCJ
U+QHDAp0Chb2lI0SS2o4yGyKSK43nh5lGHZLSBQKipDciDRBEg0eawycgICF1J8xT2LxSSHBgKM8
oOAMY9NlVB8zaEQIayAqzY5LjRAoKWbJF6EqUPAMBhMQomTDgAA7

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.tcnjmagazine.com/wp-content/plugins/add-to-any-subscribe/subscribe_120_16.gif

R0lGODlheAAQAPe+AL+/v/b4/X9/fw8PD9/f3x8fH+/v78/Pz6+vrz8/P29vb8TExD9v/w8ODwg7
1E9PT0t4/xRH4OPj49TU1LW1tTBj/KampiJV7l9fXx4eHry8vP/585+fny8vLwAzzPudOr6+vj09
PfeXOPqbObm4ucLCwtzc3P7y5k5OTvOONviYOHt7e/aUN8zMzO+GNH19fc7OzsPDw+no6Z2dneNv
LuOAPlxcXEd1//GKNMnIyeBpLN96PO6FM+7u7u6GOv3x5o2NjZ6enipg3kd56u6HOurWyTFk/fjk
1/abROd2MD9z6et+MvKPPOjn6I6Ojuh7N0Z46vSTPS4tLvWWPjNp5+uAOeV2Nvz8/Ovr6/GMPEd2
+fOPNuuDOW1tbfCLO+NyNT93ztjY2PnHmt1jK97e3v3w5uqPQtnk9fuuXvSSPR5Xsi4uLuyHPiBW
1Pu/g/WVO/CdZerp6v748qqpquZ6M99qMD4+PvzAg/i5gSZfux1WtCVevT94zvGVTemOQuh5MOiM
Qfq9g+FuNOl+N/3v5eVzLvuvX/rl2ParaOOAU8/a6/O2i/7nzkF5zRVJ2kB4za6urtteKvGPOdTf
8fr6+vjFmvmxaida8yhc7fScT/eZP/u6d8nV59fX1/3q2fujRvj4+PGxiuqOQfeydfq4dv7z5uuA
MdDQ0PCNQI+Pj6ysrPmrXfjEmhlPze2aY/q3dvS8mPOkZhxP6O6mfYuKi/v7+/f29/7+/vLy8u7t
7uvq68DAwAAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAL4ALAAAAAB4ABAA
QAj/AH3tGkiwoMGDCBMqXMiwocOHDn0t6EWRopIKATJqvEClosdeABQMGEAAJC+KAE72ElCAIgeV
CngVUFCy18yPAlRS5AXApIFeB3j2SjAgQYIOvGpSZLIFiZtSvV6N6rUoyZOPWLP22jXRYyMIYBlU
uBDBgRqsBQpgeMDrgVaKAhK8nZs1wQGTdLHS+UOxjBgkKkZ8EJFGq86su0rgWryYkx5Hsi4ZYaAF
jCLGmCdQsDABswTOEigsnrDgM2ZcEyyIxrxgNWrXuChIwBUal4XZmW+fxiVqcAoXS5LQ0DEm0o7d
yHcPpJS3ufPn0KEfqTGICxEvTKJMeWPmSPReoLh+/xwCQWxGBx4ctPlIoC2CXgZqpkSpUsDIArze
94qJVAHFAwPwMtJP9vGSVC9CpVRAgAJQREACAhagX0VE8MAKIiyQssEGq/zmA1YGhqjVLjHUYqKJ
QpTlQUYXVMAAFCeaOAMvQMjISwu1aHBjLSjwYuILvGiAhR0F1GICLzPUosqOKKyBRS0FvFALkDEG
mSONtXTBiwk8DsBlFwPEWMsUKmzQSyB49AIHLL3o8IWYJoYI54kDnSKDLnjmqeeefPbp55+ABiro
oIT+KcMBJewSxhXfNeroo5A6d0UnJcTw0RmPaHHDDQwYgUkek2BlQFwPpEIXABxEWpEAJRHQIHQ1
FP/iChs84LAFC4F94Eej4nkERVgZqdjKRyndtdKBBvQEn7JxGYCAUiAhoGxFAExIwAEH6AfAT/Mh
YGxFBEzoERemxFKJJ72cgIZvWWQl4ohdVTQEAxppFIEQWHEQ4AAPGDsfXsfe9UBLCPqHgFy9PNCB
AQYU0GBOANSUIC+pxlQSBgP8hPFHXuBA0QmbGLLBD6gsUQWvC9yisspUkOVAsC0qsbLKTmCwcg+8
OHELCLyoHETPtwjQgc9A3wIJxgP0cAsvCqgMAwxBF700CDsDDQMvVCfgsABckzFzFCxYcscnJ/zg
AiGH0GDFzCqHaCDbK5Noy9xz74GeAxG0yAAEfNB/TbcNbtswdxMZ8NJACLzMvUIDjGdAguK8SMFL
CHPnIEXjTdiyQuJ08/I4CbxkwDgtlSNe+Bx+26LJCIzIkUkfvYQySy+J1JF657f7PVAcufTu++/A
By/88MQXb/zxwxcBiCRZ+FDFE1Z8IcgORSAPvAy7CATR9tx37/33DfkSEAA7

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-Location: http://www.tcnjmagazine.com/wp-content/uploads/authors/7.jpg

/9j/4RJ7RXhpZgAATU0AKgAAAAgACQESAAMAAAABAAEAAAESAAMAAAABAAEAAAEaAAUAAAABAAAA
egEbAAUAAAABAAAAggEoAAMAAAABAAIAAAExAAIAAAAQAAAAigEyAAIAAAAUAAAAmgE8AAIAAAAQ
AAAArgITAAMAAAABAAEAAAAAAL4ASAAAAAEAAABIAAAAAQAAUXVpY2tUaW1lIDcuNC41ADIwMDg6
MDQ6MTMgMjI6NDc6MTAATWFjIE9TIFggMTAuNC45AAAHAQMAAwAAAAEABgAAARoABQAAAAEAAAEY
ARsABQAAAAEAAAEgASgAAwAAAAEAAgAAAgEABAAAAAEAAAEoAgIABAAAAAEAABFLAhMAAwAAAAEA
AQAAAAAAAABIAAAAAQAAAEgAAAABAAD/2P/gABBKRklGAAEBAQBIAEgAAP/+AAxBcHBsZU1hcmsK
/9sAhAAHBQUGBQUHBgYGCAcHCAoRCwoJCQoUDw8MERgVGRkXFRcXGh0lIBocIxwXFyEsISMnKCoq
KhkfLjEtKTElKSooAQcICAoJChMLCxMoGxcbKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgo
KCgoKCgoKCgoKCgoKCgoKCgoKCj/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsBAAMB
AQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1Fh
ByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZ
WmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG
x8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6EQACAQIEBAMEBwUEBAABAncAAQIDEQQF
ITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdI
SUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1
tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/wAARCACgAJ0DASIAAhEB
AxEB/9oADAMBAAIRAxEAPwD5tooooAKKKKACiipLeIzTJGBnccUAWorciJBtJeT9BWtFaOka2sOB
I/Lt6U9YkhYzMQdp2LjoTjj8AOfyq6hFugDfK0qb5CeqR/4nrWTZRSvY0sbZAMbiNsY9T3NRafpx
S386RcvLzk9QP/r0sTtr2qF8bbePGc9FQdB+Nb+o25gtYwBh5hkAj6Y/x/GjYCnpsDMHuNvDHahx
2HU/n/KrN9bBITI+SxGeewqq14/9ow6XbDcwAjHovdvx/wAK6C8t4p7uO3U7bePHmEnooHP6D9aQ
GXaeHykUcjoV8zn/AHvQD+dYWt3fP2G3w8h5kde5PYfyr0CTzbtpcJsYJ5UCZ+5u4J+uP1IrrPB/
wigvIRJLECx5LH+lCGeH2XhS6vLcyiKQY6nbkCi48KXcIX5Ccn06D1NfXulfDCzsbfyjkggj86WT
4a6cU8mWAOi/dxwPyq/eFZHxz9im0x3fA6YBbisuV2kcs3Jz1HSvffi38PU03TZbqxXHljLKK8AA
KnngdKEJlizkw4U9K0RWeISrI4HPoK0V5ANJgYdFFFaCCiiigArR0S3a4vQFGdoyf5VnV1WjBNLs
GuJEG9lLtnr0O0f59amT0Gh95LANRELENbWSEyY/jbqfzOBWFf6lNdPK7ud0xy309Pp0/KoJ7lnD
nPMrZJ9s/wCfyqvnJyeaSQHY+FLXzJbaz/57HzpcY+VB6/59a1fE1+kd7K/DLbgKB05PQfhVPwQq
wwT6hOw/euIxk/wqNzD6fdH4msXUruTUG3vjDu0ze+fuj8B/Op6jNDwVaSXOrT30mT5EZwxGfmbg
fpmupvmjs5UYjcXUzuM8lVwFH4tj8Kk8D6UY9NgjKHzr2QyMv+yOF/qfxpt1H/aWt3CQoHDzLbQg
dxHx+rHP4UmM634f6FLrWoh5BujjO3OPvHufzr6N0zTodPtkijQLgVzHw+8KpoemRl1G4qOfU9zX
aVpFWE2FRyoGQ57elSUVRJ5p8QrD7fYXFuB/rF218feItLk0PWbuwlHCtlfoeQa+7tb05bhC2B61
8j/HWxWz8VQkLtMlvz+BNT1Kexy1naebaxSAZyoP07U2WMRnAHGTWl4bVpbNVb7rKwB/Cq2pKou5
EUjCHHFR1A5SiiitSQooooAkt9olG8ZHpWje3UkyeWN23uFPv/8AWrNiwG3EZC849atpcqkEp/jY
j/63+NS9xlJj8x/pRn5ceppKtaZbi71G1gYZWSVVP0zzVCOgmupLK0hsoxtWOAKCe7Ny/wCpx9Kr
Wdu15f29nAMsAqFuwPGT+g/Wq97K17qExdiBvbr6f/qrW0MC1eSfad77iD6E/wD1qyKPTNKuYNK0
+6ukbcbeHMJb2GF/Nqi+Hdqkurx3MzKI7MbQ0hwDIckk/ma5/U7+O3021s1P7ych5Bnso4+nOKh0
vxHpujKq3KrKWb5mkyVGepCjqaQz6rh8deHLOGKK61i0jkAxgOCP0rbsdZ03Uk32V9BcKO8bg18s
rYWOuXlxELSeF7ZVkmWexeDajDhsZLbT67cc13XgnwpFb6jC9rPPayd0J4b8uoq1Jise8g5qpeX8
VpgO6qT61NAjRwKjHLAYzXzT8YPHOrv4im0PS3l3RoS4h+82Bk/kKpuwke1aj4z0lZBbG+g81jgK
XAya+c/2jERtZ0i4XH7yGQEg5HBX/GuUjivNOista1mzmubO7OYZ2lJViDyMg8EehxVHx3rg1i5t
Y44ykcSkqCc9cD+lSnqPoHhe5EdoxJ/1ZY/jxUFyxad2P3mO4/jWdpUpSB0GeWyfoBVzk5JPJ61L
3Ec9RRRWogoooAJOBQAUU4xndgc/SpLm2a2ZA38SBh+NICJVLEAd63fDEEJvPOlx8kbkH0O04P8A
n1rHjQDLdcVPb3cyKI4s4ORj14pPUZfhRJrqYp91yCCR2PBrZhxtkCnCgBR9SQMf59KwrWVreUAo
VwMbT39vzq+Lny0RFbd5fzO395jyfyqGM6nQ9FufEupuIzjYrAHHCgf5FdTpnwd+0/aYL5HBmIKX
KclMHj5TwR7cV2HwZ8OpbWK3Ey5luMfkM/1zXuVvaQ2ybUQZ7nHWmlcDyb4d/D/T/AUl9KZZdRur
yLyQTCECpnJG0M2STjv2r0jRtCsrG0iRLfYUJIDdVz2+lawRQchQD64p1WkK4teKeLvhPo/iTXdR
vLxbtLgSkh4GX7pwRkMDnqa9rrGuIfL16Mkfu7qIqf8AeX/6xoaBHjeq+EI7vR7PwzZ6U32aBh5c
srlihzln6Abjz+deWfGnwiPC+qaRsj8tZoGVsDA3KR/8VX2SlpChzsBPqa+d/wBqfyjbaQ4x5iXD
D8CvP8hStYd7nz9p4G0Y/H9avVV0qIm2llJ4yAB61cFS9xHOUUUVoIKBRRQBOhBZADjmrOuZXUpI
zz5aqnHsoqlEcSpknAYGnXUzXFxJMxJZ2ySaVtQGB8Lir2ky20d0BdsyxlhllGSB3wMgVn0pIO3A
5xzRYDe1GS3mv0FswK5AJB4JP+FJYoLq7tbYD5WkCn35GTWNBkyIpbAJ212g0s6frWlxRjggMPry
T/Soegz6e+HFsoWHHQKMD0r0uvNfh5MIjEj5B2dO1ekgg9KqOw2FAIJxRWbrGlS6nDtttRuNPmHA
mgxnHuDVCNMVRv7i3gurDzWUSSTFIwTySVbp+Vef6j4L8b6afO0jxZdak5Byl/twvHYgZqLwdoni
J9Yj1bxNcPPdQAiNT92PPB2j6d6m4WPULidLeJpHIAA718iftCeJF1nxFBp0TBltVeR8ep6foD+d
fQvxJ8X2fh7R5JZZQCELYB5r4yk1Btb1+5vbtvnudzHPbI4H5cUNgPsyU0+FOnVj75NPzTB8oC/3
eKcKgZz1FFFakhRRRQAqgk4FDYycdKBnqKmgtZLj5VHPakBAOtO2kgH3xV62sD58SHkl+3p/nFV3
ANxJHGdqFse1K4ELH5vl4Hau/wBI1Aao2m3b8y2zqr/jxXFX9r9nETY4YEH2I6itzwojyRSeWcMr
cUpbXGj6z8PW6osEqfddRyK7q2HloXLHAGa8f+GPjKPVLNLO4cJd2/ysjdx6ivXbBmmHIBTtTRTK
MniyzjnKG2vXhX79xFaySRqfTKqarz+O9KiG5INQkX+/9hlVfzZRXTBQBgDArPvWawBniR3XqyKM
j8qepJxsnxasRK8MOmXskitgHyJduO5zs/lWDqXxflvN0GnaBem7Q4LFSqHPuwB/Sur1HxtZQRuo
tLoykYEYs3yT9SAK8z8Sa1NoWnXviDUIDEyjMET9S5GFzUtso8p+Lfim/wBSvU0+6l/eqA8yKeF7
hf8APpXnltLtulYDqQP1ovbyfUrya7uZC807l3Zj1JqDaRTS0JN0n5jTgayIJplOFfI9DzVxbs4w
yZPtU2AyqKAKcBWghuKKUmkoAVRlgDgD3raWS2s4cq53MOnesTODmnbt5+Y8UmrgbEF2qJLcMPuL
tT3Y1mQNjc2M8Ec+/FNM2RtAwoGAKfHlFVOMk7vyHFK1hlu8lW4sgCcyRvn6jH/6q3/h0BLqEkJ7
4Ncfv+97iu58DafLb3EF8FO0sY5OOh6jP1BP/fJpPRAtzurzSLnTrldQsJDDMvIZf6+1ei+A/i0n
mpp2tjyJs4Dn7r/T3rN+yrcWYIAORXIaz4fDklF2sOn/ANao2KPqW3uYbqJZYZFdGGQQalr5Q0fx
94n8IN5cMrXFuv8AyzkP9a6qD9oq/VNkmkq0nbLVfMibH0DMY0jZ5MBVGSTXyN+0F4vi1bVo9Is5
d8Nu5km2njd0UfzrqdZ+KHiPxPbtCsgsoGGCkGdze2a8M8Qabd/25ewojzOH+bGSSen86L3YynaQ
RO6q7JiQfIXOBn0z2pL6N4ZDCY/LI6gnmrOs6FfaCIIr6Mp9oXegI5GOtUVDFBuYkDp7UCGBeRmp
Vyc84pQvIFSBM8Y6UAUQOKaxz9KVj2ptUIKKKKYBRRRQADg08SY3HuePoKZRQBqeHtPGraxb2ZGT
ITgepAz/AEr37wn4SFnHJDdrsguQAZMf6px91v5g+xNfPmh6m+jaxZaii7jazLJt/vAHkfiMivuj
RdNsNW0m2vrRlmtruJZY3HRlYZFS1dlI4CysJbSVrO4BWSM44PWqmsWDgH5cmvR7/wAOeWiMuS0f
3SO6en1H8voKYdC+0AAoD+FTYZ4jc6FJdEjysfhVF/Br53lMfQV74fCCoSwQe9QS+GFfggKO5x0F
HKB5F4f8PSw3KziPcsLAoD/E/VR+HU+w967zwt8NNPgmkuriASzzsGdnGenQV22m+FobfbI0YXaM
Rxn+Eep9z3/+tWzPLa6TZTXdw6wwW8bSSu3RVAyT+VNRFc+Sv2jZ7d/HkOnWwAXT7KNJAvZ2Jc/+
Ola8rWLArZ8U67L4o8TanrcuQ17cNKFPVVz8q/goA/Cs3rQIjVeakhwQSe9I/wAqE1JEQq8ikBjU
UUVoIKKKKACiiigAxS4ooFIAHHNe+/AL4wQ6Bs8KeIJxHp8j/wChXTn5bdiclGPZSeh7E+h48EpQ
SBxSA/R0FZFBBDKeQR0NIkSRk7Vxn0r4++FXxq8SeG7/AE3Q7icX+kS3CQ+VcAs8KswHyN1GM5wc
j6V9iCmAUwxKzAkdDnHvTILlbguFVgUYqc96mpgFeA/tEfEqKGzfwbpU4aebB1GRG/1adRF9TwT7
cd61f2hfHHiHwhBo8Wh3zWKXgn86RFUs23YAASDj7zHjmvlh55bh3lmdpHYlmdySWJ7k96lsYo46
UA0wGl3VICyHjFKJAOKiY5x9aaTQBSooorQQUUUUAFFFFABS0lFADs0meaSikBoaLc/YtY0+6J2+
TcxyZ9MMD/Sv0KE+5MqeoyK/OdTmvur4d+Ik8SeC9H1HzNzy2qrKc/xr8rj8waBos+A5SyakjIiE
XUjYRmYffbPJ5znPHOOlddWfaQ29q8jQqqmQ5bHGTkkn8yTV0SAjgihAz54/asuUx4atc/N/pEhH
t+7H+NfOhOBivY/2m9VF144s7NWyLSxXOOxZmP8AICvFy/NSwJc0m6mb+KQtQA4nkU1uTSBuaG4N
AH//2f/+AAxBcHBsZU1hcmsK/9sAhAABAQEBAQEBAQEBAgIBAgIDAgICAgIDAwMCAwQEBAQEBAQE
BAUGBQQFBgUEBAUHBQYGBgcHBwQFBwgHBwgGBwcHAQICAgICAgMCAgMHBQQFBwcHBwcHBwcHBwcH
BwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwf/xAGiAAABBQEBAQEBAQAAAAAA
AAAAAQIDBAUGBwgJCgsBAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6EQACAQIE
BAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZ
GiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SV
lpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4
+fr/wAARCAHgAdcDASEAAhEBAxEB/+IRKElDQ19QUk9GSUxFAAEBAAARGGFwcGwCAAAAbW50clJH
QiBYWVogB9cACQAJAAwAHgAAYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPbWAAEA
AAAA0y1hcHBspVF5JWPLdNlLi4CsiJ10bQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAO
clhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAAAXwA
AAAsclRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAYSbmRpbgAA
B+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAAIubW1vZAAAEMAAAAAoY3BydAAAEOgAAAAtWFla
IAAAAAAAAGBVAAA3OwAAB39YWVogAAAAAAAAcUgAALFlAAAg1lhZWiAAAAAAAAAlOQAAF3sAAKrP
WFlaIAAAAAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMA
AAPcAADAbGN1cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZj
Z3QAAAAAAAAAAAADAQAAAgAAADEAqwFCAeICrQOkBMwGEgeZCVELLw08D2wRwBQcFoMY8htEHZAf
vCHJI7UlhSc6KMUqRiu+LS0uojAYMYwy/DRoNdI3OTijOgQ7YDzAPhw/cUDFQhZDZkS1RgRHS0iW
Sd1LHkw+TVJOcE+EUJlRtFLNU+VU/lYWVy5YQ1lVWm1bflyPXZxep1+vYLhhvGK+Y79kv2W9Zrln
s2iwaa9qq2uobKVtom6gb6BwnXGecqNzpXSpdbF2u3fDeM5523rqe/x9DX4efzKAQoFFgkGDPIQ4
hTWGMIcsiCeJI4oeixiMFI0PjgqPBpACkP6R+ZLzk++U65XoluSX35jamdaa0pvRnNCd057Zn+Cg
6aHzov6kDqUfpjKnSKhdqXOqiauhrLqt0q7qsAKxG7Iys0e0W7Vgtlq3VbhUuVC6S7tHvEG9O742
vzLALsErwiXDIMQbxRfGE8cOyAvJCMoCyvvL9czwzezO68/i0NzRzdLB07LUotWN1nbXX9hG2Sna
Ctru287cq92J3mffReAj4QHh4uLD46XkfeVD5frmqOdU6ADoqelR6fjqmus769vsdu0O7aXuOO7J
71bv4vBp8PHxdPH48nny+vN58/f0dfTz9Wz15vZg9tv3UvfJ+ED4tvks+aL6GPqN+wL7ePvv/Gb8
3v1X/dH+S/7G/zX/mv//AAAAJAB8AQIBiwI1AwED9AUPBmMH1wmMC2sNeg+hEekUNRaNGNobDR0r
Hxkg/iKwJEQlqSb9KEYpiSrSLB4tbC64MAAxTjKTM+E1JzZsN7U4+Do5O3c8sT3sPydAXkGPQsJD
8kUbRiFHHUgbSRZKEEsNTApNBE4BTvxP91DyUexS6VPlVOFV3FbWV9FYzVnIWsJbvVy5XbRepV+J
YGxhTmIvYw5j7GTKZalmh2dlaEVpKGoKauxr0my7baNuj299cG5xYnJYc0x0RnU8diZ3C3fueNR5
u3qie4t8cX1dfkV/LoAZgQOB7YLYg8KEroWVhnuHZYhMiTOKGIr8i+GMzI3DjsCPupC3kbaStJO0
lLSVs5a5l8GYyZnXmuWb950LniOfPqBcoX2ioaPJpPOmHKdDqFGpTapJq0isRK1Arj2vOrA3sTay
N7M5tD21QbZGt064V7lium27fbyOvZy+q7+8wM/B3sLgw9rE2MXRxs/HzcjLycnKxMvIzMnNyc7K
z9TQ2tHf0unT9NUA1g3XHNgt2UHaVNtf3FjdQN4i3wHf3+C74ZjicuNK5CHk+OXM5p7nb+g/6Q7p
2uqn63LsPe0J7dHunO9l8C3w8/GM8iTyuvNQ8+j0f/UX9a32Q/bZ93H4Cvif+TX5zPpj+vv7kfwo
/MD9V/3u/oP/E/+J//8AAAATAEMAigDoAV8B7QKjA3sEdgWYBucIZQn/C84NuA+iEZcTdRVFFvEY
ghn5G0YcdB2RHqgfvSDMIdwi6iP+JQomFCcfKCQpMSo0KzQsOi09LjkvOjAzMTMyMDMuNCY1JjYf
NxI35DiuOXQ6ODr2O7Y8dD0tPeY+nT9SQANAs0FjQhFCvkNrRBZEwkVvRhtGyEd1SCRI1kmPSlFL
GkvfTKJNZE4jTuBPnFBYUQ9RyVKDUztT8lSrVWdWIFbcV5pYWVkcWd9apFtrXC5c5V2YXkpe/V+x
YGVhG2HSYoljQGP3ZK9lZ2YfZtdnj2hIaP5ps2pqax5r0myFbTdt6G6Zb0lv+nCtcWByFnLNc4R0
PXT3dbN2cXcwd/F4s3l2ejl6/3vGfI19VX4dfud/sIB3gUOCDILWg6KEdYVFhhiG7YfEiJyJd4pW
izaMGIz7jd2Ow4+okJGRdJJck0OUJ5UKle2W0Ze5mLaZsJqum6ecpZ2jnqGfn6CaoZ6in6OfpKCl
qqawp7Wov6nKqtar46zyrgOvF7AqsT2yUrNrtIa1o7bCt+W5ELo6u2e8mL3QvwjAQ8GEwsXECsVQ
xpnH3ckoynPLuc0Gzk3PlNDb0ifTd9TI1h/Xd9jV2kDbtN0z3rXgRuHg45DlTecW6Prq7Oz37x7x
YvO59jL40fua/jn//wAAbmRpbgAAAAAAAAY2AACXVgAAV/4AAFPkAACLUgAAJyoAABaoAABQDQAA
VDkAAtwoAAJUegABlwoAAwEAAAIAAAAQACgAPwBVAGoAgACUAKgAuwDPAOIA9QEIARsBLgFBAVQB
ZwF7AY8BowG4Ac0B4gH4Ag8CJwI/AlgCcgKNAqoCyALnAwkDKwNQA3cDoAPNA/0ELgRhBJYEzQUE
BTwFdQWvBesGKAZnBqcG6QcsB28HtQf9CEcIkQjcCSoJegnLCh4KcwrJCyALeQvTDDEMjgztDU8N
tA4nDp8PFA+PEAwQiBEFEYUSBxKKEw8TlhQgFK0VOBXJFlsW8ReKGCcYxBlmGgwatBtfHA0cvR1z
Hige3R+WIFAhDSHLIosjSiQOJNElkiZXJx0n4iimKW4qNir9K8UsjS1VLiAu7C+2MIgxZzJLMzI0
GjUCNe822zfLOLs5sDqlO5o8lT2OPoo/hkCFQYlCi0OQRJRFnEamR7JIv0nPSttL60z4TgNPD1Ab
USVSM1M9VEVVUFZYV2BYbFl3WoRbj1ycXateu1/NYN9h8mMLZCVlQ2Z5Z7lo9Goua3Fss232bz9w
h3HQcxp0ZHWydwR4VXmoevp8Un2pfv6AW4G7gxyEfYXehzyIp4oQi4eM/I53j/eRgJMPlJ+WOZfb
mXqbIpzSnoCgMqHno5ylUKcDqLiqiqymruSxL7OEtea4XbrhvYTAO8MRxgPJF8xFz4fS5NZK2dPd
YOEL5MXohuxZ8CPz7ves+2v//wAAABYAMgBNAGcAgACXAK4AxQDaAO8BBAEYASwBQQFVAWoBfgGT
AagBvgHUAeoCAQIYAjECSwJlAoECnQK9At0C/gMhA0gDcQOdA88EBAQ9BHgEtgT0BTMFcwW0BfYG
OwaBBscHEQdaB6QH8ghBCJAI4Qk1CYoJ4Qo7CpYK8gtQC7AMFAx4DN4NRw20DjMOtw87D8QQTxDZ
EWcR+BKJEx4TtBRNFOgVgxYhFsEXZBgJGK8ZVxoCGq8bXRwMHMEdiB5RHx4f7yDEIZwidiNSJDIl
ESXwJtMntiiWKXoqXCs9LB4s/i3eLsIvoTCIMX8yfDN7NHc1eDZ3N3w4fDmDOos7kTyePag+uD/G
QNxB9kMNRCtFSUZuR5VIuknQSt5L800GThlPLlBDUVhSclOFVJhVrVa9V85Y3lntWvpcBV0PXhhf
IGAmYStiLmM2ZDtlSWZ5Z7lo82ota29ssG3wbzVwenG8cv90QXWDdsh4C3lNeo97z30TflB/j4DT
gheDWoScheKHO4iiigSLcYzXjj+PqJESkoOT6ZVUlsKYMJmUmv6cbJ3TnzygpKIMo3Ok2aY+p6Gp
CaqGrCit4q+isWmzNbT/tti4tbqTvH2+bcBgwlvEX8ZjyHLKfcyVzqjQxtLo1bXYkttv3kzhN+Qj
5wrqA+z87/Ty+PX0+P78Ev//AAAAKQBQAHIAkgCwAM0A6AECARwBNgFOAWcBfwGYAbIBzAHmAgIC
HwI+Al0CgAKkAssC9QMiA1UDjgPMBA8EUwSbBOYFMgWBBdAGJAZ6BtIHLgeJB+oITgiyCRkJhQnx
CmMK1AtIC74MOQyyDTENtQ5VDvwPqhBgERgR2xKiE3AUSBUlFggW8RfhGNMZyhrEG8AcuB2iHocf
dCBnIWEiYSNnJHUlgyaYJ7EoyCnlKwAsGy00Lk8vaDCJMcczDDRRNZk24DgqOXc6xjwXPWw+xUAe
QYNC6ERWRcdHQUi/SkNLxk1JTspQTFHOU09UzFZKV8ZZQ1rBXDxduV83YLZiNGO8ZT1mx2hPacpr
TWzLbkdvxHE8crB0I3WVdwt4fXnye2J83X5Sf8uBTYLQhFaF2oc7iKKKBItxjNeOP4+okRKSg5Pp
lVSWwpgwmZSa/pxsndOfPKCkogyjc6TZpj6noakJqnKr1q04rpmv+bFYsrW0CbVftrW4CLlXuqK7
7b05voC/w8EKwk3DksTVxhbHX8ihyePLKMxyzbTO/tBK0ZbS49Qu1XTWudgB2ULahdvG3QLeN99m
4JLht+Lb4/7lGeYv50LoS+lR6lHrTuxK7TnuJu8N7/Xw0/Gw8oTzV/Qh9Or1sPZz9zT37fim+Vf6
Bvq0+1n7/vyj/UX96P8j//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAABtbHVjAAAAAAAAABAAAAAMaXRJVAAAABQAAADQZnJGUgAAAEIAAADkbmJOTwAAABIAAAEm
ZXNFUwAAABIAAAE4ZmlGSQAAABAAAAFKcHRQVAAAABgAAAFaemhUVwAAAA4AAAFyamFKUAAAAA4A
AAGAbmxOTAAAABYAAAGOZGVERQAAABAAAAGkcnVSVQAAACQAAAG0a29LUgAAAAwAAAHYZW5VUwAA
ABIAAAHkc3ZTRQAAABAAAAH2ZGFESwAAABwAAAIGemhDTgAAAAwAAAIiAEwAQwBEACAAYwBvAGwA
bwByAGkAyQBjAHIAYQBuACAA4AAgAGMAcgBpAHMAdABhAHUAeAAgAGwAaQBxAHUAaQBkAGUAcwAg
AGMAbwB1AGwAZQB1AHIARgBhAHIAZwBlAC0ATABDAEQATABDAEQAIABjAG8AbABvAHIAVgDkAHIA
aQAtAEwAQwBEAEwAQwBEACAAYwBvAGwAbwByAGkAZABvX2mCcm2yZnaYb3k6VmgwqzDpMPwAIABM
AEMARABLAGwAZQB1AHIAZQBuAC0ATABDAEQARgBhAHIAYgAtAEwAQwBEBCYEMgQ1BEIEPQQ+BDkA
IAQWBBoALQQ0BDgEQQQ/BDsENQQ5zuy37AAgAEwAQwBEAEMAbwBsAG8AcgAgAEwAQwBEAEYA5ABy
AGcALQBMAEMARABMAEMARAAtAGYAYQByAHYAZQBzAGsA5gByAG1faYJyACAATABDAEQAAG1tb2QA
AAAAAAAGEAAAnFsAAAAAwFTEgAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBs
ZSBDb21wdXRlciwgSW5jLiwgMjAwNQAAAAD/2gAMAwEAAhEDEQA/AP4AKKACigAooAKKACigAooA
KKACigAooAs2hCu2fSu1sdHnuYln8tgpdVUY+9/vVjU0ZSNbXLdrOWKyZi0pHzxAf+zU3QdAu/EN
7BYwwfu0O+4mbhY1rO9o3KPtr4deFbPTdKmuxbJa6WnzG5mf5pF+b5mavLvHfjG4miu9SW4MWlI+
20ikGPPb5fmaude9LUt6IyfhP4Sg12+v/E/iOBpFXa4VmZfMb5lr1Lxfpk17auslxHDfXLKqBSy+
Svy/wr/s05P3/QVtDDvNOsPCfh+S8upUWCNP3UDpua4bdXxj4n1+48UapJezkJAp2xJ2A/yK2oK7
cyZdj1P4V/CnV/Fuq22oT2SpocDqxmn+VJ2+b5VG35vmr3/WtCt4/ES6NZyu6u37yYbn2/d+VV21
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
3DADAgds81Buf+7+tMZ//9k=

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/images/rss.gif

R0lGODlhFQAOAPcAAAcHB////+iDM+iZO//HWf6TM/++UP/DVeeZO+qaOeiLM+iNM+iQM/K6af+6
TOiPM/+TM+iTM+qDM+iUNdqxe/POl+qHM+mHM/qjO+ufP/Dn3/yuRP61SP+1SOiIM/WvXvGLM/7H
WeyVTuyXTvSwS/Po3/7CU+7Dmv+vRfPq3/erQ/n28+udPPnu3++PM/Pg0/LPqfehOfmzcfykO/fq
3/vs3+ibU/r28++pRfygNfbIeevKn/Pj1PfJb/nbp/HZr+eKM/y3TPHl3fm2S/XHifCuSP2WM++p
bvmPM9yHM+awbfu7T/6rP+PEru7Fo/+rP9uze+qfP+yUM++uSPqjOfzGWP3CVfOLM++WTvWfUPrs
1+vFnPG9hP2SM/Gxc/6lO/W8b+62h+eHM/DKhO3HlPr39PCgPfvp3e/IpO+0Yf69UPmZM/24TP3B
U/KLM/3t3/C3W/XJm/GUM/aTM+yaT/edM+fDi/bn3PmUM/K4Z/KnQvmnP9qlcu6WM/KdVO+uSu7W
rt/CndSjc/CcN/no1fOwS/mvR/ePM+iKM9t+MwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAVAA4A
AAjjAAE0iIIAwYCDCDM0AMCwIcM8hcYA+uGjR5UQBDKSSOOwYYI2dgKIDKBFh5UDB0wk6Mhwgho4
UCgESiGywhIDBiawBBDBQZApf4YU2VEmABk2DiLsZNABh8gWRAwpuREADAcGOx+g0MNDg0gYKrYE
ILThwc4FT5jsYSFoRQAuZkoE+LBgp4IvGAbNoMInAI0YJwLEUbATUZ0aAd7k6CMkgBQvAdAA2enB
xkg5a14ESCIjgBMxOy24uBPgDB4jdI7MydIkzIWdfq6ASHSoAIQCtrsgcTNiJwAsEgQIHy5cggjf
AQEAOw==

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/style.css

* {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: =
0px; PADDING-TOP: 0px
}
BODY {
	MIN-HEIGHT: 101%
}
HTML {
	MIN-HEIGHT: 101%
}
BODY {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 25px; COLOR: =
#003585; PADDING-TOP: 13px; BACKGROUND-COLOR: #003585
}
BODY {
	FONT: 100% Arial, Verdana, Sans-Serif
}
SELECT {
	FONT: 100% Arial, Verdana, Sans-Serif
}
INPUT {
	FONT: 100% Arial, Verdana, Sans-Serif
}
TEXTAREA {
	FONT: 100% Arial, Verdana, Sans-Serif
}
P {
	MARGIN: 15px 0px; LINE-HEIGHT: 150%
}
A:link {
	COLOR: #000066; TEXT-DECORATION: none
}
A:visited {
	COLOR: #000066; TEXT-DECORATION: none
}
A:hover {
	COLOR: #000066; TEXT-DECORATION: underline
}
A:active {
	COLOR: #000066; TEXT-DECORATION: underline
}
HR {
	BORDER-TOP-WIDTH: 0px; DISPLAY: block; BORDER-LEFT-WIDTH: 0px; =
BACKGROUND: #eee; BORDER-BOTTOM-WIDTH: 0px; HEIGHT: 1px; =
BORDER-RIGHT-WIDTH: 0px
}
SMALL {
	PADDING-RIGHT: 6px; DISPLAY: block; PADDING-LEFT: 6px; FONT-SIZE: =
0.95em; BACKGROUND: #eee; PADDING-BOTTOM: 3px; MARGIN: 5px 0px; =
PADDING-TOP: 3px
}
IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
A:link IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
A:visited IMG {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
#page {
	BORDER-RIGHT: #a5a7ce 2px solid; PADDING-RIGHT: 25px; BORDER-TOP: =
#a5a7ce 2px solid; PADDING-LEFT: 25px; FONT-SIZE: 0.7em; BACKGROUND: =
#fff; PADDING-BOTTOM: 35px; MARGIN: 0px auto; BORDER-LEFT: #a5a7ce 2px =
solid; WIDTH: 880px; PADDING-TOP: 10px; BORDER-BOTTOM: #a5a7ce 2px solid
}
#branding {
	PADDING-BOTTOM: 15px; WIDTH: 625px
}
.left {
	FLOAT: left
}
.right {
	FLOAT: right
}
#sidebar {
	FLOAT: right; WIDTH: 250px
}
#leftcol {
	BORDER-RIGHT: #b6b6b6 1px dotted; PADDING-RIGHT: 18px; WIDTH: 287px
}
#leftcol {
	MARGIN-TOP: 10px; FLOAT: left
}
#rightcol {
	MARGIN-TOP: 10px; FLOAT: left
}
#rightcol {
	MARGIN-TOP: -2px; PADDING-LEFT: 18px; WIDTH: 277px
}
.subnav LI {
	BORDER-BOTTOM: #fff 1px solid; LIST-STYLE-TYPE: none
}
.subnav LI A:link {
	PADDING-RIGHT: 4px; DISPLAY: block; PADDING-LEFT: 8px; BACKGROUND: =
#eee; PADDING-BOTTOM: 4px; BORDER-LEFT: #eee 4px solid; PADDING-TOP: 4px
}
.subnav LI A:visited {
	PADDING-RIGHT: 4px; DISPLAY: block; PADDING-LEFT: 8px; BACKGROUND: =
#eee; PADDING-BOTTOM: 4px; BORDER-LEFT: #eee 4px solid; PADDING-TOP: 4px
}
.subnav LI A:hover {
	BACKGROUND: #eee; COLOR: #000066; TEXT-DECORATION: none
}
.subnav LI A:active {
	BACKGROUND: #eee; COLOR: #000066; TEXT-DECORATION: none
}
.subnav LI LI A:link {
	BORDER-LEFT-STYLE: none
}
.subnav LI LI A:visited {
	BORDER-LEFT-STYLE: none
}
H1 {
	FONT: bold 2.95em Georgia, "Times New Roman", Times, serif; =
LETTER-SPACING: -0.02em
}
H2 {
	PADDING-BOTTOM: 8px; MARGIN: 20px 0px; FONT: 2.3em Georgia, "Times New =
Roman", Times, serif; BORDER-BOTTOM: #333 1px solid
}
H3 {
	PADDING-RIGHT: 0px; MARGIN-TOP: 10px; PADDING-LEFT: 0px; MARGIN-BOTTOM: =
0px; PADDING-BOTTOM: 0px; FONT: bold 1.2em Arial, Helvetica, sans-serif; =
COLOR: #003585; PADDING-TOP: 0px; LETTER-SPACING: 0.1em
}
#sidebar H2 {
	MARGIN-BOTTOM: 4px; FONT: bold 1em Arial, Helvetica, sans-serif; =
TEXT-TRANSFORM: uppercase; COLOR: #5f5f5f; LETTER-SPACING: 0.1em
}
#sidebar H3 {
	PADDING-RIGHT: 0px; BORDER-TOP: #eee 5px solid; PADDING-LEFT: 2px; =
FONT-SIZE: 1em; PADDING-BOTTOM: 6px; MARGIN: 22px 0px 15px; PADDING-TOP: =
6px; BORDER-BOTTOM: #eee 1px solid
}
#sidebar H2 {
	PADDING-RIGHT: 0px; BORDER-TOP: #eee 5px solid; PADDING-LEFT: 2px; =
FONT-SIZE: 1em; PADDING-BOTTOM: 6px; MARGIN: 22px 0px 15px; PADDING-TOP: =
6px; BORDER-BOTTOM: #eee 1px solid
}
H3#respond {
	BORDER-TOP: #eee 1px dotted; MARGIN-TOP: 25px; PADDING-TOP: 20px
}
H3#comments {
	MARGIN-TOP: 32px
}
H4 {
	FONT-SIZE: 1.6em; MARGIN-BOTTOM: 6px
}
#content {
	FLOAT: left; WIDTH: 605px
}
.description {
	MARGIN-TOP: -4px; FONT-WEIGHT: bold; FONT-SIZE: 1.3em; COLOR: #545454; =
FONT-STYLE: italic
}
.feature {
	PADDING-RIGHT: 15px; BORDER-TOP: #b6b6b6 1px dotted; PADDING-LEFT: =
15px; BACKGROUND: #f2f2f2; PADDING-BOTTOM: 15px; PADDING-TOP: 15px; =
BORDER-BOTTOM: #b6b6b6 1px dotted
}
.feature:hover {
	BACKGROUND: #e9e9e9
}
.feature P {
	MARGIN: 0px
}
#rightcol P {
	MARGIN: 0px
}
.feature IMG {
	BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: #000 1px =
solid; PADDING-LEFT: 1px; FLOAT: left; PADDING-BOTTOM: 1px; MARGIN: 0pt =
10px 0pt 0pt; BORDER-LEFT: #000 1px solid; PADDING-TOP: 1px; =
BORDER-BOTTOM: #000 1px solid
}
#rightcol IMG {
	BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: #000 1px =
solid; PADDING-LEFT: 1px; FLOAT: left; PADDING-BOTTOM: 1px; MARGIN: 0pt =
10px 0pt 0pt; BORDER-LEFT: #000 1px solid; PADDING-TOP: 1px; =
BORDER-BOTTOM: #000 1px solid
}
.feature A IMG {
	BORDER-RIGHT: #000 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: #000 1px =
solid; PADDING-LEFT: 1px; FLOAT: left; PADDING-BOTTOM: 1px; MARGIN: 0pt =
10px 0pt 0pt; BORDER-LEFT: #000 1px solid; PADDING-TOP: 1px; =
BORDER-BOTTOM: #000 1px solid
}
#leadpic {
	FLOAT: left; MARGIN: 0px 18px 8px 0px
}
#lead {
	MARGIN-TOP: 22px
}
.title {
	FONT-WEIGHT: bold; FONT-SIZE: 1.2em; LINE-HEIGHT: 115%
}
.feature#lead .title {
	DISPLAY: block; PADDING-BOTTOM: 7px; FONT: 1.8em/100% Georgia, "Times =
New Roman", Times, serif
}
#leftcol .feature {
	MARGIN-BOTTOM: 5px; BORDER-BOTTOM-STYLE: none
}
#rightcol IMG {
	FLOAT: left; MARGIN: 3px 10px 4px 0px
}
#leftcol IMG {
	DISPLAY: block; MARGIN-BOTTOM: 4px
}
#rightcol .clearfloat {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 12px; =
PADDING-TOP: 12px; BORDER-BOTTOM: #b6b6b6 1px dotted
}
#sidelist LI {
	LIST-STYLE-TYPE: none
}
.bullets LI {
	BORDER-BOTTOM: #fff 1px solid; LIST-STYLE-TYPE: none
}
#sidelist .bullets LI {
	MARGIN-BOTTOM: 5px; MARGIN-LEFT: 22px; LINE-HEIGHT: 115%; =
LIST-STYLE-TYPE: square
}
#sidelist .children {
	BACKGROUND: #ccc
}
#sidelist .children LI {
	MARGIN-LEFT: 28px; BORDER-BOTTOM: #ccc 1px solid; LIST-STYLE-TYPE: =
square
}
#sidelist .children LI A {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 2px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BACKGROUND: #ccc; BORDER-BOTTOM-WIDTH: 0px; =
PADDING-BOTTOM: 2px; COLOR: #000066; PADDING-TOP: 2px; =
BORDER-RIGHT-WIDTH: 0px
}
#sidelist .children LI A:visited {
	BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 2px; PADDING-LEFT: 0px; =
BORDER-LEFT-WIDTH: 0px; BACKGROUND: #ccc; BORDER-BOTTOM-WIDTH: 0px; =
PADDING-BOTTOM: 2px; COLOR: #000066; PADDING-TOP: 2px; =
BORDER-RIGHT-WIDTH: 0px
}
#sidelist .children LI A:hover {
	BACKGROUND: #ccc; COLOR: #000066
}
#sidelist .children LI A:active {
	BACKGROUND: #ccc; COLOR: #000066
}
.subnav LI A:hover {
	BACKGROUND: #ccc; COLOR: #000066
}
.subnav LI A:active {
	BACKGROUND: #ccc; COLOR: #000066
}
.postmetadata {
	MARGIN: 30px 0px
}
#writer {
	PADDING-RIGHT: 12px; PADDING-LEFT: 12px; BACKGROUND: #eee; =
PADDING-BOTTOM: 12px; MARGIN: 25px 0px 15px; PADDING-TOP: 12px
}
#writer IMG {
	BORDER-RIGHT: #333 1px solid; PADDING-RIGHT: 1px; BORDER-TOP: #333 1px =
solid; PADDING-LEFT: 1px; FLOAT: left; PADDING-BOTTOM: 1px; BORDER-LEFT: =
#333 1px solid; WIDTH: 80px; PADDING-TOP: 1px; BORDER-BOTTOM: #333 1px =
solid
}
#writer SPAN {
	BORDER-TOP: #333 1px solid; MARGIN-TOP: 12px; DISPLAY: block; =
PADDING-TOP: 4px
}
#writer P {
	MARGIN: 0px; WIDTH: 482px
}
.entry {
	PADDING-BOTTOM: 28px
}
H3 A:link {
	COLOR: #5f5f5f
}
H3 A:visited {
	COLOR: #5f5f5f
}
.picleft {
	FLOAT: left; MARGIN: 0px 14px 10px 0px
}
.picright {
	FLOAT: right; MARGIN: 0px 0px 10px 14px
}
.post BLOCKQUOTE {
	BORDER-RIGHT: #ddd 1px solid; PADDING-RIGHT: 14px; PADDING-LEFT: 14px; =
BACKGROUND: #f2f2f2; PADDING-BOTTOM: 6px; MARGIN: 18px 35px; COLOR: =
#76767a; PADDING-TOP: 6px; BORDER-BOTTOM: #ddd 1px solid
}
.post UL LI {
	MARGIN-BOTTOM: 5px; MARGIN-LEFT: 42px; LINE-HEIGHT: 115%; =
LIST-STYLE-TYPE: square
}
.post OL LI {
	MARGIN-BOTTOM: 5px; MARGIN-LEFT: 48px; LINE-HEIGHT: 115%
}
#tags {
	PADDING-RIGHT: 3px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 3px; =
PADDING-BOTTOM: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: #ddd 1px solid
}
SELECT {
	BORDER-RIGHT: #9c9c9c 1px solid; BORDER-TOP: #9c9c9c 1px solid; =
BACKGROUND: #f2f2f2; BORDER-LEFT: #9c9c9c 1px solid; WIDTH: 100%; =
BORDER-BOTTOM: #9c9c9c 1px solid
}
#searchform {
	PADDING-RIGHT: 5px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; =
PADDING-TOP: 16px
}
.button {
	PADDING-RIGHT: 1px; PADDING-LEFT: 1px; BACKGROUND: #000; =
PADDING-BOTTOM: 1px; COLOR: #e7e7e7; BORDER-TOP-STYLE: none; =
PADDING-TOP: 1px; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; =
BORDER-BOTTOM-STYLE: none
}
.button:hover {
	BACKGROUND: #777; COLOR: #fff; TEXT-DECORATION: none
}
#commentform INPUT {
	MARGIN: 5px 5px 1px 0px; WIDTH: 170px
}
#commentform TEXTAREA {
	MARGIN-TOP: 5px; WIDTH: 100%
}
.commentlist {
	PADDING-LEFT: 30px
}
.commentlist LI {
	PADDING-RIGHT: 15px; BORDER-TOP: #ddd 1px solid; PADDING-LEFT: 15px; =
BACKGROUND: #f2f2f2; PADDING-BOTTOM: 10px; MARGIN: 15px 0px 3px; =
PADDING-TOP: 8px
}
#commentform SMALL {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; BACKGROUND: =
#fff; PADDING-BOTTOM: 0px; PADDING-TOP: 0px
}
.commentmetadata {
	DISPLAY: block
}
.commentlist SMALL {
	BACKGROUND: #e9e9e9
}
.commentlist CITE {
	FONT: bold 1.6em Georgia, "Times New Roman", Times, serif; =
LETTER-SPACING: -0.05em
}
.clearfloat:unknown {
	CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: =
"."
}
.clearfloat {
	DISPLAY: inline-block
}
.clearfloat {
	DISPLAY: block
}
#footer {
	FONT-SIZE: 0.7em; MARGIN: 0px auto; WIDTH: 900px; COLOR: #fff; =
PADDING-TOP: 15px
}
#footer A {
	COLOR: #a5a7ce
}
.imageframe {
	BORDER-RIGHT: #808080 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#808080 1px solid; PADDING-LEFT: 5px; BACKGROUND: #eaeaea; =
PADDING-BOTTOM: 5px; MARGIN: 0px; BORDER-LEFT: #808080 1px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: #808080 1px solid
}
.alignright {
	FLOAT: right; MARGIN: 0px 0px 11px 11px
}
.alignleft {
	FLOAT: left; MARGIN: 0px 11px 11px 0px
}
.imagecaption {
	FONT-SIZE: 10px; COLOR: #333; LINE-HEIGHT: 1.15em; FONT-FAMILY: =
arial,helvetica,sans-serif; TEXT-ALIGN: left
}
.imagecaptioneasy {
	BORDER-RIGHT: #808080 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#808080 1px solid; PADDING-LEFT: 5px; FONT-SIZE: 10px; BACKGROUND: =
#eaeaea; PADDING-BOTTOM: 5px; BORDER-LEFT: #808080 1px solid; COLOR: =
#333; LINE-HEIGHT: 1.15em; PADDING-TOP: 5px; BORDER-BOTTOM: #808080 1px =
solid; FONT-FAMILY: arial,helvetica,sans-serif; TEXT-ALIGN: left
}
.imagecaptioneasy IMG {
	BORDER-RIGHT: #fff 0px solid; BORDER-TOP: #fff 0px solid; =
MARGIN-BOTTOM: 5px; BORDER-LEFT: #fff 0px solid; BORDER-BOTTOM: #fff 0px =
solid
}
.imagecaptioneasy SPAN {
	TEXT-ALIGN: center
}
.imagecaptioneasy_top_left {
	FLOAT: left; MARGIN: 0px 11px 11px 0px
}
.imagecaptioneasy_top_right {
	FLOAT: right; MARGIN: 0px 0px 11px 11px
}
.imagecaptioneasy_top_nowrap {
	FLOAT: none; MARGIN: 0px 0px 11px
}
.imagecaptioneasy_left {
	FLOAT: left; MARGIN: 11px 11px 11px 0px
}
.imagecaptioneasy_ft {
	FLOAT: left; MARGIN: 0px 11px 11px 0px
}
.imagecaptioneasy_right {
	FLOAT: right; MARGIN: 11px 0px 11px 11px
}
.imagecaptioneasy_ght {
	FLOAT: right; MARGIN: 0px 0px 11px 11px
}
.imagecaptioneasy_nowrap {
	FLOAT: none; MARGIN: 11px 0px
}
.blog-this {
	MARGIN-TOP: 10px; VERTICAL-ALIGN: bottom
}
.blog-this A IMG {
	BORDER-RIGHT: #000 1px solid; BORDER-TOP: #000 1px solid; FLOAT: none; =
MARGIN: 0px; BORDER-LEFT: #000 1px solid; BORDER-BOTTOM: #000 1px solid
}
.blogspan {
	PADDING-RIGHT: 4px
}
.blog-this-links A {
	TEXT-DECORATION: none
}
.pullquote {
	PADDING-RIGHT: 5px; BORDER-TOP: #333 3px double; PADDING-LEFT: 5px; =
FONT-SIZE: 1.2em; FLOAT: left; PADDING-BOTTOM: 5px; WIDTH: 300px; COLOR: =
#333; MARGIN-RIGHT: 10px; PADDING-TOP: 5px; BORDER-BOTTOM: #333 3px =
double; BACKGROUND-COLOR: #eee
}

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/nav.css

#nav {
	FONT-SIZE: 1.1em; BACKGROUND: #a5a7ce
}
#nav {
	LINE-HEIGHT: 1; LIST-STYLE-TYPE: none
}
#nav UL {
	LINE-HEIGHT: 1; LIST-STYLE-TYPE: none
}
#nav A {
	DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; TEXT-DECORATION: none; BORDER-BOTTOM-STYLE: =
none
}
#nav A:hover {
	DISPLAY: block; BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; =
BORDER-LEFT-STYLE: none; TEXT-DECORATION: none; BORDER-BOTTOM-STYLE: =
none
}
#nav LI {
	BORDER-RIGHT: #eee 1px solid; FLOAT: left; LIST-STYLE-TYPE: none
}
#nav A {
	PADDING-RIGHT: 12px; DISPLAY: block; PADDING-LEFT: 12px; FONT-WEIGHT: =
bold; PADDING-BOTTOM: 6px; COLOR: #fff; PADDING-TOP: 6px
}
#nav A:visited {
	PADDING-RIGHT: 12px; DISPLAY: block; PADDING-LEFT: 12px; FONT-WEIGHT: =
bold; PADDING-BOTTOM: 6px; COLOR: #fff; PADDING-TOP: 6px
}
#nav A:hover {
	BACKGROUND: #000066; TEXT-DECORATION: none
}
#nav A:active {
	BACKGROUND: #000066; TEXT-DECORATION: none
}
.current_page_item A {
	BACKGROUND: #000066; TEXT-DECORATION: none
}
#home .on {
	BACKGROUND: #000066; TEXT-DECORATION: none
}
#nav LI UL {
	LEFT: -999em; WIDTH: 174px; BORDER-BOTTOM: #a9a9a9 1px solid; POSITION: =
absolute; HEIGHT: auto
}
#nav LI LI {
	BORDER-RIGHT: #a9a9a9 1px solid; BORDER-TOP: #a9a9a9 1px solid; =
BACKGROUND: #003585; BORDER-LEFT: #a9a9a9 1px solid; WIDTH: 172px
}
#nav LI LI A {
	FONT-WEIGHT: normal; FONT-SIZE: 0.9em; COLOR: #fff
}
#nav LI LI A:visited {
	FONT-WEIGHT: normal; FONT-SIZE: 0.9em; COLOR: #fff
}
#nav LI LI A:hover {
	BACKGROUND: #333
}
#nav LI LI A:active {
	BACKGROUND: #333
}
#nav LI:hover UL {
	LEFT: auto
}
#nav LI LI:hover UL {
	LEFT: auto
}
#nav LI LI LI:hover UL {
	LEFT: auto
}
#nav LI.sfhover UL {
	LEFT: auto
}
#nav LI LI.sfhover UL {
	LEFT: auto
}
#nav LI LI LI.sfhover UL {
	LEFT: auto
}
A.main:hover {
	BACKGROUND: none transparent scroll repeat 0% 0%
}

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/print.css

BODY {
	BACKGROUND: #fff; FONT: 12pt Arial, Helvetica, sans-serif; COLOR: #000
}
HTML {
	BACKGROUND: #fff; FONT: 12pt Arial, Helvetica, sans-serif; COLOR: #000
}
A:link {
	FONT-WEIGHT: bold; BACKGROUND: none transparent scroll repeat 0% 0%; =
COLOR: #000; TEXT-DECORATION: underline
}
A:visited {
	FONT-WEIGHT: bold; BACKGROUND: none transparent scroll repeat 0% 0%; =
COLOR: #000; TEXT-DECORATION: underline
}
H1 {
	FONT-FAMILY: Georgia, "Times New Roman", Times, serif
}
H2 {
	FONT-FAMILY: Georgia, "Times New Roman", Times, serif
}
H3 {
	FONT-FAMILY: Georgia, "Times New Roman", Times, serif
}
H4 {
	FONT-FAMILY: Georgia, "Times New Roman", Times, serif
}
H1 {
	FONT-SIZE: 2em
}
H2 {
	FONT-SIZE: 1.8em
}
H3 {
	FONT-SIZE: 1.5em
}
H4 {
	FONT-SIZE: 1.2em
}
IMG {
	BORDER-TOP-WIDTH: 0px; DISPLAY: block; BORDER-LEFT-WIDTH: 0px; =
BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px
}
#nav {
	DISPLAY: none
}
#searchform {
	DISPLAY: none
}
#branding {
	DISPLAY: none
}
#commentform {
	DISPLAY: none
}
#footer {
	DISPLAY: none
}
#sidebar {
	DISPLAY: none
}
HR {
	BACKGROUND: #000; MARGIN: 2em 0px; WIDTH: 100%; COLOR: #000; =
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; HEIGHT: 1px; BORDER-BOTTOM-STYLE: none
}
BLOCKQUOTE {
	BORDER-RIGHT: #ccc 1px solid; PADDING-RIGHT: 1em; BORDER-TOP: #ccc 1px =
solid; PADDING-LEFT: 1em; FONT-SIZE: 0.9em; PADDING-BOTTOM: 1em; MARGIN: =
1.5em 0px; BORDER-LEFT: #ccc 1px solid; PADDING-TOP: 1em; BORDER-BOTTOM: =
#ccc 1px solid; FONT-STYLE: italic
}

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/plugins/nextgen-gallery/css/nggallery.css

.ngg-albumoverview {
	CLEAR: both; MARGIN-TOP: 10px; DISPLAY: block! important; WIDTH: 100%
}
.ngg-album {
	BORDER-RIGHT: #fff 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #fff 1px =
solid; PADDING-LEFT: 5px; MARGIN-BOTTOM: 5px; PADDING-BOTTOM: 5px; =
BORDER-LEFT: #fff 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #fff 1px =
solid; HEIGHT: 100%
}
HTML > BODY .ngg-album {
	BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#cccccc 1px solid; PADDING-LEFT: 5px; MARGIN-BOTTOM: 5px; =
PADDING-BOTTOM: 5px; OVERFLOW: hidden; BORDER-LEFT: #cccccc 1px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid
}
.ngg-album {
	BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#cccccc 1px solid; PADDING-LEFT: 5px; MARGIN-BOTTOM: 5px; =
PADDING-BOTTOM: 5px; OVERFLOW: hidden; BORDER-LEFT: #cccccc 1px solid; =
PADDING-TOP: 5px; BORDER-BOTTOM: #cccccc 1px solid
}
.ngg-albumtitle {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: =
1.4em; PADDING-BOTTOM: 0px; MARGIN: 0px 0px 10px; PADDING-TOP: 0px; =
TEXT-ALIGN: left
}
.ngg-thumbnail {
	FLOAT: left; MARGIN-RIGHT: 12px
}
.ngg-thumbnail IMG {
	BORDER-RIGHT: #a9a9a9 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: =
#a9a9a9 1px solid; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; MARGIN: 4px =
0px 4px 5px; BORDER-LEFT: #a9a9a9 1px solid; PADDING-TOP: 4px; =
BORDER-BOTTOM: #a9a9a9 1px solid; POSITION: relative; BACKGROUND-COLOR: =
#ffffff
}
.ngg-thumbnail IMG:hover {
	BACKGROUND-COLOR: #a9a9a9
}
.ngg-description {
	TEXT-ALIGN: left
}
.ngg-album-compact {
	PADDING-RIGHT: 6px! important; FLOAT: left; MARGIN: 0px; WIDTH: 120px; =
HEIGHT: 180px; TEXT-ALIGN: left
}
.ngg-album-compactbox {
	PADDING-RIGHT: 0pt! important; PADDING-LEFT: 7px! important; =
BACKGROUND: url(albumset.gif) no-repeat 0% 50%; PADDING-BOTTOM: 0pt! =
important; MARGIN: 0pt 0pt 6px; WIDTH: 120px; PADDING-TOP: 12px! =
important; HEIGHT: 86px
}
.ngg-album-compactbox .Thumb {
	BORDER-RIGHT: #000000 1px solid; PADDING-RIGHT: 0px! important; =
BORDER-TOP: #000000 1px solid; PADDING-LEFT: 0px! important; =
PADDING-BOTTOM: 0px! important; MARGIN: 0px; BORDER-LEFT: #000000 1px =
solid; WIDTH: 91px; PADDING-TOP: 0px! important; BORDER-BOTTOM: #000000 =
1px solid; HEIGHT: 68px
}
.ngg-album-compact H4 {
	MARGIN-TOP: 0px; FONT-WEIGHT: bold; FONT-SIZE: 15px; MARGIN-BOTTOM: =
0px; WIDTH: 110px
}
.ngg-album-compact P {
	MARGIN-TOP: 2px; FONT-SIZE: 11px
}
.ngg-galleryoverview {
	CLEAR: both; MARGIN-TOP: 10px; DISPLAY: block! important; OVERFLOW: =
hidden; WIDTH: 100%
}
.ngg-galleryoverview .desc {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; MARGIN: 0px =
10px 10px 0px; PADDING-TOP: 5px
}
.ngg-gallery-thumbnail-box {
	FLOAT: left
}
.ngg-gallery-thumbnail {
	FLOAT: left; MARGIN-RIGHT: 5px
}
.ngg-gallery-thumbnail IMG {
	BORDER-RIGHT: #a9a9a9 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: =
#a9a9a9 1px solid; DISPLAY: block; PADDING-LEFT: 4px; PADDING-BOTTOM: =
4px; MARGIN: 4px 0px 4px 5px; BORDER-LEFT: #a9a9a9 1px solid; =
PADDING-TOP: 4px; BORDER-BOTTOM: #a9a9a9 1px solid; POSITION: relative; =
BACKGROUND-COLOR: #ffffff
}
.ngg-gallery-thumbnail IMG:hover {
	BACKGROUND-COLOR: #a9a9a9
}
.ngg-gallery-thumbnail SPAN {
	DISPLAY: block; PADDING-LEFT: 5px; FONT-SIZE: 90%
}
.ngg-clear {
	CLEAR: both
}
.ngg-navigation {
	CLEAR: both! important; DISPLAY: block! important; FONT-SIZE: 0.9em! =
important; PADDING-TOP: 15px; TEXT-ALIGN: center
}
.ngg-navigation SPAN {
	FONT-WEIGHT: bold; MARGIN: 0pt 6px
}
.ngg-navigation A.page-numbers {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 3px; BORDER-LEFT: =
#dddddd 1px solid; MARGIN-RIGHT: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: =
#dddddd 1px solid
}
A.next {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 3px; BORDER-LEFT: =
#dddddd 1px solid; MARGIN-RIGHT: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: =
#dddddd 1px solid
}
A.prev {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 3px; BORDER-LEFT: =
#dddddd 1px solid; MARGIN-RIGHT: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: =
#dddddd 1px solid
}
SPAN.page-numbers {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 3px; BORDER-LEFT: =
#dddddd 1px solid; MARGIN-RIGHT: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: =
#dddddd 1px solid
}
SPAN.next {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 3px; BORDER-LEFT: =
#dddddd 1px solid; MARGIN-RIGHT: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: =
#dddddd 1px solid
}
SPAN.prev {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 7px; PADDING-BOTTOM: 3px; BORDER-LEFT: =
#dddddd 1px solid; MARGIN-RIGHT: 3px; PADDING-TOP: 3px; BORDER-BOTTOM: =
#dddddd 1px solid
}
.ngg-navigation A.page-numbers:hover {
	COLOR: #ffffff! important; BACKGROUND-COLOR: #0066cc; TEXT-DECORATION: =
none! important
}
A.next:hover {
	COLOR: #ffffff! important; BACKGROUND-COLOR: #0066cc; TEXT-DECORATION: =
none! important
}
A.prev:hover {
	COLOR: #ffffff! important; BACKGROUND-COLOR: #0066cc; TEXT-DECORATION: =
none! important
}
SPAN.page-numbers:hover {
	COLOR: #ffffff! important; BACKGROUND-COLOR: #0066cc; TEXT-DECORATION: =
none! important
}
SPAN.next:hover {
	COLOR: #ffffff! important; BACKGROUND-COLOR: #0066cc; TEXT-DECORATION: =
none! important
}
SPAN.prev:hover {
	COLOR: #ffffff! important; BACKGROUND-COLOR: #0066cc; TEXT-DECORATION: =
none! important
}
.ngg-imagebrowser {
=09
}
.ngg-imagebrowser H3 {
	TEXT-ALIGN: center
}
.ngg-imagebrowser IMG {
	BORDER-RIGHT: #a9a9a9 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#a9a9a9 1px solid; MARGIN-TOP: 10px; DISPLAY: block! important; =
PADDING-LEFT: 5px; MARGIN-BOTTOM: 10px; PADDING-BOTTOM: 5px; =
BORDER-LEFT: #a9a9a9 1px solid; WIDTH: 100%; PADDING-TOP: 5px; =
BORDER-BOTTOM: #a9a9a9 1px solid
}
.ngg-imagebrowser-nav {
	PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; =
MARGIN-LEFT: 10px; PADDING-TOP: 5px
}
.ngg-imagebrowser-nav .back {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 7px; FLOAT: left; PADDING-BOTTOM: 3px; =
BORDER-LEFT: #dddddd 1px solid; MARGIN-RIGHT: 3px; PADDING-TOP: 3px; =
BORDER-BOTTOM: #dddddd 1px solid
}
.ngg-imagebrowser-nav .next {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 7px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 7px; FLOAT: right; PADDING-BOTTOM: 3px; =
BORDER-LEFT: #dddddd 1px solid; MARGIN-RIGHT: 3px; PADDING-TOP: 3px; =
BORDER-BOTTOM: #dddddd 1px solid
}
.ngg-imagebrowser-nav .counter {
	FONT-SIZE: 0.9em! important; TEXT-ALIGN: center
}
.slideshow {
	MARGIN-LEFT: auto; MARGIN-RIGHT: auto; TEXT-ALIGN: center
}
.slideshowlink {
=09
}
.ngg-singlepic {
	BORDER-RIGHT: #a9a9a9 1px solid; PADDING-RIGHT: 4px; BORDER-TOP: =
#a9a9a9 1px solid; DISPLAY: block; PADDING-LEFT: 4px; PADDING-BOTTOM: =
4px; MARGIN: 4px 0px 4px 5px; BORDER-LEFT: #a9a9a9 1px solid; =
PADDING-TOP: 4px; BORDER-BOTTOM: #a9a9a9 1px solid; POSITION: relative; =
BACKGROUND-COLOR: #ffffff
}
.ngg-left {
	PADDING-RIGHT: 10px; FLOAT: left
}
.ngg-right {
	PADDING-LEFT: 10px; FLOAT: right
}
.ngg-center {
	MARGIN-LEFT: auto! important; MARGIN-RIGHT: auto! important
}
.ngg-widget {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0px; MARGIN: =
0pt; OVERFLOW: hidden; PADDING-TOP: 5px
}
.ngg-widget-slideshow {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0pt; PADDING-BOTTOM: 0px; MARGIN: =
0pt; OVERFLOW: hidden; PADDING-TOP: 5px
}
.ngg-widget IMG {
	BORDER-RIGHT: #a9a9a9 2px solid; PADDING-RIGHT: 1px; BORDER-TOP: =
#a9a9a9 2px solid; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; MARGIN: 0pt =
2px 2px 0px; BORDER-LEFT: #a9a9a9 2px solid; PADDING-TOP: 1px; =
BORDER-BOTTOM: #a9a9a9 2px solid
}
.ngg-related-gallery {
	BORDER-RIGHT: #e0e0e0 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: =
#e0e0e0 1px solid; MARGIN-TOP: 1em; PADDING-LEFT: 5px; BACKGROUND: =
#f9f9f9; MARGIN-BOTTOM: 1em; PADDING-BOTTOM: 5px; OVERFLOW: hidden; =
BORDER-LEFT: #e0e0e0 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #e0e0e0 =
1px solid
}
.ngg-related-gallery IMG {
	BORDER-RIGHT: #dddddd 1px solid; PADDING-RIGHT: 2px; BORDER-TOP: =
#dddddd 1px solid; PADDING-LEFT: 2px; FLOAT: left; PADDING-BOTTOM: 2px; =
MARGIN: 0pt 3px; BORDER-LEFT: #dddddd 1px solid; WIDTH: 50px; =
PADDING-TOP: 2px; BORDER-BOTTOM: #dddddd 1px solid; HEIGHT: 50px
}
.ngg-related-gallery IMG:hover {
	BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid; =
BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid
}

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/plugins/wp-ajax-edit-comments/css/edit-comments.css

.edit-comment-admin-links {
	DISPLAY: none
}
.edit-comment-user-link {
	DISPLAY: none
}
.edit-comment-admin-links A {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 20px; FONT-SIZE: =
12px; FLOAT: left; PADDING-BOTTOM: 2px; MARGIN-RIGHT: 10px; PADDING-TOP: =
2px
}
.ajax-edit-time-left {
	PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 20px; FONT-SIZE: =
12px; FLOAT: left; PADDING-BOTTOM: 2px; MARGIN-RIGHT: 10px; PADDING-TOP: =
2px
}
.edit-comment-admin-links-no-icon A {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FONT-SIZE: =
12px; FLOAT: none; PADDING-BOTTOM: 2px; PADDING-TOP: 2px
}
.ajax-edit-time-left-no-icon {
	PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FONT-SIZE: =
12px; FLOAT: none; PADDING-BOTTOM: 2px; PADDING-TOP: 2px
}
.ajax-edit-time-left {
	PADDING-LEFT: 0px
}
.clearfix:unknown {
	CLEAR: both; DISPLAY: block; VISIBILITY: hidden; HEIGHT: 0px; content: =
"."
}
.edit-comment-admin-links A.edit-comment {
	BACKGROUND: url(../images/edit.png) no-repeat left center
}
.edit-comment-admin-links A.moderate-comment {
	BACKGROUND: url(../images/tag_red.png) no-repeat left center
}
.edit-comment-admin-links A.approve-comment {
	BACKGROUND: url(../images/yes.png) no-repeat left center
}
.edit-comment-admin-links A.delete-comment {
	BACKGROUND: url(../images/delete.png) no-repeat left center
}
.edit-comment-admin-links A.spam-comment {
	BACKGROUND: url(../images/minus.png) no-repeat left center
}
.edit-comment-admin-links A.delink-comment {
	BACKGROUND: url(../images/cancel.png) no-repeat left center
}
.edit-comment-admin-links A {
	TEXT-DECORATION: none
}
.edit-comment-user-link A {
	TEXT-DECORATION: none
}
.edit-comment-admin-links-no-icon A {
	TEXT-DECORATION: none
}
LI.ajax-delete {
	BACKGROUND: #f33
}
DIV.ajax-delete {
	BACKGROUND: #f33
}
LI.ajax-approve {
	BACKGROUND: #04cd33
}
DIV.ajax-approve {
	BACKGROUND: #04cd33
}
LI.ajax-unapprove {
	BACKGROUND: #f96
}
DIV.ajax-unapprove {
	BACKGROUND: #f96
}

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-includes/js/thickbox/thickbox.css

#TB_window {
	FONT: 12px "Lucida Grande", Verdana, Arial, sans-serif; COLOR: #333333
}
#TB_secondLine {
	FONT: 10px "Lucida Grande", Verdana, Arial, sans-serif; COLOR: #666666
}
#TB_window A:link {
	COLOR: #666666
}
#TB_window A:visited {
	COLOR: #666666
}
#TB_window A:hover {
	COLOR: #000
}
#TB_window A:active {
	COLOR: #666666
}
#TB_window A:focus {
	COLOR: #666666
}
#TB_overlay {
	Z-INDEX: 100; LEFT: 0px; WIDTH: 100%; POSITION: fixed; TOP: 0px; =
HEIGHT: 100%
}
.TB_overlayMacFFBGHack {
	BACKGROUND: url(macFFBgHack.png)
}
.TB_overlayBG {
	FILTER: alpha(opacity=3D75); BACKGROUND-COLOR: #000; -moz-opacity: =
0.75; opacity: 0.75
}
* HTML #TB_overlay {
	POSITION: absolute; ; HEIGHT: expression(document.body.scrollHeight > =
document.body.offsetHeight ? document.body.scrollHeight : =
document.body.offsetHeight + 'px')
}
#TB_window {
	BORDER-RIGHT: #555 1px solid; BORDER-TOP: #555 1px solid; DISPLAY: =
none; Z-INDEX: 102; BACKGROUND: #ffffff; LEFT: 50%; BORDER-LEFT: #555 =
1px solid; COLOR: #000000; BORDER-BOTTOM: #555 1px solid; POSITION: =
fixed; TOP: 50%; TEXT-ALIGN: left; -moz-box-shadow: rgba(0,0,0,1) 0 4px =
30px; -webkit-box-shadow: rgba(0,0,0,1) 0 4px 30px; -khtml-box-shadow: =
rgba(0,0,0,1) 0 4px 30px; box-shadow: rgba(0,0,0,1) 0 4px 30px
}
* HTML #TB_window {
	; MARGIN-TOP: expression(0 - parseInt(this.offsetHeight / 2) + =
(TBWindowMargin =3D document.documentElement && =
document.documentElement.scrollTop || document.body.scrollTop) + 'px'); =
POSITION: absolute
}
#TB_window IMG#TB_Image {
	BORDER-RIGHT: #ccc 1px solid; BORDER-TOP: #666 1px solid; DISPLAY: =
block; MARGIN: 15px 0px 0px 15px; BORDER-LEFT: #666 1px solid; =
BORDER-BOTTOM: #ccc 1px solid
}
#TB_caption {
	PADDING-RIGHT: 30px; PADDING-LEFT: 25px; FLOAT: left; PADDING-BOTTOM: =
10px; PADDING-TOP: 7px; HEIGHT: 25px
}
#TB_closeWindow {
	PADDING-RIGHT: 25px; PADDING-LEFT: 0px; FLOAT: right; PADDING-BOTTOM: =
10px; PADDING-TOP: 11px; HEIGHT: 25px
}
#TB_closeAjaxWindow {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FLOAT: right; PADDING-BOTTOM: =
0px; PADDING-TOP: 6px; TEXT-ALIGN: right
}
#TB_ajaxWindowTitle {
	PADDING-RIGHT: 10px; PADDING-LEFT: 10px; FLOAT: left; PADDING-BOTTOM: =
0px; PADDING-TOP: 6px
}
#TB_title {
	HEIGHT: 27px; BACKGROUND-COLOR: #e8e8e8
}
#TB_ajaxContent {
	CLEAR: both; PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: =
15px; OVERFLOW: auto; LINE-HEIGHT: 1.4em; PADDING-TOP: 2px; TEXT-ALIGN: =
left
}
.TB_modal#TB_ajaxContent {
	PADDING-RIGHT: 15px; PADDING-LEFT: 15px; PADDING-BOTTOM: 15px; =
PADDING-TOP: 15px
}
#TB_ajaxContent P {
	PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 5px; =
PADDING-TOP: 5px
}
#TB_load {
	BORDER-RIGHT: #555 1px solid; PADDING-RIGHT: 15px; BORDER-TOP: #555 1px =
solid; DISPLAY: none; PADDING-LEFT: 15px; Z-INDEX: 103; LEFT: 50%; =
PADDING-BOTTOM: 15px; MARGIN: -45px 0pt 0pt -125px; BORDER-LEFT: #555 =
1px solid; PADDING-TOP: 40px; BORDER-BOTTOM: #555 1px solid; POSITION: =
fixed; TOP: 50%; BACKGROUND-COLOR: #e8e8e8
}
* HTML #TB_load {
	; MARGIN-TOP: expression(0 - parseInt(this.offsetHeight / 2) + =
(TBWindowMargin =3D document.documentElement && =
document.documentElement.scrollTop || document.body.scrollTop) + 'px'); =
POSITION: absolute
}
#TB_HideSelect {
	Z-INDEX: 99; FILTER: alpha(opacity=3D0); LEFT: 0px; WIDTH: 100%; =
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: =
none; POSITION: fixed; TOP: 0px; HEIGHT: 100%; BACKGROUND-COLOR: #fff; =
BORDER-BOTTOM-STYLE: none; -moz-opacity: 0; opacity: 0
}
* HTML #TB_HideSelect {
	POSITION: absolute; ; HEIGHT: expression(document.body.scrollHeight > =
document.body.offsetHeight ? document.body.scrollHeight : =
document.body.offsetHeight + 'px')
}
#TB_iframeContent {
	CLEAR: both; MARGIN-BOTTOM: -1px; BORDER-TOP-STYLE: none; =
BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-BOTTOM-STYLE: =
none; _margin-bottom: 1px
}

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/plugins/wp-email/email-css.css

.wp-email P {
	TEXT-ALIGN: left
}
.wp-email-loading {
	DISPLAY: none; HEIGHT: 16px; TEXT-ALIGN: center
}
.wp-email-image {
	BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: =
0px; BORDER-RIGHT-WIDTH: 0px
}
.TextField {
=09
}
.Button {
=09
}

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/themes/mimbo2.2/js/dropdowns.js

<!--//--><![CDATA[//><!--=0A=
=0A=
sfHover =3D function() {=0A=
	var sfEls =3D document.getElementById("nav").getElementsByTagName("LI");=0A=
	for (var i=3D0; i<sfEls.length; i++) {=0A=
		sfEls[i].onmouseover=3Dfunction() {=0A=
			this.className+=3D" sfhover";=0A=
		}=0A=
		sfEls[i].onmouseout=3Dfunction() {=0A=
			this.className=3Dthis.className.replace(new RegExp(" sfhover\\b"), =
"");=0A=
		}=0A=
	}=0A=
}=0A=
if (window.attachEvent) window.attachEvent("onload", sfHover);=0A=
=0A=
//--><!]]>
------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-includes/js/prototype.js?ver=1.6

/*  Prototype JavaScript framework, version 1.6.0=0A=
 *  (c) 2005-2007 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',=0A=
=0A=
  Browser: {=0A=
    IE:     !!(window.attachEvent && !window.opera),=0A=
    Opera:  !!window.opera,=0A=
    WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1,=0A=
    Gecko:  navigator.userAgent.indexOf('Gecko') > -1 && =
navigator.userAgent.indexOf('KHTML') =3D=3D -1,=0A=
    MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/)=0A=
  },=0A=
=0A=
  BrowserFeatures: {=0A=
    XPath: !!document.evaluate,=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=
if (Prototype.Browser.WebKit)=0A=
  Prototype.BrowserFeatures.XPath =3D false;=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, value =3D Object.extend((function(m) {=0A=
          return function() { return ancestor[m].apply(this, arguments) =
};=0A=
        })(property).wrap(method), {=0A=
          valueOf:  function() { return method },=0A=
          toString: function() { return method.toString() }=0A=
        });=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 =3D=3D=3D undefined) return 'undefined';=0A=
      if (object =3D=3D=3D null) return 'null';=0A=
      return object.inspect ? object.inspect() : object.toString();=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 (value !=3D=3D undefined)=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 && object.constructor =3D=3D=3D Array;=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].split(",").inv=
oke("strip");=0A=
    return names.length =3D=3D 1 && !names[0] ? [] : names;=0A=
  },=0A=
=0A=
  bind: function() {=0A=
    if (arguments.length < 2 && arguments[0] =3D=3D=3D undefined) 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=
  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=
Function.prototype.defer =3D Function.prototype.delay.curry(0.01);=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 count =3D=3D=3D undefined ? 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 truncation =3D=3D=3D undefined ? '...' : 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.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.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=
with (String.prototype.escapeHTML) div.appendChild(text);=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 /^([^.[]+|\[((?:.*?[^\\])?)\])(\.|\[|$)/, 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=
    }.bind(this));=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=
    iterator =3D iterator.bind(context);=0A=
    try {=0A=
      this._each(function(value) {=0A=
        iterator(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=
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A=
    var index =3D -number, slices =3D [], array =3D this.toArray();=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 ? iterator.bind(context) : Prototype.K;=0A=
    var result =3D true;=0A=
    this.each(function(value, index) {=0A=
      result =3D result && !!iterator(value, index);=0A=
      if (!result) throw $break;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  any: function(iterator, context) {=0A=
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A=
    var result =3D false;=0A=
    this.each(function(value, index) {=0A=
      if (result =3D !!iterator(value, index))=0A=
        throw $break;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  collect: function(iterator, context) {=0A=
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      results.push(iterator(value, index));=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  detect: function(iterator, context) {=0A=
    iterator =3D iterator.bind(context);=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      if (iterator(value, index)) {=0A=
        result =3D value;=0A=
        throw $break;=0A=
      }=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  findAll: function(iterator, context) {=0A=
    iterator =3D iterator.bind(context);=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (iterator(value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  grep: function(filter, iterator, context) {=0A=
    iterator =3D iterator ? iterator.bind(context) : 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(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 fillWith =3D=3D=3D undefined ? 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=
    iterator =3D iterator.bind(context);=0A=
    this.each(function(value, index) {=0A=
      memo =3D iterator(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 ? iterator.bind(context) : Prototype.K;=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D iterator(value, index);=0A=
      if (result =3D=3D undefined || value >=3D result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  min: function(iterator, context) {=0A=
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A=
    var result;=0A=
    this.each(function(value, index) {=0A=
      value =3D iterator(value, index);=0A=
      if (result =3D=3D undefined || value < result)=0A=
        result =3D value;=0A=
    });=0A=
    return result;=0A=
  },=0A=
=0A=
  partition: function(iterator, context) {=0A=
    iterator =3D iterator ? iterator.bind(context) : Prototype.K;=0A=
    var trues =3D [], falses =3D [];=0A=
    this.each(function(value, index) {=0A=
      (iterator(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=
    iterator =3D iterator.bind(context);=0A=
    var results =3D [];=0A=
    this.each(function(value, index) {=0A=
      if (!iterator(value, index))=0A=
        results.push(value);=0A=
    });=0A=
    return results;=0A=
  },=0A=
=0A=
  sortBy: function(iterator, context) {=0A=
    iterator =3D iterator.bind(context);=0A=
    return this.map(function(value, index) {=0A=
      return {value: value, criteria: iterator(value, index)};=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, results =3D new Array(length);=0A=
  while (length--) results[length] =3D iterable[length];=0A=
  return results;=0A=
}=0A=
=0A=
if (Prototype.Browser.WebKit) {=0A=
  function $A(iterable) {=0A=
    if (!iterable) return [];=0A=
    if (!(Object.isFunction(iterable) && iterable =3D=3D '[object =
NodeList]') &&=0A=
        iterable.toArray) return iterable.toArray();=0A=
    var length =3D iterable.length, 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 (value !=3D=3D undefined) 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) {=0A=
    $R(0, this, true).each(iterator);=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=
  if (function() {=0A=
    var i =3D 0, Test =3D function(value) { this.key =3D value };=0A=
    Test.prototype.key =3D 'foo';=0A=
    for (var property in new Test('bar')) i++;=0A=
    return i > 1;=0A=
  }()) {=0A=
    function each(iterator) {=0A=
      var cache =3D [];=0A=
      for (var key in this._object) {=0A=
        var value =3D this._object[key];=0A=
        if (cache.include(key)) continue;=0A=
        cache.push(key);=0A=
        var pair =3D [key, value];=0A=
        pair.key =3D key;=0A=
        pair.value =3D value;=0A=
        iterator(pair);=0A=
      }=0A=
    }=0A=
  } else {=0A=
    function each(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=
=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: each,=0A=
=0A=
    set: function(key, value) {=0A=
      return this._object[key] =3D value;=0A=
    },=0A=
=0A=
    get: function(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.map(function(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 values.map(toQueryPair.curry(key)).join('&');=0A=
        }=0A=
        return toQueryPair(key, values);=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=
    if (Object.isString(this.options.parameters))=0A=
      this.options.parameters =3D =
this.options.parameters.toQueryParams();=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 && 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=
  getHeader: function(name) {=0A=
    try {=0A=
      return this.transport.getResponseHeader(name);=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 xml =3D=3D=3D undefined ? 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=
    } 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=
        return null;=0A=
    try {=0A=
      return this.transport.responseText.evalJSON(options.sanitizeJSON);=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 options || { };=0A=
    var onComplete =3D options.onComplete;=0A=
    options.onComplete =3D (function(response, param) {=0A=
      this.updateContent(response.responseText);=0A=
      if (Object.isFunction(onComplete)) onComplete(response, param);=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=
    if (this.success()) {=0A=
      if (this.onComplete) this.onComplete.bind(this).defer();=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=
}).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).style.display =3D 'none';=0A=
    return element;=0A=
  },=0A=
=0A=
  show: function(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, t, range;=0A=
=0A=
    for (position in insertions) {=0A=
      content  =3D insertions[position];=0A=
      position =3D position.toLowerCase();=0A=
      t =3D Element._insertionTranslations[position];=0A=
=0A=
      if (content && content.toElement) content =3D content.toElement();=0A=
      if (Object.isElement(content)) {=0A=
        t.insert(element, content);=0A=
        continue;=0A=
      }=0A=
=0A=
      content =3D Object.toHTML(content);=0A=
=0A=
      range =3D element.ownerDocument.createRange();=0A=
      t.initializeRange(element, range);=0A=
      t.insert(element, =
range.createContextualFragment(content.stripScripts()));=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 $A($(element).getElementsByTagName('*')).each(Element.extend);=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 expression ? Selector.findElement(ancestors, expression, =
index) :=0A=
      ancestors[index || 0];=0A=
  },=0A=
=0A=
  down: function(element, expression, index) {=0A=
    element =3D $(element);=0A=
    if (arguments.length =3D=3D 1) return element.firstDescendant();=0A=
    var descendants =3D element.descendants();=0A=
    return expression ? Selector.findElement(descendants, expression, =
index) :=0A=
      descendants[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 expression ? Selector.findElement(previousSiblings, =
expression, index) :=0A=
      previousSiblings[index || 0];=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 expression ? Selector.findElement(nextSiblings, expression, =
index) :=0A=
      nextSiblings[index || 0];=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 value =3D=3D=3D undefined ? true : value;=0A=
=0A=
    for (var attr in attributes) {=0A=
      var name =3D t.names[attr] || attr, 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 (element.sourceIndex && !Prototype.Browser.Opera) {=0A=
      var e =3D element.sourceIndex, a =3D ancestor.sourceIndex,=0A=
       nextAncestor =3D ancestor.nextSibling;=0A=
      if (!nextAncestor) {=0A=
        do { ancestor =3D ancestor.parentNode; }=0A=
        while (!(nextAncestor =3D ancestor.nextSibling) && =
ancestor.parentNode);=0A=
      }=0A=
      if (nextAncestor) return (e > a && e < nextAncestor.sourceIndex);=0A=
    }=0A=
=0A=
    while (element =3D element.parentNode)=0A=
      if (element =3D=3D ancestor) return true;=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) {=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=
          (elementStyle.styleFloat =3D=3D=3D undefined ? '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 (window.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 =3D=3D 'BODY') break;=0A=
        var p =3D Element.getStyle(element, 'position');=0A=
        if (p =3D=3D 'relative' || p =3D=3D 'absolute') 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;=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;=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 =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=
=0A=
if (!document.createRange || Prototype.Browser.Opera) {=0A=
  Element.Methods.insert =3D 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 t =3D Element._insertionTranslations, content, position, pos, =
tagName;=0A=
=0A=
    for (position in insertions) {=0A=
      content  =3D insertions[position];=0A=
      position =3D position.toLowerCase();=0A=
      pos      =3D t[position];=0A=
=0A=
      if (content && content.toElement) content =3D content.toElement();=0A=
      if (Object.isElement(content)) {=0A=
        pos.insert(element, content);=0A=
        continue;=0A=
      }=0A=
=0A=
      content =3D Object.toHTML(content);=0A=
      tagName =3D ((position =3D=3D 'before' || position =3D=3D 'after')=0A=
        ? element.parentNode : element).tagName.toUpperCase();=0A=
=0A=
      if (t.tags[tagName]) {=0A=
        var fragments =3D =
Element._getContentFromAnonymousElement(tagName, content.stripScripts());=0A=
        if (position =3D=3D 'top' || position =3D=3D 'after') =
fragments.reverse();=0A=
        fragments.each(pos.insert.curry(element));=0A=
      }=0A=
      else element.insertAdjacentHTML(pos.adjacency, =
content.stripScripts());=0A=
=0A=
      content.evalScripts.bind(content).defer();=0A=
    }=0A=
=0A=
    return element;=0A=
  };=0A=
}=0A=
=0A=
if (Prototype.Browser.Opera) {=0A=
  Element.Methods._getStyle =3D Element.Methods.getStyle;=0A=
  Element.Methods.getStyle =3D function(element, style) {=0A=
    switch(style) {=0A=
      case 'left':=0A=
      case 'top':=0A=
      case 'right':=0A=
      case 'bottom':=0A=
        if (Element._getStyle(element, 'position') =3D=3D 'static') =
return null;=0A=
      default: return Element._getStyle(element, style);=0A=
    }=0A=
  };=0A=
  Element.Methods._readAttribute =3D Element.Methods.readAttribute;=0A=
  Element.Methods.readAttribute =3D function(element, attribute) {=0A=
    if (attribute =3D=3D 'title') return element.title;=0A=
    return Element._readAttribute(element, attribute);=0A=
  };=0A=
}=0A=
=0A=
else if (Prototype.Browser.IE) {=0A=
  $w('positionedOffset getOffsetParent =
viewportOffset').each(function(method) {=0A=
    Element.Methods[method] =3D Element.Methods[method].wrap(=0A=
      function(proceed, element) {=0A=
        element =3D $(element);=0A=
        var position =3D element.getStyle('position');=0A=
        if (position !=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=
=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=
          var 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.clone(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').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 =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 =
Position.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 (document.createElement('div').outerHTML) {=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=
  div.innerHTML =3D t[0] + html + t[1];=0A=
  t[2].times(function() { div =3D div.firstChild });=0A=
  return $A(div.childNodes);=0A=
};=0A=
=0A=
Element._insertionTranslations =3D {=0A=
  before: {=0A=
    adjacency: 'beforeBegin',=0A=
    insert: function(element, node) {=0A=
      element.parentNode.insertBefore(node, element);=0A=
    },=0A=
    initializeRange: function(element, range) {=0A=
      range.setStartBefore(element);=0A=
    }=0A=
  },=0A=
  top: {=0A=
    adjacency: 'afterBegin',=0A=
    insert: function(element, node) {=0A=
      element.insertBefore(node, element.firstChild);=0A=
    },=0A=
    initializeRange: function(element, range) {=0A=
      range.selectNodeContents(element);=0A=
      range.collapse(true);=0A=
    }=0A=
  },=0A=
  bottom: {=0A=
    adjacency: 'beforeEnd',=0A=
    insert: function(element, node) {=0A=
      element.appendChild(node);=0A=
    }=0A=
  },=0A=
  after: {=0A=
    adjacency: 'afterEnd',=0A=
    insert: function(element, node) {=0A=
      element.parentNode.insertBefore(node, element.nextSibling);=0A=
    },=0A=
    initializeRange: function(element, range) {=0A=
      range.setStartAfter(element);=0A=
    }=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=
  this.bottom.initializeRange =3D this.top.initializeRange;=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, 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 { };=0A=
    $w('width height').each(function(d) {=0A=
      var D =3D d.capitalize();=0A=
      dimensions[d] =3D self['inner' + D] ||=0A=
       (document.documentElement['client' + D] || document.body['client' =
+ D]);=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=E2=80=99s =
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=
    this.compileMatcher();=0A=
  },=0A=
=0A=
  compileMatcher: function() {=0A=
    // Selectors with namespaced attributes can't use the XPath version=0A=
    if (Prototype.BrowserFeatures.XPath && =
!(/(\[[\w-]*?:|:checked)/).test(this.expression))=0A=
      return this.compileXPathMatcher();=0A=
=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=
    if (this.xpath) return document._getElementsByXPath(this.xpath, =
root);=0A=
    return this.matcher(root);=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: "[@#{1}]",=0A=
    attr: function(m) {=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 or =
translate(text(), ' \t\r\n', '') =3D '')]",=0A=
      'checked':     "[@checked]",=0A=
      'disabled':    "[@disabled]",=0A=
      'enabled':     "[not(@disabled)]",=0A=
      'not': function(m) {=0A=
        var e =3D m[6], p =3D Selector.patterns,=0A=
            x =3D Selector.xpath, le, m, 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 =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 =
=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:       =
/^:((first|last|nth|nth-last|only)(-child|-of-type)|empty|checked|(en|dis=
)abled|not)(\((.*?)\))?(\b|$|(?=3D\s)|(?=3D:))/,=0A=
    attrPresence: /^\[([\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 Selector.operators[matches[2]](nodeValue, matches[3]);=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=
      for (var i =3D 0, node; node =3D nodes[i]; i++)=0A=
        node._counted =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._counted =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._counted =3D true;=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._counted)) =
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._counted)) =
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])._counted) {=0A=
          n._counted =3D true;=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, children =3D [], 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=
      tagName =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 tagName) =
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) {=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=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) {=0A=
      if (!nodes) nodes =3D root.getElementsByTagName("*");=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._counted) {=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 && =
!node.innerHTML.match(/^\s*$/))) 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._counted) 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) 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.startsWith(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() + =
'-').include('-' + v.toUpperCase() + '-'); }=0A=
  },=0A=
=0A=
  matchElements: function(elements, expression) {=0A=
    var matches =3D new Selector(expression).findElements(), 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._counted) 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=
    var exprs =3D expressions.join(','), expressions =3D [];=0A=
    exprs.scan(/(([\w#:.~>+()\s-]+|\*|\[.*?\])+)\s*(,|$)/, function(m) {=0A=
      expressions.push(m[1].strip());=0A=
    });=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=
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 (options.hash =3D=3D=3D undefined) 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 '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.blur();=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 (value =3D=3D=3D undefined) return element.checked ? =
element.value : null;=0A=
    else element.checked =3D !!value;=0A=
  },=0A=
=0A=
  textarea: function(element, value) {=0A=
    if (value =3D=3D=3D undefined) return element.value;=0A=
    else element.value =3D value;=0A=
  },=0A=
=0A=
  select: function(element, index) {=0A=
    if (index =3D=3D=3D undefined)=0A=
      return this[element.type =3D=3D 'select-one' ?=0A=
        'selectOne' : 'selectMany'](element);=0A=
    else {=0A=
      var opt, value, single =3D !Object.isArray(index);=0A=
      for (var i =3D 0, length =3D element.length; i < length; i++) {=0A=
        opt =3D element.options[i];=0A=
        value =3D this.optionValue(opt);=0A=
        if (single) {=0A=
          if (value =3D=3D index) {=0A=
            opt.selected =3D true;=0A=
            return;=0A=
          }=0A=
        }=0A=
        else opt.selected =3D index.include(value);=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=
      var node =3D Event.extend(event).target;=0A=
      return Element.extend(node.nodeType =3D=3D Node.TEXT_NODE ? =
node.parentNode : node);=0A=
    },=0A=
=0A=
    findElement: function(event, expression) {=0A=
      var element =3D Event.element(event);=0A=
      return element.match(expression) ? element : =
element.up(expression);=0A=
    },=0A=
=0A=
    pointer: function(event) {=0A=
      return {=0A=
        x: event.pageX || (event.clientX +=0A=
          (document.documentElement.scrollLeft || =
document.body.scrollLeft)),=0A=
        y: event.pageY || (event.clientY +=0A=
          (document.documentElement.scrollTop || =
document.body.scrollTop))=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._eventID) return element._eventID;=0A=
    arguments.callee.id =3D arguments.callee.id || 1;=0A=
    return element._eventID =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=
  if (window.attachEvent) {=0A=
    window.attachEvent("onunload", destroyCache);=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=
      if (document.createEvent) {=0A=
        var event =3D document.createEvent("HTMLEvents");=0A=
        event.initEvent("dataavailable", true, true);=0A=
      } else {=0A=
        var 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;=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=
});=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, fired =3D false;=0A=
=0A=
  function fireContentLoadedEvent() {=0A=
    if (fired) return;=0A=
    if (timer) window.clearInterval(timer);=0A=
    document.fire("dom:loaded");=0A=
    fired =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_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-includes/js/scriptaculous/wp-scriptaculous.js?ver=1.8.0

// script.aculo.us scriptaculous.js v1.7.1_beta3, Fri May 25 17:19:41 =
+0200 2007=0A=
=0A=
// Copyright (c) 2005-2007 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.0',=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',=0A=
  load: function() {=0A=
    function convertVersionString(versionString){=0A=
      var r =3D versionString.split('.');=0A=
      return parseInt(r[0])*100000 + parseInt(r[1])*1000 + =
parseInt(r[2]);=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=
    $A(document.getElementsByTagName("script")).findAll( function(s) {=0A=
      return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/))=0A=
    }).each( function(s) {=0A=
      var path =3D s.src.replace(/scriptaculous\.js(\?.*)?$/,'');=0A=
      var includes =3D s.src.match(/\?.*load=3D([a-z,]*)/);=0A=
      if ( includes )=0A=
       includes[1].split(',').each(=0A=
       function(include) { Scriptaculous.require(path+include+'.js') });=0A=
    });=0A=
  }=0A=
}=0A=
=0A=
Scriptaculous.load();=0A=

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-includes/js/scriptaculous/effects.js?ver=1.8.0

// script.aculo.us effects.js v1.8.0, Tue Nov 06 15:01:40 +0300 2007=0A=
=0A=
// Copyright (c) 2005-2007 Thomas Fuchs (http://script.aculo.us, =
http://mir.aculo.us)=0A=
// Contributors:=0A=
//  Justin Palmer (http://encytemedia.com/)=0A=
//  Mark Pilgrim (http://diveintomark.org/)=0A=
//  Martin Bialasinki=0A=
// =0A=
// script.aculo.us is freely distributable under the terms of an =
MIT-style license.=0A=
// For details, see the script.aculo.us web site: =
http://script.aculo.us/ =0A=
=0A=
// converts rgb() and #xxx to #xxxxxx format,  =0A=
// returns self (or first argument) if not convertable  =0A=
String.prototype.parseColor =3D function() {  =0A=
  var color =3D '#';=0A=
  if (this.slice(0,4) =3D=3D 'rgb(') {  =0A=
    var cols =3D this.slice(4,this.length-1).split(',');  =0A=
    var i=3D0; do { color +=3D parseInt(cols[i]).toColorPart() } while =
(++i<3);  =0A=
  } else {  =0A=
    if (this.slice(0,1) =3D=3D '#') {  =0A=
      if (this.length=3D=3D4) for(var i=3D1;i<4;i++) color +=3D =
(this.charAt(i) + this.charAt(i)).toLowerCase();  =0A=
      if (this.length=3D=3D7) color =3D this.toLowerCase();  =0A=
    }  =0A=
  }  =0A=
  return (color.length=3D=3D7 ? color : (arguments[0] || this));  =0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
Element.collectTextNodes =3D function(element) {  =0A=
  return $A($(element).childNodes).collect( function(node) {=0A=
    return (node.nodeType=3D=3D3 ? node.nodeValue : =0A=
      (node.hasChildNodes() ? Element.collectTextNodes(node) : ''));=0A=
  }).flatten().join('');=0A=
};=0A=
=0A=
Element.collectTextNodesIgnoreClass =3D function(element, className) {  =0A=
  return $A($(element).childNodes).collect( function(node) {=0A=
    return (node.nodeType=3D=3D3 ? node.nodeValue : =0A=
      ((node.hasChildNodes() && !Element.hasClassName(node,className)) ? =0A=
        Element.collectTextNodesIgnoreClass(node, className) : ''));=0A=
  }).flatten().join('');=0A=
};=0A=
=0A=
Element.setContentZoom =3D function(element, percent) {=0A=
  element =3D $(element);  =0A=
  element.setStyle({fontSize: (percent/100) + 'em'});   =0A=
  if (Prototype.Browser.WebKit) window.scrollBy(0,0);=0A=
  return element;=0A=
};=0A=
=0A=
Element.getInlineOpacity =3D function(element){=0A=
  return $(element).style.opacity || '';=0A=
};=0A=
=0A=
Element.forceRerendering =3D function(element) {=0A=
  try {=0A=
    element =3D $(element);=0A=
    var n =3D document.createTextNode(' ');=0A=
    element.appendChild(n);=0A=
    element.removeChild(n);=0A=
  } catch(e) { }=0A=
};=0A=
=0A=
/*-----------------------------------------------------------------------=
---*/=0A=
=0A=
var Effect =3D {=0A=
  _elementDoesNotExistError: {=0A=
    name: 'ElementDoesNotExistError',=0A=
    message: 'The specified DOM element does not exist, but is required =
for this effect to operate'=0A=
  },=0A=
  Transitions: {=0A=
    linear: Prototype.K,=0A=
    sinoidal: function(pos) {=0A=
      return (-Math.cos(pos*Math.PI)/2) + 0.5;=0A=
    },=0A=
    reverse: function(pos) {=0A=
      return 1-pos;=0A=
    },=0A=
    flicker: function(pos) {=0A=
      var pos =3D ((-Math.cos(pos*Math.PI)/4) + 0.75) + Math.random()/4;=0A=
      return pos > 1 ? 1 : pos;=0A=
    },=0A=
    wobble: function(pos) {=0A=
      return (-Math.cos(pos*Math.PI*(9*pos))/2) + 0.5;=0A=
    },=0A=
    pulse: function(pos, pulses) { =0A=
      pulses =3D pulses || 5; =0A=
      return (=0A=
        ((pos % (1/pulses)) * pulses).round() =3D=3D 0 ? =0A=
              ((pos * pulses * 2) - (pos * pulses * 2).floor()) : =0A=
          1 - ((pos * pulses * 2) - (pos * pulses * 2).floor())=0A=
        );=0A=
    },=0A=
    spring: function(pos) { =0A=
      return 1 - (Math.cos(pos * 4.5 * Math.PI) * Math.exp(-pos * 6)); =0A=
    },=0A=
    none: function(pos) {=0A=
      return 0;=0A=
    },=0A=
    full: function(pos) {=0A=
      return 1;=0A=
    }=0A=
  },=0A=
  DefaultOptions: {=0A=
    duration:   1.0,   // seconds=0A=
    fps:        100,   // 100=3D assume 66fps max.=0A=
    sync:       false, // true for combining=0A=
    from:       0.0,=0A=
    to:         1.0,=0A=
    delay:      0.0,=0A=
    queue:      'parallel'=0A=
  },=0A=
  tagifyText: function(element) {=0A=
    var tagifyStyle =3D 'position:relative';=0A=
    if (Prototype.Browser.IE) tagifyStyle +=3D ';zoom:1';=0A=
    =0A=
    element =3D $(element);=0A=
    $A(element.childNodes).each( function(child) {=0A=
      if (child.nodeType=3D=3D3) {=0A=
        child.nodeValue.toArray().each( function(character) {=0A=
          element.insertBefore(=0A=
            new Element('span', {style: tagifyStyle}).update(=0A=
              character =3D=3D ' ' ? String.fromCharCode(160) : =
character), =0A=
              child);=0A=
        });=0A=
        Element.remove(child);=0A=
      }=0A=
    });=0A=
  },=0A=
  multiple: function(element, effect) {=0A=
    var elements;=0A=
    if (((typeof element =3D=3D 'object') || =0A=
        Object.isFunction(element)) && =0A=
       (element.length))=0A=
      elements =3D element;=0A=
    else=0A=
      elements =3D $(element).childNodes;=0A=
      =0A=
    var options =3D Object.extend({=0A=
      speed: 0.1,=0A=
      delay: 0.0=0A=
    }, arguments[2] || { });=0A=
    var masterDelay =3D options.delay;=0A=
=0A=
    $A(elements).each( function(element, index) {=0A=
      new effect(element, Object.extend(options, { delay: index * =
options.speed + masterDelay }));=0A=
    });=0A=
  },=0A=
  PAIRS: {=0A=
    'slide':  ['SlideDown','SlideUp'],=0A=
    'blind':  ['BlindDown','BlindUp'],=0A=
    'appear': ['Appear','Fade']=0A=
  },=0A=
  toggle: function(element, effect) {=0A=
    element =3D $(element);=0A=
    effect =3D (effect || 'appear').toLowerCase();=0A=
    var options =3D Object.extend({=0A=
      queue: { position:'end', scope:(element.id || 'global'), limit: 1 }=0A=
    }, arguments[2] || { });=0A=
    Effect[element.visible() ? =0A=
      Effect.PAIRS[effect][1] : Effect.PAIRS[effect][0]](element, =
options);=0A=
  }=0A=
};=0A=
=0A=
Effect.DefaultOptions.transition =3D Effect.Transitions.sinoidal;=0A=
=0A=
/* ------------- core effects ------------- */=0A=
=0A=
Effect.ScopedQueue =3D Class.create(Enumerable, {=0A=
  initialize: function() {=0A=
    this.effects  =3D [];=0A=
    this.interval =3D null;    =0A=
  },=0A=
  _each: function(iterator) {=0A=
    this.effects._each(iterator);=0A=
  },=0A=
  add: function(effect) {=0A=
    var timestamp =3D new Date().getTime();=0A=
    =0A=
    var position =3D Object.isString(effect.options.queue) ? =0A=
      effect.options.queue : effect.options.queue.position;=0A=
    =0A=
    switch(position) {=0A=
      case 'front':=0A=
        // move unstarted effects after this effect  =0A=
        this.effects.findAll(function(e){ return e.state=3D=3D'idle' =
}).each( function(e) {=0A=
            e.startOn  +=3D effect.finishOn;=0A=
            e.finishOn +=3D effect.finishOn;=0A=
          });=0A=
        break;=0A=
      case 'with-last':=0A=
        timestamp =3D this.effects.pluck('startOn').max() || timestamp;=0A=
        break;=0A=
      case 'end':=0A=
        // start effect after last queued effect has finished=0A=
        timestamp =3D this.effects.pluck('finishOn').max() || timestamp;=0A=
        break;=0A=
    }=0A=
    =0A=
    effect.startOn  +=3D timestamp;=0A=
    effect.finishOn +=3D timestamp;=0A=
=0A=
    if (!effect.options.queue.limit || (this.effects.length < =
effect.options.queue.limit))=0A=
      this.effects.push(effect);=0A=
    =0A=
    if (!this.interval)=0A=
      this.interval =3D setInterval(this.loop.bind(this), 15);=0A=
  },=0A=
  remove: function(effect) {=0A=
    this.effects =3D this.effects.reject(function(e) { return =
e=3D=3Deffect });=0A=
    if (this.effects.length =3D=3D 0) {=0A=
      clearInterval(this.interval);=0A=
      this.interval =3D null;=0A=
    }=0A=
  },=0A=
  loop: function() {=0A=
    var timePos =3D new Date().getTime();=0A=
    for(var i=3D0, len=3Dthis.effects.length;i<len;i++) =0A=
      this.effects[i] && this.effects[i].loop(timePos);=0A=
  }=0A=
});=0A=
=0A=
Effect.Queues =3D {=0A=
  instances: $H(),=0A=
  get: function(queueName) {=0A=
    if (!Object.isString(queueName)) return queueName;=0A=
    =0A=
    return this.instances.get(queueName) ||=0A=
      this.instances.set(queueName, new Effect.ScopedQueue());=0A=
  }=0A=
};=0A=
Effect.Queue =3D Effect.Queues.get('global');=0A=
=0A=
Effect.Base =3D Class.create({=0A=
  position: null,=0A=
  start: function(options) {=0A=
    function codeForEvent(options,eventName){=0A=
      return (=0A=
        (options[eventName+'Internal'] ? =
'this.options.'+eventName+'Internal(this);' : '') +=0A=
        (options[eventName] ? 'this.options.'+eventName+'(this);' : '')=0A=
      );=0A=
    }=0A=
    if (options && options.transition =3D=3D=3D false) =
options.transition =3D Effect.Transitions.linear;=0A=
    this.options      =3D Object.extend(Object.extend({ =
},Effect.DefaultOptions), options || { });=0A=
    this.currentFrame =3D 0;=0A=
    this.state        =3D 'idle';=0A=
    this.startOn      =3D this.options.delay*1000;=0A=
    this.finishOn     =3D this.startOn+(this.options.duration*1000);=0A=
    this.fromToDelta  =3D this.options.to-this.options.from;=0A=
    this.totalTime    =3D this.finishOn-this.startOn;=0A=
    this.totalFrames  =3D this.options.fps*this.options.duration;=0A=
    =0A=
    eval('this.render =3D function(pos){ '+=0A=
      'if (this.state=3D=3D"idle"){this.state=3D"running";'+=0A=
      codeForEvent(this.options,'beforeSetup')+=0A=
      (this.setup ? 'this.setup();':'')+ =0A=
      codeForEvent(this.options,'afterSetup')+=0A=
      '};if (this.state=3D=3D"running"){'+=0A=
      =
'pos=3Dthis.options.transition(pos)*'+this.fromToDelta+'+'+this.options.f=
rom+';'+=0A=
      'this.position=3Dpos;'+=0A=
      codeForEvent(this.options,'beforeUpdate')+=0A=
      (this.update ? 'this.update(pos);':'')+=0A=
      codeForEvent(this.options,'afterUpdate')+=0A=
      '}}');=0A=
    =0A=
    this.event('beforeStart');=0A=
    if (!this.options.sync)=0A=
      Effect.Queues.get(Object.isString(this.options.queue) ? =0A=
        'global' : this.options.queue.scope).add(this);=0A=
  },=0A=
  loop: function(timePos) {=0A=
    if (timePos >=3D this.startOn) {=0A=
      if (timePos >=3D this.finishOn) {=0A=
        this.render(1.0);=0A=
        this.cancel();=0A=
        this.event('beforeFinish');=0A=
        if (this.finish) this.finish(); =0A=
        this.event('afterFinish');=0A=
        return;  =0A=
      }=0A=
      var pos   =3D (timePos - this.startOn) / this.totalTime,=0A=
          frame =3D (pos * this.totalFrames).round();=0A=
      if (frame > this.currentFrame) {=0A=
        this.render(pos);=0A=
        this.currentFrame =3D frame;=0A=
      }=0A=
    }=0A=
  },=0A=
  cancel: function() {=0A=
    if (!this.options.sync)=0A=
      Effect.Queues.get(Object.isString(this.options.queue) ? =0A=
        'global' : this.options.queue.scope).remove(this);=0A=
    this.state =3D 'finished';=0A=
  },=0A=
  event: function(eventName) {=0A=
    if (this.options[eventName + 'Internal']) this.options[eventName + =
'Internal'](this);=0A=
    if (this.options[eventName]) this.options[eventName](this);=0A=
  },=0A=
  inspect: function() {=0A=
    var data =3D $H();=0A=
    for(property in this)=0A=
      if (!Object.isFunction(this[property])) data.set(property, =
this[property]);=0A=
    return '#<Effect:' + data.inspect() + ',options:' + =
$H(this.options).inspect() + '>';=0A=
  }=0A=
});=0A=
=0A=
Effect.Parallel =3D Class.create(Effect.Base, {=0A=
  initialize: function(effects) {=0A=
    this.effects =3D effects || [];=0A=
    this.start(arguments[1]);=0A=
  },=0A=
  update: function(position) {=0A=
    this.effects.invoke('render', position);=0A=
  },=0A=
  finish: function(position) {=0A=
    this.effects.each( function(effect) {=0A=
      effect.render(1.0);=0A=
      effect.cancel();=0A=
      effect.event('beforeFinish');=0A=
      if (effect.finish) effect.finish(position);=0A=
      effect.event('afterFinish');=0A=
    });=0A=
  }=0A=
});=0A=
=0A=
Effect.Tween =3D Class.create(Effect.Base, {=0A=
  initialize: function(object, from, to) {=0A=
    object =3D Object.isString(object) ? $(object) : object;=0A=
    var args =3D $A(arguments), method =3D args.last(), =0A=
      options =3D args.length =3D=3D 5 ? args[3] : null;=0A=
    this.method =3D Object.isFunction(method) ? method.bind(object) :=0A=
      Object.isFunction(object[method]) ? object[method].bind(object) : =0A=
      function(value) { object[method] =3D value };=0A=
    this.start(Object.extend({ from: from, to: to }, options || { }));=0A=
  },=0A=
  update: function(position) {=0A=
    this.method(position);=0A=
  }=0A=
});=0A=
=0A=
Effect.Event =3D Class.create(Effect.Base, {=0A=
  initialize: function() {=0A=
    this.start(Object.extend({ duration: 0 }, arguments[0] || { }));=0A=
  },=0A=
  update: Prototype.emptyFunction=0A=
});=0A=
=0A=
Effect.Opacity =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    // make this work on IE on elements without 'layout'=0A=
    if (Prototype.Browser.IE && (!this.element.currentStyle.hasLayout))=0A=
      this.element.setStyle({zoom: 1});=0A=
    var options =3D Object.extend({=0A=
      from: this.element.getOpacity() || 0.0,=0A=
      to:   1.0=0A=
    }, arguments[1] || { });=0A=
    this.start(options);=0A=
  },=0A=
  update: function(position) {=0A=
    this.element.setOpacity(position);=0A=
  }=0A=
});=0A=
=0A=
Effect.Move =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({=0A=
      x:    0,=0A=
      y:    0,=0A=
      mode: 'relative'=0A=
    }, arguments[1] || { });=0A=
    this.start(options);=0A=
  },=0A=
  setup: function() {=0A=
    this.element.makePositioned();=0A=
    this.originalLeft =3D parseFloat(this.element.getStyle('left') || =
'0');=0A=
    this.originalTop  =3D parseFloat(this.element.getStyle('top')  || =
'0');=0A=
    if (this.options.mode =3D=3D 'absolute') {=0A=
      this.options.x =3D this.options.x - this.originalLeft;=0A=
      this.options.y =3D this.options.y - this.originalTop;=0A=
    }=0A=
  },=0A=
  update: function(position) {=0A=
    this.element.setStyle({=0A=
      left: (this.options.x  * position + this.originalLeft).round() + =
'px',=0A=
      top:  (this.options.y  * position + this.originalTop).round()  + =
'px'=0A=
    });=0A=
  }=0A=
});=0A=
=0A=
// for backwards compatibility=0A=
Effect.MoveBy =3D function(element, toTop, toLeft) {=0A=
  return new Effect.Move(element, =0A=
    Object.extend({ x: toLeft, y: toTop }, arguments[3] || { }));=0A=
};=0A=
=0A=
Effect.Scale =3D Class.create(Effect.Base, {=0A=
  initialize: function(element, percent) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({=0A=
      scaleX: true,=0A=
      scaleY: true,=0A=
      scaleContent: true,=0A=
      scaleFromCenter: false,=0A=
      scaleMode: 'box',        // 'box' or 'contents' or { } with =
provided values=0A=
      scaleFrom: 100.0,=0A=
      scaleTo:   percent=0A=
    }, arguments[2] || { });=0A=
    this.start(options);=0A=
  },=0A=
  setup: function() {=0A=
    this.restoreAfterFinish =3D this.options.restoreAfterFinish || false;=0A=
    this.elementPositioning =3D this.element.getStyle('position');=0A=
    =0A=
    this.originalStyle =3D { };=0A=
    ['top','left','width','height','fontSize'].each( function(k) {=0A=
      this.originalStyle[k] =3D this.element.style[k];=0A=
    }.bind(this));=0A=
      =0A=
    this.originalTop  =3D this.element.offsetTop;=0A=
    this.originalLeft =3D this.element.offsetLeft;=0A=
    =0A=
    var fontSize =3D this.element.getStyle('font-size') || '100%';=0A=
    ['em','px','%','pt'].each( function(fontSizeType) {=0A=
      if (fontSize.indexOf(fontSizeType)>0) {=0A=
        this.fontSize     =3D parseFloat(fontSize);=0A=
        this.fontSizeType =3D fontSizeType;=0A=
      }=0A=
    }.bind(this));=0A=
    =0A=
    this.factor =3D (this.options.scaleTo - this.options.scaleFrom)/100;=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=
  update: function(position) {=0A=
    var currentScale =3D (this.options.scaleFrom/100.0) + (this.factor * =
position);=0A=
    if (this.options.scaleContent && this.fontSize)=0A=
      this.element.setStyle({fontSize: this.fontSize * currentScale + =
this.fontSizeType });=0A=
    this.setDimensions(this.dims[0] * currentScale, this.dims[1] * =
currentScale);=0A=
  },=0A=
  finish: function(position) {=0A=
    if (this.restoreAfterFinish) =
this.element.setStyle(this.originalStyle);=0A=
  },=0A=
  setDimensions: function(height, width) {=0A=
    var d =3D { };=0A=
    if (this.options.scaleX) d.width =3D width.round() + 'px';=0A=
    if (this.options.scaleY) d.height =3D height.round() + 'px';=0A=
    if (this.options.scaleFromCenter) {=0A=
      var topd  =3D (height - this.dims[0])/2;=0A=
      var leftd =3D (width  - this.dims[1])/2;=0A=
      if (this.elementPositioning =3D=3D 'absolute') {=0A=
        if (this.options.scaleY) d.top =3D this.originalTop-topd + 'px';=0A=
        if (this.options.scaleX) d.left =3D this.originalLeft-leftd + =
'px';=0A=
      } else {=0A=
        if (this.options.scaleY) d.top =3D -topd + 'px';=0A=
        if (this.options.scaleX) d.left =3D -leftd + 'px';=0A=
      }=0A=
    }=0A=
    this.element.setStyle(d);=0A=
  }=0A=
});=0A=
=0A=
Effect.Highlight =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({ startcolor: '#ffff99' }, =
arguments[1] || { });=0A=
    this.start(options);=0A=
  },=0A=
  setup: function() {=0A=
    // Prevent executing on elements not in the layout flow=0A=
    if (this.element.getStyle('display')=3D=3D'none') { this.cancel(); =
return; }=0A=
    // Disable background image during the effect=0A=
    this.oldStyle =3D { };=0A=
    if (!this.options.keepBackgroundImage) {=0A=
      this.oldStyle.backgroundImage =3D =
this.element.getStyle('background-image');=0A=
      this.element.setStyle({backgroundImage: 'none'});=0A=
    }=0A=
    if (!this.options.endcolor)=0A=
      this.options.endcolor =3D =
this.element.getStyle('background-color').parseColor('#ffffff');=0A=
    if (!this.options.restorecolor)=0A=
      this.options.restorecolor =3D =
this.element.getStyle('background-color');=0A=
    // init color calculations=0A=
    this._base  =3D $R(0,2).map(function(i){ return =
parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));=0A=
    this._delta =3D $R(0,2).map(function(i){ return =
parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] =
}.bind(this));=0A=
  },=0A=
  update: function(position) {=0A=
    this.element.setStyle({backgroundColor: =
$R(0,2).inject('#',function(m,v,i){=0A=
      return =
m+((this._base[i]+(this._delta[i]*position)).round().toColorPart()); =
}.bind(this)) });=0A=
  },=0A=
  finish: function() {=0A=
    this.element.setStyle(Object.extend(this.oldStyle, {=0A=
      backgroundColor: this.options.restorecolor=0A=
    }));=0A=
  }=0A=
});=0A=
=0A=
Effect.ScrollTo =3D function(element) {=0A=
  var options =3D arguments[1] || { },=0A=
    scrollOffsets =3D document.viewport.getScrollOffsets(),=0A=
    elementOffsets =3D $(element).cumulativeOffset(),=0A=
    max =3D (window.height || document.body.scrollHeight) - =
document.viewport.getHeight();  =0A=
=0A=
  if (options.offset) elementOffsets[1] +=3D options.offset;=0A=
=0A=
  return new Effect.Tween(null,=0A=
    scrollOffsets.top,=0A=
    elementOffsets[1] > max ? max : elementOffsets[1],=0A=
    options,=0A=
    function(p){ scrollTo(scrollOffsets.left, p.round()) }=0A=
  );=0A=
};=0A=
=0A=
/* ------------- combination effects ------------- */=0A=
=0A=
Effect.Fade =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldOpacity =3D element.getInlineOpacity();=0A=
  var options =3D Object.extend({=0A=
    from: element.getOpacity() || 1.0,=0A=
    to:   0.0,=0A=
    afterFinishInternal: function(effect) { =0A=
      if (effect.options.to!=3D0) return;=0A=
      effect.element.hide().setStyle({opacity: oldOpacity}); =0A=
    }=0A=
  }, arguments[1] || { });=0A=
  return new Effect.Opacity(element,options);=0A=
};=0A=
=0A=
Effect.Appear =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
  from: (element.getStyle('display') =3D=3D 'none' ? 0.0 : =
element.getOpacity() || 0.0),=0A=
  to:   1.0,=0A=
  // force Safari to render floated elements properly=0A=
  afterFinishInternal: function(effect) {=0A=
    effect.element.forceRerendering();=0A=
  },=0A=
  beforeSetup: function(effect) {=0A=
    effect.element.setOpacity(effect.options.from).show(); =0A=
  }}, arguments[1] || { });=0A=
  return new Effect.Opacity(element,options);=0A=
};=0A=
=0A=
Effect.Puff =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldStyle =3D { =0A=
    opacity: element.getInlineOpacity(), =0A=
    position: element.getStyle('position'),=0A=
    top:  element.style.top,=0A=
    left: element.style.left,=0A=
    width: element.style.width,=0A=
    height: element.style.height=0A=
  };=0A=
  return new Effect.Parallel(=0A=
   [ new Effect.Scale(element, 200, =0A=
      { sync: true, scaleFromCenter: true, scaleContent: true, =
restoreAfterFinish: true }), =0A=
     new Effect.Opacity(element, { sync: true, to: 0.0 } ) ], =0A=
     Object.extend({ duration: 1.0, =0A=
      beforeSetupInternal: function(effect) {=0A=
        Position.absolutize(effect.effects[0].element)=0A=
      },=0A=
      afterFinishInternal: function(effect) {=0A=
         effect.effects[0].element.hide().setStyle(oldStyle); }=0A=
     }, arguments[1] || { })=0A=
   );=0A=
};=0A=
=0A=
Effect.BlindUp =3D function(element) {=0A=
  element =3D $(element);=0A=
  element.makeClipping();=0A=
  return new Effect.Scale(element, 0,=0A=
    Object.extend({ scaleContent: false, =0A=
      scaleX: false, =0A=
      restoreAfterFinish: true,=0A=
      afterFinishInternal: function(effect) {=0A=
        effect.element.hide().undoClipping();=0A=
      } =0A=
    }, arguments[1] || { })=0A=
  );=0A=
};=0A=
=0A=
Effect.BlindDown =3D function(element) {=0A=
  element =3D $(element);=0A=
  var elementDimensions =3D element.getDimensions();=0A=
  return new Effect.Scale(element, 100, Object.extend({ =0A=
    scaleContent: false, =0A=
    scaleX: false,=0A=
    scaleFrom: 0,=0A=
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: =
elementDimensions.width},=0A=
    restoreAfterFinish: true,=0A=
    afterSetup: function(effect) {=0A=
      effect.element.makeClipping().setStyle({height: '0px'}).show(); =0A=
    },  =0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.undoClipping();=0A=
    }=0A=
  }, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.SwitchOff =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldOpacity =3D element.getInlineOpacity();=0A=
  return new Effect.Appear(element, Object.extend({=0A=
    duration: 0.4,=0A=
    from: 0,=0A=
    transition: Effect.Transitions.flicker,=0A=
    afterFinishInternal: function(effect) {=0A=
      new Effect.Scale(effect.element, 1, { =0A=
        duration: 0.3, scaleFromCenter: true,=0A=
        scaleX: false, scaleContent: false, restoreAfterFinish: true,=0A=
        beforeSetup: function(effect) { =0A=
          effect.element.makePositioned().makeClipping();=0A=
        },=0A=
        afterFinishInternal: function(effect) {=0A=
          =
effect.element.hide().undoClipping().undoPositioned().setStyle({opacity: =
oldOpacity});=0A=
        }=0A=
      })=0A=
    }=0A=
  }, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.DropOut =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldStyle =3D {=0A=
    top: element.getStyle('top'),=0A=
    left: element.getStyle('left'),=0A=
    opacity: element.getInlineOpacity() };=0A=
  return new Effect.Parallel(=0A=
    [ new Effect.Move(element, {x: 0, y: 100, sync: true }), =0A=
      new Effect.Opacity(element, { sync: true, to: 0.0 }) ],=0A=
    Object.extend(=0A=
      { duration: 0.5,=0A=
        beforeSetup: function(effect) {=0A=
          effect.effects[0].element.makePositioned(); =0A=
        },=0A=
        afterFinishInternal: function(effect) {=0A=
          =
effect.effects[0].element.hide().undoPositioned().setStyle(oldStyle);=0A=
        } =0A=
      }, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.Shake =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
    distance: 20,=0A=
    duration: 0.5=0A=
  }, arguments[1] || {});=0A=
  var distance =3D parseFloat(options.distance);=0A=
  var split =3D parseFloat(options.duration) / 10.0;=0A=
  var oldStyle =3D {=0A=
    top: element.getStyle('top'),=0A=
    left: element.getStyle('left') };=0A=
    return new Effect.Move(element,=0A=
      { x:  distance, y: 0, duration: split, afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x: -distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x:  distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x: -distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x:  distance*2, y: 0, duration: split*2,  afterFinishInternal: =
function(effect) {=0A=
    new Effect.Move(effect.element,=0A=
      { x: -distance, y: 0, duration: split, afterFinishInternal: =
function(effect) {=0A=
        effect.element.undoPositioned().setStyle(oldStyle);=0A=
  }}) }}) }}) }}) }}) }});=0A=
};=0A=
=0A=
Effect.SlideDown =3D function(element) {=0A=
  element =3D $(element).cleanWhitespace();=0A=
  // SlideDown need to have the content of the element wrapped in a =
container element with fixed height!=0A=
  var oldInnerBottom =3D element.down().getStyle('bottom');=0A=
  var elementDimensions =3D element.getDimensions();=0A=
  return new Effect.Scale(element, 100, Object.extend({ =0A=
    scaleContent: false, =0A=
    scaleX: false, =0A=
    scaleFrom: window.opera ? 0 : 1,=0A=
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: =
elementDimensions.width},=0A=
    restoreAfterFinish: true,=0A=
    afterSetup: function(effect) {=0A=
      effect.element.makePositioned();=0A=
      effect.element.down().makePositioned();=0A=
      if (window.opera) effect.element.setStyle({top: ''});=0A=
      effect.element.makeClipping().setStyle({height: '0px'}).show(); =0A=
    },=0A=
    afterUpdateInternal: function(effect) {=0A=
      effect.element.down().setStyle({bottom:=0A=
        (effect.dims[0] - effect.element.clientHeight) + 'px' }); =0A=
    },=0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.undoClipping().undoPositioned();=0A=
      effect.element.down().undoPositioned().setStyle({bottom: =
oldInnerBottom}); }=0A=
    }, arguments[1] || { })=0A=
  );=0A=
};=0A=
=0A=
Effect.SlideUp =3D function(element) {=0A=
  element =3D $(element).cleanWhitespace();=0A=
  var oldInnerBottom =3D element.down().getStyle('bottom');=0A=
  var elementDimensions =3D element.getDimensions();=0A=
  return new Effect.Scale(element, window.opera ? 0 : 1,=0A=
   Object.extend({ scaleContent: false, =0A=
    scaleX: false, =0A=
    scaleMode: 'box',=0A=
    scaleFrom: 100,=0A=
    scaleMode: {originalHeight: elementDimensions.height, originalWidth: =
elementDimensions.width},=0A=
    restoreAfterFinish: true,=0A=
    afterSetup: function(effect) {=0A=
      effect.element.makePositioned();=0A=
      effect.element.down().makePositioned();=0A=
      if (window.opera) effect.element.setStyle({top: ''});=0A=
      effect.element.makeClipping().show();=0A=
    },  =0A=
    afterUpdateInternal: function(effect) {=0A=
      effect.element.down().setStyle({bottom:=0A=
        (effect.dims[0] - effect.element.clientHeight) + 'px' });=0A=
    },=0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.hide().undoClipping().undoPositioned();=0A=
      effect.element.down().undoPositioned().setStyle({bottom: =
oldInnerBottom});=0A=
    }=0A=
   }, arguments[1] || { })=0A=
  );=0A=
};=0A=
=0A=
// Bug in opera makes the TD containing this element expand for a =
instance after finish =0A=
Effect.Squish =3D function(element) {=0A=
  return new Effect.Scale(element, window.opera ? 1 : 0, { =0A=
    restoreAfterFinish: true,=0A=
    beforeSetup: function(effect) {=0A=
      effect.element.makeClipping(); =0A=
    },  =0A=
    afterFinishInternal: function(effect) {=0A=
      effect.element.hide().undoClipping(); =0A=
    }=0A=
  });=0A=
};=0A=
=0A=
Effect.Grow =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
    direction: 'center',=0A=
    moveTransition: Effect.Transitions.sinoidal,=0A=
    scaleTransition: Effect.Transitions.sinoidal,=0A=
    opacityTransition: Effect.Transitions.full=0A=
  }, arguments[1] || { });=0A=
  var oldStyle =3D {=0A=
    top: element.style.top,=0A=
    left: element.style.left,=0A=
    height: element.style.height,=0A=
    width: element.style.width,=0A=
    opacity: element.getInlineOpacity() };=0A=
=0A=
  var dims =3D element.getDimensions();    =0A=
  var initialMoveX, initialMoveY;=0A=
  var moveX, moveY;=0A=
  =0A=
  switch (options.direction) {=0A=
    case 'top-left':=0A=
      initialMoveX =3D initialMoveY =3D moveX =3D moveY =3D 0; =0A=
      break;=0A=
    case 'top-right':=0A=
      initialMoveX =3D dims.width;=0A=
      initialMoveY =3D moveY =3D 0;=0A=
      moveX =3D -dims.width;=0A=
      break;=0A=
    case 'bottom-left':=0A=
      initialMoveX =3D moveX =3D 0;=0A=
      initialMoveY =3D dims.height;=0A=
      moveY =3D -dims.height;=0A=
      break;=0A=
    case 'bottom-right':=0A=
      initialMoveX =3D dims.width;=0A=
      initialMoveY =3D dims.height;=0A=
      moveX =3D -dims.width;=0A=
      moveY =3D -dims.height;=0A=
      break;=0A=
    case 'center':=0A=
      initialMoveX =3D dims.width / 2;=0A=
      initialMoveY =3D dims.height / 2;=0A=
      moveX =3D -dims.width / 2;=0A=
      moveY =3D -dims.height / 2;=0A=
      break;=0A=
  }=0A=
  =0A=
  return new Effect.Move(element, {=0A=
    x: initialMoveX,=0A=
    y: initialMoveY,=0A=
    duration: 0.01, =0A=
    beforeSetup: function(effect) {=0A=
      effect.element.hide().makeClipping().makePositioned();=0A=
    },=0A=
    afterFinishInternal: function(effect) {=0A=
      new Effect.Parallel(=0A=
        [ new Effect.Opacity(effect.element, { sync: true, to: 1.0, =
from: 0.0, transition: options.opacityTransition }),=0A=
          new Effect.Move(effect.element, { x: moveX, y: moveY, sync: =
true, transition: options.moveTransition }),=0A=
          new Effect.Scale(effect.element, 100, {=0A=
            scaleMode: { originalHeight: dims.height, originalWidth: =
dims.width }, =0A=
            sync: true, scaleFrom: window.opera ? 1 : 0, transition: =
options.scaleTransition, restoreAfterFinish: true})=0A=
        ], Object.extend({=0A=
             beforeSetup: function(effect) {=0A=
               effect.effects[0].element.setStyle({height: =
'0px'}).show(); =0A=
             },=0A=
             afterFinishInternal: function(effect) {=0A=
               =
effect.effects[0].element.undoClipping().undoPositioned().setStyle(oldSty=
le); =0A=
             }=0A=
           }, options)=0A=
      )=0A=
    }=0A=
  });=0A=
};=0A=
=0A=
Effect.Shrink =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options =3D Object.extend({=0A=
    direction: 'center',=0A=
    moveTransition: Effect.Transitions.sinoidal,=0A=
    scaleTransition: Effect.Transitions.sinoidal,=0A=
    opacityTransition: Effect.Transitions.none=0A=
  }, arguments[1] || { });=0A=
  var oldStyle =3D {=0A=
    top: element.style.top,=0A=
    left: element.style.left,=0A=
    height: element.style.height,=0A=
    width: element.style.width,=0A=
    opacity: element.getInlineOpacity() };=0A=
=0A=
  var dims =3D element.getDimensions();=0A=
  var moveX, moveY;=0A=
  =0A=
  switch (options.direction) {=0A=
    case 'top-left':=0A=
      moveX =3D moveY =3D 0;=0A=
      break;=0A=
    case 'top-right':=0A=
      moveX =3D dims.width;=0A=
      moveY =3D 0;=0A=
      break;=0A=
    case 'bottom-left':=0A=
      moveX =3D 0;=0A=
      moveY =3D dims.height;=0A=
      break;=0A=
    case 'bottom-right':=0A=
      moveX =3D dims.width;=0A=
      moveY =3D dims.height;=0A=
      break;=0A=
    case 'center':  =0A=
      moveX =3D dims.width / 2;=0A=
      moveY =3D dims.height / 2;=0A=
      break;=0A=
  }=0A=
  =0A=
  return new Effect.Parallel(=0A=
    [ new Effect.Opacity(element, { sync: true, to: 0.0, from: 1.0, =
transition: options.opacityTransition }),=0A=
      new Effect.Scale(element, window.opera ? 1 : 0, { sync: true, =
transition: options.scaleTransition, restoreAfterFinish: true}),=0A=
      new Effect.Move(element, { x: moveX, y: moveY, sync: true, =
transition: options.moveTransition })=0A=
    ], Object.extend({            =0A=
         beforeStartInternal: function(effect) {=0A=
           effect.effects[0].element.makePositioned().makeClipping(); =0A=
         },=0A=
         afterFinishInternal: function(effect) {=0A=
           =
effect.effects[0].element.hide().undoClipping().undoPositioned().setStyle=
(oldStyle); }=0A=
       }, options)=0A=
  );=0A=
};=0A=
=0A=
Effect.Pulsate =3D function(element) {=0A=
  element =3D $(element);=0A=
  var options    =3D arguments[1] || { };=0A=
  var oldOpacity =3D element.getInlineOpacity();=0A=
  var transition =3D options.transition || Effect.Transitions.sinoidal;=0A=
  var reverser   =3D function(pos){ return =
transition(1-Effect.Transitions.pulse(pos, options.pulses)) };=0A=
  reverser.bind(transition);=0A=
  return new Effect.Opacity(element, =0A=
    Object.extend(Object.extend({  duration: 2.0, from: 0,=0A=
      afterFinishInternal: function(effect) { =
effect.element.setStyle({opacity: oldOpacity}); }=0A=
    }, options), {transition: reverser}));=0A=
};=0A=
=0A=
Effect.Fold =3D function(element) {=0A=
  element =3D $(element);=0A=
  var oldStyle =3D {=0A=
    top: element.style.top,=0A=
    left: element.style.left,=0A=
    width: element.style.width,=0A=
    height: element.style.height };=0A=
  element.makeClipping();=0A=
  return new Effect.Scale(element, 5, Object.extend({   =0A=
    scaleContent: false,=0A=
    scaleX: false,=0A=
    afterFinishInternal: function(effect) {=0A=
    new Effect.Scale(element, 1, { =0A=
      scaleContent: false, =0A=
      scaleY: false,=0A=
      afterFinishInternal: function(effect) {=0A=
        effect.element.hide().undoClipping().setStyle(oldStyle);=0A=
      } });=0A=
  }}, arguments[1] || { }));=0A=
};=0A=
=0A=
Effect.Morph =3D Class.create(Effect.Base, {=0A=
  initialize: function(element) {=0A=
    this.element =3D $(element);=0A=
    if (!this.element) throw(Effect._elementDoesNotExistError);=0A=
    var options =3D Object.extend({=0A=
      style: { }=0A=
    }, arguments[1] || { });=0A=
    =0A=
    if (!Object.isString(options.style)) this.style =3D =
$H(options.style);=0A=
    else {=0A=
      if (options.style.include(':'))=0A=
        this.style =3D options.style.parseStyle();=0A=
      else {=0A=
        this.element.addClassName(options.style);=0A=
        this.style =3D $H(this.element.getStyles());=0A=
        this.element.removeClassName(options.style);=0A=
        var css =3D this.element.getStyles();=0A=
        this.style =3D this.style.reject(function(style) {=0A=
          return style.value =3D=3D css[style.key];=0A=
        });=0A=
        options.afterFinishInternal =3D function(effect) {=0A=
          effect.element.addClassName(effect.options.style);=0A=
          effect.transforms.each(function(transform) {=0A=
            effect.element.style[transform.style] =3D '';=0A=
          });=0A=
        }=0A=
      }=0A=
    }=0A=
    this.start(options);=0A=
  },=0A=
  =0A=
  setup: function(){=0A=
    function parseColor(color){=0A=
      if (!color || ['rgba(0, 0, 0, 0)','transparent'].include(color)) =
color =3D '#ffffff';=0A=
      color =3D color.parseColor();=0A=
      return $R(0,2).map(function(i){=0A=
        return parseInt( color.slice(i*2+1,i*2+3), 16 ) =0A=
      });=0A=
    }=0A=
    this.transforms =3D this.style.map(function(pair){=0A=
      var property =3D pair[0], value =3D pair[1], unit =3D null;=0A=
=0A=
      if (value.parseColor('#zzzzzz') !=3D '#zzzzzz') {=0A=
        value =3D value.parseColor();=0A=
        unit  =3D 'color';=0A=
      } else if (property =3D=3D 'opacity') {=0A=
        value =3D parseFloat(value);=0A=
        if (Prototype.Browser.IE && =
(!this.element.currentStyle.hasLayout))=0A=
          this.element.setStyle({zoom: 1});=0A=
      } else if (Element.CSS_LENGTH.test(value)) {=0A=
          var components =3D value.match(/^([\+\-]?[0-9\.]+)(.*)$/);=0A=
          value =3D parseFloat(components[1]);=0A=
          unit =3D (components.length =3D=3D 3) ? components[2] : null;=0A=
      }=0A=
=0A=
      var originalValue =3D this.element.getStyle(property);=0A=
      return { =0A=
        style: property.camelize(), =0A=
        originalValue: unit=3D=3D'color' ? parseColor(originalValue) : =
parseFloat(originalValue || 0), =0A=
        targetValue: unit=3D=3D'color' ? parseColor(value) : value,=0A=
        unit: unit=0A=
      };=0A=
    }.bind(this)).reject(function(transform){=0A=
      return (=0A=
        (transform.originalValue =3D=3D transform.targetValue) ||=0A=
        (=0A=
          transform.unit !=3D 'color' &&=0A=
          (isNaN(transform.originalValue) || =
isNaN(transform.targetValue))=0A=
        )=0A=
      )=0A=
    });=0A=
  },=0A=
  update: function(position) {=0A=
    var style =3D { }, transform, i =3D this.transforms.length;=0A=
    while(i--)=0A=
      style[(transform =3D this.transforms[i]).style] =3D =0A=
        transform.unit=3D=3D'color' ? '#'+=0A=
          (Math.round(transform.originalValue[0]+=0A=
            =
(transform.targetValue[0]-transform.originalValue[0])*position)).toColorP=
art() +=0A=
          (Math.round(transform.originalValue[1]+=0A=
            =
(transform.targetValue[1]-transform.originalValue[1])*position)).toColorP=
art() +=0A=
          (Math.round(transform.originalValue[2]+=0A=
            =
(transform.targetValue[2]-transform.originalValue[2])*position)).toColorP=
art() :=0A=
        (transform.originalValue +=0A=
          (transform.targetValue - transform.originalValue) * =
position).toFixed(3) + =0A=
            (transform.unit =3D=3D=3D null ? '' : transform.unit);=0A=
    this.element.setStyle(style, true);=0A=
  }=0A=
});=0A=
=0A=
Effect.Transform =3D Class.create({=0A=
  initialize: function(tracks){=0A=
    this.tracks  =3D [];=0A=
    this.options =3D arguments[1] || { };=0A=
    this.addTracks(tracks);=0A=
  },=0A=
  addTracks: function(tracks){=0A=
    tracks.each(function(track){=0A=
      track =3D $H(track);=0A=
      var data =3D track.values().first();=0A=
      this.tracks.push($H({=0A=
        ids:     track.keys().first(),=0A=
        effect:  Effect.Morph,=0A=
        options: { style: data }=0A=
      }));=0A=
    }.bind(this));=0A=
    return this;=0A=
  },=0A=
  play: function(){=0A=
    return new Effect.Parallel(=0A=
      this.tracks.map(function(track){=0A=
        var ids =3D track.get('ids'), effect =3D track.get('effect'), =
options =3D track.get('options');=0A=
        var elements =3D [$(ids) || $$(ids)].flatten();=0A=
        return elements.map(function(e){ return new effect(e, =
Object.extend({ sync:true }, options)) });=0A=
      }).flatten(),=0A=
      this.options=0A=
    );=0A=
  }=0A=
});=0A=
=0A=
Element.CSS_PROPERTIES =3D $w(=0A=
  'backgroundColor backgroundPosition borderBottomColor =
borderBottomStyle ' + =0A=
  'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth ' +=0A=
  'borderRightColor borderRightStyle borderRightWidth borderSpacing ' +=0A=
  'borderTopColor borderTopStyle borderTopWidth bottom clip color ' +=0A=
  'fontSize fontWeight height left letterSpacing lineHeight ' +=0A=
  'marginBottom marginLeft marginRight marginTop markerOffset maxHeight =
'+=0A=
  'maxWidth minHeight minWidth opacity outlineColor outlineOffset ' +=0A=
  'outlineWidth paddingBottom paddingLeft paddingRight paddingTop ' +=0A=
  'right textIndent top width wordSpacing zIndex');=0A=
  =0A=
Element.CSS_LENGTH =3D =
/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;=0A=
=0A=
String.__parseStyleElement =3D document.createElement('div');=0A=
String.prototype.parseStyle =3D function(){=0A=
  var style, styleRules =3D $H();=0A=
  if (Prototype.Browser.WebKit)=0A=
    style =3D new Element('div',{style:this}).style;=0A=
  else {=0A=
    String.__parseStyleElement.innerHTML =3D '<div style=3D"' + this + =
'"></div>';=0A=
    style =3D String.__parseStyleElement.childNodes[0].style;=0A=
  }=0A=
  =0A=
  Element.CSS_PROPERTIES.each(function(property){=0A=
    if (style[property]) styleRules.set(property, style[property]); =0A=
  });=0A=
  =0A=
  if (Prototype.Browser.IE && this.include('opacity'))=0A=
    styleRules.set('opacity', =
this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]);=0A=
=0A=
  return styleRules;=0A=
};=0A=
=0A=
if (document.defaultView && document.defaultView.getComputedStyle) {=0A=
  Element.getStyles =3D function(element) {=0A=
    var css =3D document.defaultView.getComputedStyle($(element), null);=0A=
    return Element.CSS_PROPERTIES.inject({ }, function(styles, property) =
{=0A=
      styles[property] =3D css[property];=0A=
      return styles;=0A=
    });=0A=
  };=0A=
} else {=0A=
  Element.getStyles =3D function(element) {=0A=
    element =3D $(element);=0A=
    var css =3D element.currentStyle, styles;=0A=
    styles =3D Element.CSS_PROPERTIES.inject({ }, function(hash, =
property) {=0A=
      hash.set(property, css[property]);=0A=
      return hash;=0A=
    });=0A=
    if (!styles.opacity) styles.set('opacity', element.getOpacity());=0A=
    return styles;=0A=
  };=0A=
};=0A=
=0A=
Effect.Methods =3D {=0A=
  morph: function(element, style) {=0A=
    element =3D $(element);=0A=
    new Effect.Morph(element, Object.extend({ style: style }, =
arguments[2] || { }));=0A=
    return element;=0A=
  },=0A=
  visualEffect: function(element, effect, options) {=0A=
    element =3D $(element)=0A=
    var s =3D effect.dasherize().camelize(), klass =3D =
s.charAt(0).toUpperCase() + s.substring(1);=0A=
    new Effect[klass](element, options);=0A=
    return element;=0A=
  },=0A=
  highlight: function(element, options) {=0A=
    element =3D $(element);=0A=
    new Effect.Highlight(element, options);=0A=
    return element;=0A=
  }=0A=
};=0A=
=0A=
$w('fade appear grow shrink fold blindUp blindDown slideUp slideDown '+=0A=
  'pulsate shake puff squish switchOff dropOut').each(=0A=
  function(effect) { =0A=
    Effect.Methods[effect] =3D function(element, options){=0A=
      element =3D $(element);=0A=
      Effect[effect.charAt(0).toUpperCase() + =
effect.substring(1)](element, options);=0A=
      return element;=0A=
    }=0A=
  }=0A=
);=0A=
=0A=
$w('getInlineOpacity forceRerendering setContentZoom collectTextNodes =
collectTextNodesIgnoreClass getStyles').each( =0A=
  function(f) { Effect.Methods[f] =3D Element[f]; }=0A=
);=0A=
=0A=
Element.addMethods(Effect.Methods);=0A=

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/plugins/lightbox-2/lightbox.js?ver=2.2

// =
-------------------------------------------------------------------------=
----------=0A=
//=0A=
//	Lightbox v2.02=0A=
//	by Lokesh Dhakar - http://www.huddletogether.com=0A=
//	3/31/06=0A=
//=0A=
//	For more information on this script, visit:=0A=
//	http://huddletogether.com/projects/lightbox2/=0A=
//=0A=
//	Licensed under the Creative Commons Attribution 2.5 License - =
http://creativecommons.org/licenses/by/2.5/=0A=
//	=0A=
//	Credit also due to those who have helped, inspired, and made their =
code available to the public.=0A=
//	Including: Scott Upton(uptonic.com), Peter-Paul Koch(quirksmode.org), =
Thomas Fuchs(mir.aculo.us), and others.=0A=
//=0A=
//=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
/*=0A=
=0A=
	Table of Contents=0A=
	-----------------=0A=
	Configuration=0A=
	Global Variables=0A=
=0A=
	Extending Built-in Objects	=0A=
	- Object.extend(Element)=0A=
	- Array.prototype.removeDuplicates()=0A=
	- Array.prototype.empty()=0A=
=0A=
	Lightbox Class Declaration=0A=
	- initialize()=0A=
	- start()=0A=
	- changeImage()=0A=
	- resizeImageContainer()=0A=
	- showImage()=0A=
	- updateDetails()=0A=
	- updateNav()=0A=
	- enableKeyboardNav()=0A=
	- disableKeyboardNav()=0A=
	- keyboardAction()=0A=
	- preloadNeighborImages()=0A=
	- end()=0A=
	=0A=
	Miscellaneous Functions=0A=
	- getPageScroll()=0A=
	- getPageSize()=0A=
	- getKey()=0A=
	- listenKey()=0A=
	- showSelectBoxes()=0A=
	- hideSelectBoxes()=0A=
	- pause()=0A=
	- initLightbox()=0A=
	=0A=
	Function Calls=0A=
	- addLoadEvent(initLightbox)=0A=
	=0A=
*/=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
=0A=
//=0A=
//	Configuration=0A=
//=0A=
//var fileLoadingImage =3D "images/loading.gif";		=0A=
//var fileBottomNavCloseImage =3D "images/closelabel.gif";=0A=
=0A=
var resizeSpeed =3D 8;	// controls the speed of the image resizing =
(1=3Dslowest and 10=3Dfastest)=0A=
=0A=
var borderSize =3D 10;	//if you adjust the padding in the CSS, you will =
need to update this variable=0A=
=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
=0A=
//=0A=
//	Global Variables=0A=
//=0A=
var imageArray =3D new Array;=0A=
var activeImage;=0A=
=0A=
if(resizeSpeed > 10){ resizeSpeed =3D 10;}=0A=
if(resizeSpeed < 1){ resizeSpeed =3D 1;}=0A=
resizeDuration =3D (11 - resizeSpeed) * 0.15;=0A=
=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
=0A=
//=0A=
//	Additional methods for Element added by SU, Couloir=0A=
//	- further additions by Lokesh Dhakar (huddletogether.com)=0A=
//=0A=
Object.extend(Element, {=0A=
	getWidth: function(element) {=0A=
	   	element =3D $(element);=0A=
	   	return element.offsetWidth; =0A=
	},=0A=
	setWidth: function(element,w) {=0A=
	   	element =3D $(element);=0A=
    	element.style.width =3D w +"px";=0A=
	},=0A=
	setHeight: function(element,h) {=0A=
   		element =3D $(element);=0A=
    	element.style.height =3D h +"px";=0A=
	},=0A=
	setTop: function(element,t) {=0A=
	   	element =3D $(element);=0A=
    	element.style.top =3D t +"px";=0A=
	},=0A=
	setSrc: function(element,src) {=0A=
    	element =3D $(element);=0A=
    	element.src =3D src; =0A=
	},=0A=
	setHref: function(element,href) {=0A=
    	element =3D $(element);=0A=
    	element.href =3D href; =0A=
	},=0A=
	setInnerHTML: function(element,content) {=0A=
		element =3D $(element);=0A=
		element.innerHTML =3D content;=0A=
	}=0A=
});=0A=
=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
=0A=
//=0A=
//	Extending built-in Array object=0A=
//	- array.removeDuplicates()=0A=
//	- array.empty()=0A=
//=0A=
Array.prototype.removeDuplicates =3D function () {=0A=
	for(i =3D 1; i < this.length; i++){=0A=
		if(this[i][0] =3D=3D this[i-1][0]){=0A=
			this.splice(i,1);=0A=
		}=0A=
	}=0A=
}=0A=
=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
=0A=
Array.prototype.empty =3D function () {=0A=
	for(i =3D 0; i <=3D this.length; i++){=0A=
		this.shift();=0A=
	}=0A=
}=0A=
=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
=0A=
//=0A=
//	Lightbox Class Declaration=0A=
//	- initialize()=0A=
//	- start()=0A=
//	- changeImage()=0A=
//	- resizeImageContainer()=0A=
//	- showImage()=0A=
//	- updateDetails()=0A=
//	- updateNav()=0A=
//	- enableKeyboardNav()=0A=
//	- disableKeyboardNav()=0A=
//	- keyboardNavAction()=0A=
//	- preloadNeighborImages()=0A=
//	- end()=0A=
//=0A=
//	Structuring of code inspired by Scott Upton (http://www.uptonic.com/)=0A=
//=0A=
var Lightbox =3D Class.create();=0A=
=0A=
Lightbox.prototype =3D {=0A=
	=0A=
	// initialize()=0A=
	// Constructor runs on completion of the DOM loading. Loops through =
anchor tags looking for =0A=
	// 'lightbox' references and applies onclick events to appropriate =
links. The 2nd section of=0A=
	// the function inserts html at the bottom of the page which is used to =
display the shadow =0A=
	// overlay and the image container.=0A=
	//=0A=
	initialize: function() {	=0A=
		if (!document.getElementsByTagName){ return; }=0A=
		var anchors =3D document.getElementsByTagName('a');=0A=
=0A=
		// loop through all anchor tags=0A=
		for (var i=3D0; i<anchors.length; i++){=0A=
			var anchor =3D anchors[i];=0A=
			=0A=
			var relAttribute =3D String(anchor.getAttribute('rel'));=0A=
			=0A=
			// use the string.match() method to catch 'lightbox' references in =
the rel attribute=0A=
			if (anchor.getAttribute('href') && =
(relAttribute.toLowerCase().match('lightbox'))){=0A=
				anchor.onclick =3D function () {myLightbox.start(this); return =
false;}=0A=
			}=0A=
		}=0A=
=0A=
		// The rest of this code inserts html at the bottom of the page that =
looks similar to this:=0A=
		//=0A=
		//	<div id=3D"overlay"></div>=0A=
		//	<div id=3D"lightbox">=0A=
		//		<div id=3D"outerImageContainer">=0A=
		//			<div id=3D"imageContainer">=0A=
		//				<img id=3D"lightboxImage">=0A=
		//				<div style=3D"" id=3D"hoverNav">=0A=
		//					<a href=3D"#" id=3D"prevLink"></a>=0A=
		//					<a href=3D"#" id=3D"nextLink"></a>=0A=
		//				</div>=0A=
		//				<div id=3D"loading">=0A=
		//					<a href=3D"#" id=3D"loadingLink">=0A=
		//						<img src=3D"images/loading.gif">=0A=
		//					</a>=0A=
		//				</div>=0A=
		//			</div>=0A=
		//		</div>=0A=
		//		<div id=3D"imageDataContainer">=0A=
		//			<div id=3D"imageData">=0A=
		//				<div id=3D"imageDetails">=0A=
		//					<span id=3D"caption"></span>=0A=
		//					<span id=3D"numberDisplay"></span>=0A=
		//				</div>=0A=
		//				<div id=3D"bottomNav">=0A=
		//					<a href=3D"#" id=3D"bottomNavClose">=0A=
		//						<img src=3D"images/close.gif">=0A=
		//					</a>=0A=
		//				</div>=0A=
		//			</div>=0A=
		//		</div>=0A=
		//	</div>=0A=
=0A=
=0A=
		var objBody =3D document.getElementsByTagName("body").item(0);=0A=
		=0A=
		var objOverlay =3D document.createElement("div");=0A=
		objOverlay.setAttribute('id','stimuli_overlay');=0A=
		objOverlay.style.display =3D 'none';=0A=
		objOverlay.onclick =3D function() { myLightbox.end(); return false; }=0A=
		objBody.appendChild(objOverlay);=0A=
		=0A=
		var objLightbox =3D document.createElement("div");=0A=
		objLightbox.setAttribute('id','stimuli_lightbox');=0A=
		objLightbox.style.display =3D 'none';=0A=
		objLightbox.onclick =3D function(e) {	// close Lightbox is user clicks =
shadow overlay=0A=
			if (!e) var e =3D window.event;=0A=
			var clickObj =3D Event.element(e).id;=0A=
			if ( clickObj =3D=3D 'stimuli_lightbox') {=0A=
				myLightbox.end();=0A=
			}=0A=
		};=0A=
		objBody.appendChild(objLightbox);=0A=
	=0A=
		var objOuterImageContainer =3D document.createElement("div");=0A=
		=
objOuterImageContainer.setAttribute('id','stimuli_outerImageContainer');=0A=
		objLightbox.appendChild(objOuterImageContainer);=0A=
=0A=
		var objImageContainer =3D document.createElement("div");=0A=
		objImageContainer.setAttribute('id','stimuli_imageContainer');=0A=
		objOuterImageContainer.appendChild(objImageContainer);=0A=
	=0A=
		var objLightboxImage =3D document.createElement("img");=0A=
		objLightboxImage.setAttribute('id','stimuli_lightboxImage');=0A=
		objImageContainer.appendChild(objLightboxImage);=0A=
	=0A=
		var objHoverNav =3D document.createElement("div");=0A=
		objHoverNav.setAttribute('id','stimuli_hoverNav');=0A=
		objImageContainer.appendChild(objHoverNav);=0A=
	=0A=
		var objPrevLink =3D document.createElement("a");=0A=
		objPrevLink.setAttribute('id','stimuli_prevLink');=0A=
		objPrevLink.setAttribute('href','#');=0A=
		objHoverNav.appendChild(objPrevLink);=0A=
		=0A=
		var objNextLink =3D document.createElement("a");=0A=
		objNextLink.setAttribute('id','stimuli_nextLink');=0A=
		objNextLink.setAttribute('href','#');=0A=
		objHoverNav.appendChild(objNextLink);=0A=
	=0A=
		var objLoading =3D document.createElement("div");=0A=
		objLoading.setAttribute('id','stimuli_loading');=0A=
		objImageContainer.appendChild(objLoading);=0A=
	=0A=
		var objLoadingLink =3D document.createElement("a");=0A=
		objLoadingLink.setAttribute('id','stimuli_loadingLink');=0A=
		objLoadingLink.setAttribute('href','#');=0A=
		objLoadingLink.onclick =3D function() { myLightbox.end(); return =
false; }=0A=
		objLoading.appendChild(objLoadingLink);=0A=
	=0A=
		//var objLoadingImage =3D document.createElement("img");=0A=
		//objLoadingImage.setAttribute('src', fileLoadingImage);=0A=
		//objLoadingLink.appendChild(objLoadingImage);=0A=
=0A=
		var objImageDataContainer =3D document.createElement("div");=0A=
		objImageDataContainer.setAttribute('id','stimuli_imageDataContainer');=0A=
		objImageDataContainer.className =3D 'clearfix';=0A=
		objLightbox.appendChild(objImageDataContainer);=0A=
=0A=
		var objImageData =3D document.createElement("div");=0A=
		objImageData.setAttribute('id','stimuli_imageData');=0A=
		objImageDataContainer.appendChild(objImageData);=0A=
	=0A=
		var objImageDetails =3D document.createElement("div");=0A=
		objImageDetails.setAttribute('id','stimuli_imageDetails');=0A=
		objImageData.appendChild(objImageDetails);=0A=
	=0A=
		var objCaption =3D document.createElement("span");=0A=
		objCaption.setAttribute('id','stimuli_caption');=0A=
		objImageDetails.appendChild(objCaption);=0A=
	=0A=
		var objNumberDisplay =3D document.createElement("span");=0A=
		objNumberDisplay.setAttribute('id','stimuli_numberDisplay');=0A=
		objImageDetails.appendChild(objNumberDisplay);=0A=
		=0A=
		var objBottomNav =3D document.createElement("div");=0A=
		objBottomNav.setAttribute('id','stimuli_bottomNav');=0A=
		objImageData.appendChild(objBottomNav);=0A=
	=0A=
		var objBottomNavCloseLink =3D document.createElement("a");=0A=
		objBottomNavCloseLink.setAttribute('id','stimuli_bottomNavClose');=0A=
		objBottomNavCloseLink.setAttribute('href','#');=0A=
		objBottomNavCloseLink.onclick =3D function() { myLightbox.end(); =
return false; }=0A=
		objBottomNav.appendChild(objBottomNavCloseLink);=0A=
	=0A=
		//var objBottomNavCloseImage =3D document.createElement("img");=0A=
		//objBottomNavCloseImage.setAttribute('src', fileBottomNavCloseImage);=0A=
		//objBottomNavCloseLink.appendChild(objBottomNavCloseImage);=0A=
	},=0A=
	=0A=
	//=0A=
	//	start()=0A=
	//	Display overlay and lightbox. If image is part of a set, add =
siblings to imageArray.=0A=
	//=0A=
	start: function(imageLink) {	=0A=
=0A=
		hideSelectBoxes();=0A=
		var stimuli_image_title =3D 'title';=0A=
=0A=
		// stretch overlay to fill page and fade in=0A=
		var arrayPageSize =3D getPageSize();=0A=
		Element.setHeight('stimuli_overlay', arrayPageSize[1]);=0A=
		new Effect.Appear('stimuli_overlay', { duration: 0.2, from: 0.0, to: =
0.8 });=0A=
=0A=
		imageArray =3D [];=0A=
		imageNum =3D 0;		=0A=
=0A=
		if (!document.getElementsByTagName){ return; }=0A=
		var anchors =3D document.getElementsByTagName('a');=0A=
=0A=
		// if image is NOT part of a set..=0A=
		if((imageLink.getAttribute('rel') =3D=3D 'lightbox')){=0A=
			// check for title-less links, and grab image title if needed=0A=
			stimuli_image_title =3D "";=0A=
			stimuli_image_title =3D imageLink.getAttribute('title');=0A=
			if (!(stimuli_image_title)) {=0A=
				stimuli_image_title =3D =
imageLink.childNodes[0].getAttribute('title');=0A=
			}=0A=
			if (!(stimuli_image_title)) {=0A=
				stimuli_image_title =3D imageLink.childNodes[0].getAttribute('alt');=0A=
			}=0A=
			// add single image to imageArray=0A=
			imageArray.push(new Array(imageLink.getAttribute('href'), =
stimuli_image_title));			=0A=
		} else {=0A=
		// if image is part of a set..=0A=
=0A=
			// loop through anchors, find other images in set, and add them to =
imageArray=0A=
			for (var i=3D0; i<anchors.length; i++){=0A=
				var anchor =3D anchors[i];=0A=
				if (anchor.getAttribute('href') && (anchor.getAttribute('rel') =
=3D=3D imageLink.getAttribute('rel'))){=0A=
					// check for title-less links, and grab image title if needed=0A=
					stimuli_image_title =3D "";=0A=
					stimuli_image_title =3D anchor.getAttribute('title');=0A=
					if (!(stimuli_image_title)) {=0A=
						stimuli_image_title =3D anchor.childNodes[0].getAttribute('title');=0A=
					}=0A=
					if (!(stimuli_image_title)) {=0A=
						stimuli_image_title =3D anchor.childNodes[0].getAttribute('alt');=0A=
					}=0A=
					imageArray.push(new Array(anchor.getAttribute('href'), =
stimuli_image_title));=0A=
				}=0A=
			}=0A=
			imageArray.removeDuplicates();=0A=
			while(imageArray[imageNum][0] !=3D imageLink.getAttribute('href')) { =
imageNum++;}=0A=
		}=0A=
=0A=
		// calculate top offset for the lightbox and display =0A=
		var arrayPageSize =3D getPageSize();=0A=
		var arrayPageScroll =3D getPageScroll();=0A=
		var lightboxTop =3D arrayPageScroll[1] + (arrayPageSize[3] / 15);=0A=
=0A=
		Element.setTop('stimuli_lightbox', lightboxTop);=0A=
		Element.show('stimuli_lightbox');=0A=
		=0A=
		this.changeImage(imageNum);=0A=
	},=0A=
=0A=
	//=0A=
	//	changeImage()=0A=
	//	Hide most elements and preload image in preparation for resizing =
image container.=0A=
	//=0A=
	changeImage: function(imageNum) {	=0A=
		=0A=
		activeImage =3D imageNum;	// update global var=0A=
=0A=
		// hide elements during transition=0A=
		Element.show('stimuli_loading');=0A=
		Element.hide('stimuli_lightboxImage');=0A=
		Element.hide('stimuli_hoverNav');=0A=
		Element.hide('stimuli_prevLink');=0A=
		Element.hide('stimuli_nextLink');=0A=
		Element.hide('stimuli_imageDataContainer');=0A=
		Element.hide('stimuli_numberDisplay');		=0A=
		=0A=
		imgPreloader =3D new Image();=0A=
		=0A=
		// once image is preloaded, resize image container=0A=
		imgPreloader.onload=3Dfunction(){=0A=
			Element.setSrc('stimuli_lightboxImage', imageArray[activeImage][0]);=0A=
			myLightbox.resizeImageContainer(imgPreloader.width, =
imgPreloader.height);=0A=
		}=0A=
		imgPreloader.src =3D imageArray[activeImage][0];=0A=
	},=0A=
=0A=
	//=0A=
	//	resizeImageContainer()=0A=
	//=0A=
	resizeImageContainer: function( imgWidth, imgHeight) {=0A=
=0A=
		// get current height and width=0A=
		this.wCur =3D Element.getWidth('stimuli_outerImageContainer');=0A=
		this.hCur =3D Element.getHeight('stimuli_outerImageContainer');=0A=
=0A=
		// scalars based on change from old to new=0A=
		this.xScale =3D ((imgWidth  + (borderSize * 2)) / this.wCur) * 100;=0A=
		this.yScale =3D ((imgHeight  + (borderSize * 2)) / this.hCur) * 100;=0A=
=0A=
		// calculate size difference between new and old image, and resize if =
necessary=0A=
		wDiff =3D (this.wCur - borderSize * 2) - imgWidth;=0A=
		hDiff =3D (this.hCur - borderSize * 2) - imgHeight;=0A=
=0A=
		if(!( hDiff =3D=3D 0)){ new =
Effect.Scale('stimuli_outerImageContainer', this.yScale, {scaleX: false, =
duration: resizeDuration, queue: 'front'}); }=0A=
		if(!( wDiff =3D=3D 0)){ new =
Effect.Scale('stimuli_outerImageContainer', this.xScale, {scaleY: false, =
delay: resizeDuration, duration: resizeDuration}); }=0A=
=0A=
		// if new and old image are same size and no scaling transition is =
necessary, =0A=
		// do a quick pause to prevent image flicker.=0A=
		if((hDiff =3D=3D 0) && (wDiff =3D=3D 0)){=0A=
			if (navigator.appVersion.indexOf("MSIE")!=3D-1){ pause(250); } else { =
pause(100);} =0A=
		}=0A=
=0A=
		Element.setHeight('stimuli_prevLink', imgHeight);=0A=
		Element.setHeight('stimuli_nextLink', imgHeight);=0A=
		Element.setWidth( 'stimuli_imageDataContainer', imgWidth + (borderSize =
* 2));=0A=
=0A=
		this.showImage();=0A=
	},=0A=
	=0A=
	//=0A=
	//	showImage()=0A=
	//	Display image and begin preloading neighbors.=0A=
	//=0A=
	showImage: function(){=0A=
		Element.hide('stimuli_loading');=0A=
		new Effect.Appear('stimuli_lightboxImage', { duration: 0.5, queue: =
'end', afterFinish: function(){	myLightbox.updateDetails(); } });=0A=
		this.preloadNeighborImages();=0A=
	},=0A=
=0A=
	//=0A=
	//	updateDetails()=0A=
	//	Display caption, image number, and bottom nav.=0A=
	//=0A=
	updateDetails: function() {=0A=
	=0A=
		Element.show('stimuli_caption');=0A=
		Element.setInnerHTML( 'stimuli_caption', imageArray[activeImage][1]);=0A=
		=0A=
		// if image is part of set display 'Image x of x' =0A=
		if(imageArray.length > 1){=0A=
			Element.show('stimuli_numberDisplay');=0A=
			Element.setInnerHTML( 'stimuli_numberDisplay', "Image " + =
eval(activeImage + 1) + " of " + imageArray.length);=0A=
		}=0A=
=0A=
		new Effect.Parallel(=0A=
			[ new Effect.SlideDown( 'stimuli_imageDataContainer', { sync: true, =
duration: resizeDuration + 0.25, from: 0.0, to: 1.0 }), =0A=
			  new Effect.Appear('stimuli_imageDataContainer', { sync: true, =
duration: 1.0 }) ], =0A=
			{ duration: 0.65, afterFinish: function() { myLightbox.updateNav();} =
} =0A=
		);=0A=
	},=0A=
=0A=
	//=0A=
	//	updateNav()=0A=
	//	Display appropriate previous and next hover navigation.=0A=
	//=0A=
	updateNav: function() {=0A=
=0A=
		Element.show('stimuli_hoverNav');				=0A=
=0A=
		// if not first image in set, display prev image button=0A=
		if(activeImage !=3D 0){=0A=
			Element.show('stimuli_prevLink');=0A=
			document.getElementById('stimuli_prevLink').onclick =3D function() {=0A=
				myLightbox.changeImage(activeImage - 1); return false;=0A=
			}=0A=
		}=0A=
=0A=
		// if not last image in set, display next image button=0A=
		if(activeImage !=3D (imageArray.length - 1)){=0A=
			Element.show('stimuli_nextLink');=0A=
			document.getElementById('stimuli_nextLink').onclick =3D function() {=0A=
				myLightbox.changeImage(activeImage + 1); return false;=0A=
			}=0A=
		}=0A=
		=0A=
		this.enableKeyboardNav();=0A=
	},=0A=
=0A=
	//=0A=
	//	enableKeyboardNav()=0A=
	//=0A=
	enableKeyboardNav: function() {=0A=
		document.onkeydown =3D this.keyboardAction; =0A=
	},=0A=
=0A=
	//=0A=
	//	disableKeyboardNav()=0A=
	//=0A=
	disableKeyboardNav: function() {=0A=
		document.onkeydown =3D '';=0A=
	},=0A=
=0A=
	//=0A=
	//	keyboardAction()=0A=
	//=0A=
	keyboardAction: function(e) {=0A=
		if (e =3D=3D null) { // ie=0A=
			keycode =3D event.keyCode;=0A=
		} else { // mozilla=0A=
			keycode =3D e.which;=0A=
		}=0A=
=0A=
		key =3D String.fromCharCode(keycode).toLowerCase();=0A=
		// 27 =3D esc, 37 =3D left arrow, 39 =3D right arow=0A=
		if((keycode =3D=3D 27) || (key =3D=3D 'x') || (key =3D=3D 'o') || (key =
=3D=3D 'c')){	// close lightbox=0A=
			myLightbox.end();=0A=
		} else if((keycode =3D=3D 37) || (key =3D=3D 'p')){	// display =
previous image=0A=
			if(activeImage !=3D 0){=0A=
				myLightbox.disableKeyboardNav();=0A=
				myLightbox.changeImage(activeImage - 1);=0A=
			}=0A=
		} else if((keycode =3D=3D 39) || (key =3D=3D 'n')){	// display next =
image=0A=
			if(activeImage !=3D (imageArray.length - 1)){=0A=
				myLightbox.disableKeyboardNav();=0A=
				myLightbox.changeImage(activeImage + 1);=0A=
			}=0A=
		}=0A=
	},=0A=
=0A=
	//=0A=
	//	preloadNeighborImages()=0A=
	//	Preload previous and next images.=0A=
	//=0A=
	preloadNeighborImages: function(){=0A=
=0A=
		if((imageArray.length - 1) > activeImage){=0A=
			preloadNextImage =3D new Image();=0A=
			preloadNextImage.src =3D imageArray[activeImage + 1][0];=0A=
		}=0A=
		if(activeImage > 0){=0A=
			preloadPrevImage =3D new Image();=0A=
			preloadPrevImage.src =3D imageArray[activeImage - 1][0];=0A=
		}=0A=
	=0A=
	},=0A=
=0A=
	//=0A=
	//	end()=0A=
	//=0A=
	end: function() {=0A=
		this.disableKeyboardNav();=0A=
		Element.hide('stimuli_lightbox');=0A=
		new Effect.Fade('stimuli_overlay', { duration: 0.2});=0A=
		showSelectBoxes();=0A=
	}=0A=
}=0A=
=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
=0A=
//=0A=
// getPageScroll()=0A=
// Returns array with x,y page scroll values.=0A=
// Core code from - quirksmode.org=0A=
//=0A=
function getPageScroll(){=0A=
=0A=
	var yScroll;=0A=
=0A=
	if (self.pageYOffset) {=0A=
		yScroll =3D self.pageYOffset;=0A=
	} else if (document.documentElement && =
document.documentElement.scrollTop){	 // Explorer 6 Strict=0A=
		yScroll =3D document.documentElement.scrollTop;=0A=
	} else if (document.body) {// all other Explorers=0A=
		yScroll =3D document.body.scrollTop;=0A=
	}=0A=
=0A=
	arrayPageScroll =3D new Array('',yScroll) =0A=
	return arrayPageScroll;=0A=
}=0A=
=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
=0A=
//=0A=
// getPageSize()=0A=
// Returns array with page width, height and window width, height=0A=
// Core code from - quirksmode.org=0A=
// Edit for Firefox by pHaez=0A=
//=0A=
function getPageSize(){=0A=
	=0A=
	var xScroll, yScroll;=0A=
	=0A=
	if (window.innerHeight && window.scrollMaxY) {	=0A=
		xScroll =3D document.body.scrollWidth;=0A=
		yScroll =3D window.innerHeight + window.scrollMaxY;=0A=
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // =
all but Explorer Mac=0A=
		xScroll =3D document.body.scrollWidth;=0A=
		yScroll =3D document.body.scrollHeight;=0A=
	} else { // Explorer Mac...would also work in Explorer 6 Strict, =
Mozilla and Safari=0A=
		xScroll =3D document.body.offsetWidth;=0A=
		yScroll =3D document.body.offsetHeight;=0A=
	}=0A=
	=0A=
	var windowWidth, windowHeight;=0A=
	if (self.innerHeight) {	// all except Explorer=0A=
		windowWidth =3D self.innerWidth;=0A=
		windowHeight =3D self.innerHeight;=0A=
	} else if (document.documentElement && =
document.documentElement.clientHeight) { // Explorer 6 Strict Mode=0A=
		windowWidth =3D document.documentElement.clientWidth;=0A=
		windowHeight =3D document.documentElement.clientHeight;=0A=
	} else if (document.body) { // other Explorers=0A=
		windowWidth =3D document.body.clientWidth;=0A=
		windowHeight =3D document.body.clientHeight;=0A=
	}	=0A=
	=0A=
	// for small pages with total height less then height of the viewport=0A=
	if(yScroll < windowHeight){=0A=
		pageHeight =3D windowHeight;=0A=
	} else { =0A=
		pageHeight =3D yScroll;=0A=
	}=0A=
=0A=
	// for small pages with total width less then width of the viewport=0A=
	if(xScroll < windowWidth){	=0A=
		pageWidth =3D windowWidth;=0A=
	} else {=0A=
		pageWidth =3D xScroll;=0A=
	}=0A=
=0A=
=0A=
	arrayPageSize =3D new =
Array(pageWidth,pageHeight,windowWidth,windowHeight) =0A=
	return arrayPageSize;=0A=
}=0A=
=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
=0A=
//=0A=
// getKey(key)=0A=
// Gets keycode. If 'x' is pressed then it hides the lightbox.=0A=
//=0A=
function getKey(e){=0A=
	if (e =3D=3D null) { // ie=0A=
		keycode =3D event.keyCode;=0A=
	} else { // mozilla=0A=
		keycode =3D e.which;=0A=
	}=0A=
	key =3D String.fromCharCode(keycode).toLowerCase();=0A=
	=0A=
	if(key =3D=3D 'x'){=0A=
	}=0A=
}=0A=
=0A=
// =
-------------------------------------------------------------------------=
----------=0A=
=0A=
//=0A=
// listenKey()=0A=
//=0A=
function listenKey () {	document.onkeypress =3D getKey; }=0A=
	=0A=
// ---------------------------------------------------=0A=
=0A=
function showSelectBoxes(){=0A=
	selects =3D document.getElementsByTagName("select");=0A=
	for (i =3D 0; i !=3D selects.length; i++) {=0A=
		selects[i].style.visibility =3D "visible";=0A=
	}=0A=
}=0A=
=0A=
// ---------------------------------------------------=0A=
=0A=
function hideSelectBoxes(){=0A=
	selects =3D document.getElementsByTagName("select");=0A=
	for (i =3D 0; i !=3D selects.length; i++) {=0A=
		selects[i].style.visibility =3D "hidden";=0A=
	}=0A=
}=0A=
=0A=
// ---------------------------------------------------=0A=
=0A=
//=0A=
// pause(numberMillis)=0A=
// Pauses code execution for specified time. Uses busy code, not good.=0A=
// Code from http://www.faqts.com/knowledge_base/view.phtml/aid/1602=0A=
//=0A=
function pause(numberMillis) {=0A=
	var now =3D new Date();=0A=
	var exitTime =3D now.getTime() + numberMillis;=0A=
	while (true) {=0A=
		now =3D new Date();=0A=
		if (now.getTime() > exitTime)=0A=
			return;=0A=
	}=0A=
}=0A=
=0A=
// ---------------------------------------------------=0A=
=0A=
=0A=
=0A=
function initLightbox() { myLightbox =3D new Lightbox(); }=0A=
Event.observe(window, 'load', initLightbox, false);
------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/plugins/nextgen-gallery/admin/js/swfobject.js?ver=2.1

/* SWFObject v2.1 <http://code.google.com/p/swfobject/>=0A=
	Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van =
der Sluis=0A=
	This software is released under the MIT License =
<http://www.opensource.org/licenses/mit-license.php>=0A=
*/=0A=
var swfobject=3Dfunction(){var =
b=3D"undefined",Q=3D"object",n=3D"Shockwave =
Flash",p=3D"ShockwaveFlash.ShockwaveFlash",P=3D"application/x-shockwave-f=
lash",m=3D"SWFObjectExprInst",j=3Dwindow,K=3Ddocument,T=3Dnavigator,o=3D[=
],N=3D[],i=3D[],d=3D[],J,Z=3Dnull,M=3Dnull,l=3Dnull,e=3Dfalse,A=3Dfalse;v=
ar h=3Dfunction(){var v=3Dtypeof K.getElementById!=3Db&&typeof =
K.getElementsByTagName!=3Db&&typeof =
K.createElement!=3Db,AC=3D[0,0,0],x=3Dnull;if(typeof =
T.plugins!=3Db&&typeof =
T.plugins[n]=3D=3DQ){x=3DT.plugins[n].description;if(x&&!(typeof =
T.mimeTypes!=3Db&&T.mimeTypes[P]&&!T.mimeTypes[P].enabledPlugin)){x=3Dx.r=
eplace(/^.*\s+(\S+\s+\S+$)/,"$1");AC[0]=3DparseInt(x.replace(/^(.*)\..*$/=
,"$1"),10);AC[1]=3DparseInt(x.replace(/^.*\.(.*)\s.*$/,"$1"),10);AC[2]=3D=
/r/.test(x)?parseInt(x.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof =
j.ActiveXObject!=3Db){var y=3Dnull,AB=3Dfalse;try{y=3Dnew =
ActiveXObject(p+".7")}catch(t){try{y=3Dnew =
ActiveXObject(p+".6");AC=3D[6,0,21];y.AllowScriptAccess=3D"always"}catch(=
t){if(AC[0]=3D=3D6){AB=3Dtrue}}if(!AB){try{y=3Dnew =
ActiveXObject(p)}catch(t){}}}if(!AB&&y){try{x=3Dy.GetVariable("$version")=
;if(x){x=3Dx.split(" =
")[1].split(",");AC=3D[parseInt(x[0],10),parseInt(x[1],10),parseInt(x[2],=
10)]}}catch(t){}}}}var =
AD=3DT.userAgent.toLowerCase(),r=3DT.platform.toLowerCase(),AA=3D/webkit/=
.test(AD)?parseFloat(AD.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):fals=
e,q=3Dfalse,z=3Dr?/win/.test(r):/win/.test(AD),w=3Dr?/mac/.test(r):/mac/.=
test(AD);/*@cc_on =
q=3Dtrue;@if(@_win32)z=3Dtrue;@elif(@_mac)w=3Dtrue;@end@*/return{w3cdom:v=
,pv:AC,webkit:AA,ie:q,win:z,mac:w}}();var =
L=3Dfunction(){if(!h.w3cdom){return =
}f(H);if(h.ie&&h.win){try{K.write("<script id=3D__ie_ondomload =
defer=3Dtrue =
src=3D//:><\/script>");J=3DC("__ie_ondomload");if(J){I(J,"onreadystatecha=
nge",S)}}catch(q){}}if(h.webkit&&typeof =
K.readyState!=3Db){Z=3DsetInterval(function(){if(/loaded|complete/.test(K=
.readyState)){E()}},10)}if(typeof =
K.addEventListener!=3Db){K.addEventListener("DOMContentLoaded",E,null)}R(=
E)}();function =
S(){if(J.readyState=3D=3D"complete"){J.parentNode.removeChild(J);E()}}fun=
ction E(){if(e){return }if(h.ie&&h.win){var v=3Da("span");try{var =
u=3DK.getElementsByTagName("body")[0].appendChild(v);u.parentNode.removeC=
hild(u)}catch(w){return }}e=3Dtrue;if(Z){clearInterval(Z);Z=3Dnull}var =
q=3Do.length;for(var r=3D0;r<q;r++){o[r]()}}function =
f(q){if(e){q()}else{o[o.length]=3Dq}}function R(r){if(typeof =
j.addEventListener!=3Db){j.addEventListener("load",r,false)}else{if(typeo=
f =
K.addEventListener!=3Db){K.addEventListener("load",r,false)}else{if(typeo=
f j.attachEvent!=3Db){I(j,"onload",r)}else{if(typeof =
j.onload=3D=3D"function"){var =
q=3Dj.onload;j.onload=3Dfunction(){q();r()}}else{j.onload=3Dr}}}}}functio=
n H(){var t=3DN.length;for(var q=3D0;q<t;q++){var =
u=3DN[q].id;if(h.pv[0]>0){var =
r=3DC(u);if(r){N[q].width=3Dr.getAttribute("width")?r.getAttribute("width=
"):"0";N[q].height=3Dr.getAttribute("height")?r.getAttribute("height"):"0=
";if(c(N[q].swfVersion)){if(h.webkit&&h.webkit<312){Y(r)}W(u,true)}else{i=
f(N[q].expressInstall&&!A&&c("6.0.65")&&(h.win||h.mac)){k(N[q])}else{O(r)=
}}}}else{W(u,true)}}}function Y(t){var =
q=3Dt.getElementsByTagName(Q)[0];if(q){var =
w=3Da("embed"),y=3Dq.attributes;if(y){var v=3Dy.length;for(var =
u=3D0;u<v;u++){if(y[u].nodeName=3D=3D"DATA"){w.setAttribute("src",y[u].no=
deValue)}else{w.setAttribute(y[u].nodeName,y[u].nodeValue)}}}var =
x=3Dq.childNodes;if(x){var z=3Dx.length;for(var =
r=3D0;r<z;r++){if(x[r].nodeType=3D=3D1&&x[r].nodeName=3D=3D"PARAM"){w.set=
Attribute(x[r].getAttribute("name"),x[r].getAttribute("value"))}}}t.paren=
tNode.replaceChild(w,t)}}function k(w){A=3Dtrue;var =
u=3DC(w.id);if(u){if(w.altContentId){var =
y=3DC(w.altContentId);if(y){M=3Dy;l=3Dw.altContentId}}else{M=3DG(u)}if(!(=
/%$/.test(w.width))&&parseInt(w.width,10)<310){w.width=3D"310"}if(!(/%$/.=
test(w.height))&&parseInt(w.height,10)<137){w.height=3D"137"}K.title=3DK.=
title.slice(0,47)+" - Flash Player Installation";var =
z=3Dh.ie&&h.win?"ActiveX":"PlugIn",q=3DK.title,r=3D"MMredirectURL=3D"+j.l=
ocation+"&MMplayerType=3D"+z+"&MMdoctitle=3D"+q,x=3Dw.id;if(h.ie&&h.win&&=
u.readyState!=3D4){var =
t=3Da("div");x+=3D"SWFObjectNew";t.setAttribute("id",x);u.parentNode.inse=
rtBefore(t,u);u.style.display=3D"none";var =
v=3Dfunction(){u.parentNode.removeChild(u)};I(j,"onload",v)}U({data:w.exp=
ressInstall,id:m,width:w.width,height:w.height},{flashvars:r},x)}}functio=
n O(t){if(h.ie&&h.win&&t.readyState!=3D4){var =
r=3Da("div");t.parentNode.insertBefore(r,t);r.parentNode.replaceChild(G(t=
),r);t.style.display=3D"none";var =
q=3Dfunction(){t.parentNode.removeChild(t)};I(j,"onload",q)}else{t.parent=
Node.replaceChild(G(t),t)}}function G(v){var =
u=3Da("div");if(h.win&&h.ie){u.innerHTML=3Dv.innerHTML}else{var =
r=3Dv.getElementsByTagName(Q)[0];if(r){var w=3Dr.childNodes;if(w){var =
q=3Dw.length;for(var =
t=3D0;t<q;t++){if(!(w[t].nodeType=3D=3D1&&w[t].nodeName=3D=3D"PARAM")&&!(=
w[t].nodeType=3D=3D8)){u.appendChild(w[t].cloneNode(true))}}}}}return =
u}function U(AG,AE,t){var q,v=3DC(t);if(v){if(typeof =
AG.id=3D=3Db){AG.id=3Dt}if(h.ie&&h.win){var AF=3D"";for(var AB in =
AG){if(AG[AB]!=3DObject.prototype[AB]){if(AB.toLowerCase()=3D=3D"data"){A=
E.movie=3DAG[AB]}else{if(AB.toLowerCase()=3D=3D"styleclass"){AF+=3D' =
class=3D"'+AG[AB]+'"'}else{if(AB.toLowerCase()!=3D"classid"){AF+=3D" =
"+AB+'=3D"'+AG[AB]+'"'}}}}}var AD=3D"";for(var AA in =
AE){if(AE[AA]!=3DObject.prototype[AA]){AD+=3D'<param name=3D"'+AA+'" =
value=3D"'+AE[AA]+'" />'}}v.outerHTML=3D'<object =
classid=3D"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'+AF+">"+AD+"</obje=
ct>";i[i.length]=3DAG.id;q=3DC(AG.id)}else{if(h.webkit&&h.webkit<312){var=
 AC=3Da("embed");AC.setAttribute("type",P);for(var z in =
AG){if(AG[z]!=3DObject.prototype[z]){if(z.toLowerCase()=3D=3D"data"){AC.s=
etAttribute("src",AG[z])}else{if(z.toLowerCase()=3D=3D"styleclass"){AC.se=
tAttribute("class",AG[z])}else{if(z.toLowerCase()!=3D"classid"){AC.setAtt=
ribute(z,AG[z])}}}}}for(var y in =
AE){if(AE[y]!=3DObject.prototype[y]){if(y.toLowerCase()!=3D"movie"){AC.se=
tAttribute(y,AE[y])}}}v.parentNode.replaceChild(AC,v);q=3DAC}else{var =
u=3Da(Q);u.setAttribute("type",P);for(var x in =
AG){if(AG[x]!=3DObject.prototype[x]){if(x.toLowerCase()=3D=3D"styleclass"=
){u.setAttribute("class",AG[x])}else{if(x.toLowerCase()!=3D"classid"){u.s=
etAttribute(x,AG[x])}}}}for(var w in =
AE){if(AE[w]!=3DObject.prototype[w]&&w.toLowerCase()!=3D"movie"){F(u,w,AE=
[w])}}v.parentNode.replaceChild(u,v);q=3Du}}}return q}function =
F(t,q,r){var =
u=3Da("param");u.setAttribute("name",q);u.setAttribute("value",r);t.appen=
dChild(u)}function X(r){var =
q=3DC(r);if(q&&(q.nodeName=3D=3D"OBJECT"||q.nodeName=3D=3D"EMBED")){if(h.=
ie&&h.win){if(q.readyState=3D=3D4){B(r)}else{j.attachEvent("onload",funct=
ion(){B(r)})}}else{q.parentNode.removeChild(q)}}}function B(t){var =
r=3DC(t);if(r){for(var q in r){if(typeof =
r[q]=3D=3D"function"){r[q]=3Dnull}}r.parentNode.removeChild(r)}}function =
C(t){var q=3Dnull;try{q=3DK.getElementById(t)}catch(r){}return =
q}function a(q){return K.createElement(q)}function =
I(t,q,r){t.attachEvent(q,r);d[d.length]=3D[t,q,r]}function c(t){var =
r=3Dh.pv,q=3Dt.split(".");q[0]=3DparseInt(q[0],10);q[1]=3DparseInt(q[1],1=
0)||0;q[2]=3DparseInt(q[2],10)||0;return(r[0]>q[0]||(r[0]=3D=3Dq[0]&&r[1]=
>q[1])||(r[0]=3D=3Dq[0]&&r[1]=3D=3Dq[1]&&r[2]>=3Dq[2]))?true:false}functi=
on V(v,r){if(h.ie&&h.mac){return }var =
u=3DK.getElementsByTagName("head")[0],t=3Da("style");t.setAttribute("type=
","text/css");t.setAttribute("media","screen");if(!(h.ie&&h.win)&&typeof =
K.createTextNode!=3Db){t.appendChild(K.createTextNode(v+" =
{"+r+"}"))}u.appendChild(t);if(h.ie&&h.win&&typeof =
K.styleSheets!=3Db&&K.styleSheets.length>0){var =
q=3DK.styleSheets[K.styleSheets.length-1];if(typeof =
q.addRule=3D=3DQ){q.addRule(v,r)}}}function W(t,q){var =
r=3Dq?"visible":"hidden";if(e&&C(t)){C(t).style.visibility=3Dr}else{V("#"=
+t,"visibility:"+r)}}function g(s){var r=3D/[\\\"<>\.;]/;var =
q=3Dr.exec(s)!=3Dnull;return q?encodeURIComponent(s):s}var =
D=3Dfunction(){if(h.ie&&h.win){window.attachEvent("onunload",function(){v=
ar w=3Dd.length;for(var =
v=3D0;v<w;v++){d[v][0].detachEvent(d[v][1],d[v][2])}var =
t=3Di.length;for(var u=3D0;u<t;u++){X(i[u])}for(var r in =
h){h[r]=3Dnull}h=3Dnull;for(var q in =
swfobject){swfobject[q]=3Dnull}swfobject=3Dnull})}}();return{registerObje=
ct:function(u,q,t){if(!h.w3cdom||!u||!q){return }var =
r=3D{};r.id=3Du;r.swfVersion=3Dq;r.expressInstall=3Dt?t:false;N[N.length]=
=3Dr;W(u,false)},getObjectById:function(v){var q=3Dnull;if(h.w3cdom){var =
t=3DC(v);if(t){var u=3Dt.getElementsByTagName(Q)[0];if(!u||(u&&typeof =
t.SetVariable!=3Db)){q=3Dt}else{if(typeof =
u.SetVariable!=3Db){q=3Du}}}}return =
q},embedSWF:function(x,AE,AB,AD,q,w,r,z,AC){if(!h.w3cdom||!x||!AE||!AB||!=
AD||!q){return }AB+=3D"";AD+=3D"";if(c(q)){W(AE,false);var =
AA=3D{};if(AC&&typeof AC=3D=3D=3DQ){for(var v in =
AC){if(AC[v]!=3DObject.prototype[v]){AA[v]=3DAC[v]}}}AA.data=3Dx;AA.width=
=3DAB;AA.height=3DAD;var y=3D{};if(z&&typeof z=3D=3D=3DQ){for(var u in =
z){if(z[u]!=3DObject.prototype[u]){y[u]=3Dz[u]}}}if(r&&typeof =
r=3D=3D=3DQ){for(var t in r){if(r[t]!=3DObject.prototype[t]){if(typeof =
y.flashvars!=3Db){y.flashvars+=3D"&"+t+"=3D"+r[t]}else{y.flashvars=3Dt+"=3D=
"+r[t]}}}}f(function(){U(AA,y,AE);if(AA.id=3D=3DAE){W(AE,true)}})}else{if=
(w&&!A&&c("6.0.65")&&(h.win||h.mac)){A=3Dtrue;W(AE,false);f(function(){va=
r =
AF=3D{};AF.id=3DAF.altContentId=3DAE;AF.width=3DAB;AF.height=3DAD;AF.expr=
essInstall=3Dw;k(AF)})}}},getFlashPlayerVersion:function(){return{major:h=
.pv[0],minor:h.pv[1],release:h.pv[2]}},hasFlashPlayerVersion:c,createSWF:=
function(t,r,q){if(h.w3cdom){return U(t,r,q)}else{return =
undefined}},removeSWF:function(q){if(h.w3cdom){X(q)}},createCSS:function(=
r,q){if(h.w3cdom){V(r,q)}},addDomLoadEvent:f,addLoadEvent:R,getQueryParam=
Value:function(v){var =
u=3DK.location.search||K.location.hash;if(v=3D=3Dnull){return =
g(u)}if(u){var t=3Du.substring(1).split("&");for(var =
r=3D0;r<t.length;r++){if(t[r].substring(0,t[r].indexOf("=3D"))=3D=3Dv){re=
turn =
g(t[r].substring((t[r].indexOf("=3D")+1)))}}}return""},expressInstallCall=
back:function(){if(A&&M){var =
q=3DC(m);if(q){q.parentNode.replaceChild(M,q);if(l){W(l,true);if(h.ie&&h.=
win){M.style.display=3D"block"}}M=3Dnull;l=3Dnull;A=3Dfalse}}}}}();
------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-includes/js/jquery/jquery.js?ver=1.2.6

/*=0A=
 * jQuery 1.2.6 - New Wave Javascript=0A=
 *=0A=
 * Copyright (c) 2008 John Resig (jquery.com)=0A=
 * Dual licensed under the MIT (MIT-LICENSE.txt)=0A=
 * and GPL (GPL-LICENSE.txt) licenses.=0A=
 *=0A=
 * $Date: 2008-05-27 12:17:26 -0700 (Tue, 27 May 2008) $=0A=
 * $Rev: 5700 $=0A=
 */=0A=
eval(function(p,a,c,k,e,r){e=3Dfunction(c){return(c<a?'':e(parseInt(c/a))=
)+((c=3Dc%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace=
(/^/,String)){while(c--)r[e(c)]=3Dk[c]||e(c);k=3D[function(e){return =
r[e]}];e=3Dfunction(){return'\\w+'};c=3D1};while(c--)if(k[c])p=3Dp.replac=
e(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(H(){J =
w=3D1c.4I,3n$=3D1c.$;J D=3D1c.4I=3D1c.$=3DH(a,b){I 2r D.18.5i(a,b)};J =
u=3D/^[^<]*(<(.|\\s)+>)[^>]*$|^#(\\w+)$/,61=3D/^.[^:#\\[\\.]*$/,12;D.18=3D=
D.3V=3D{5i:H(d,b){d=3Dd||S;G(d.15){7[0]=3Dd;7.K=3D1;I 7}G(1j =
d=3D=3D"1W"){J =
c=3Du.2D(d);G(c&&(c[1]||!b)){G(c[1])d=3DD.4h([c[1]],b);N{J =
a=3DS.60(c[3]);G(a){G(a.2t!=3Dc[3])I D().2u(d);I D(a)}d=3D[]}}N I =
D(b).2u(d)}N G(D.1F(d))I D(S)[D.18.25?"25":"3Y"](d);I =
7.6V(D.2h(d))},5w:"1.2.6",8H:H(){I 7.K},K:0,3p:H(a){I =
a=3D=3D12?D.2h(7):7[a]},2F:H(b){J a=3DD(b);a.5n=3D7;I =
a},6V:H(a){7.K=3D0;2q.3V.1A.1t(7,a);I 7},P:H(a,b){I =
D.P(7,a,b)},5h:H(b){J a=3D-1;I D.2E(b&&b.5w?b[0]:b,7)},1M:H(c,a,b){J =
d=3Dc;G(c.1q=3D=3D56)G(a=3D=3D=3D12)I =
7[0]&&D[b||"1M"](7[0],c);N{d=3D{};d[c]=3Da}I 7.P(H(i){R(c 1k =
d)D.1M(b?7.V:7,c,D.1e(7,d[c],b,i,c))})},1h:H(b,a){G((b=3D=3D\'2d\'||b=3D=3D=
\'1T\')&&3e(a)<0)a=3D12;I 7.1M(b,a,"24")},1r:H(b){G(1j =
b!=3D"3y"&&b!=3DU)I 7.4F().3s((7[0]&&7[0].2z||S).5J(b));J =
a=3D"";D.P(b||7,H(){D.P(7.3u,H(){G(7.15!=3D8)a+=3D7.15!=3D1?7.73:D.18.1r(=
[7])})});I a},5W:H(b){G(7[0])D(b,7[0].2z).5y().38(7[0]).2i(H(){J =
a=3D7;1G(a.1s)a=3Da.1s;I a}).3s(7);I 7},8Z:H(a){I =
7.P(H(){D(7).6P().5W(a)})},8S:H(a){I 7.P(H(){D(7).5W(a)})},3s:H(){I =
7.3S(1a,M,Q,H(a){G(7.15=3D=3D1)7.49(a)})},6E:H(){I =
7.3S(1a,M,M,H(a){G(7.15=3D=3D1)7.38(a,7.1s)})},6D:H(){I =
7.3S(1a,Q,Q,H(a){7.1f.38(a,7)})},5p:H(){I =
7.3S(1a,Q,M,H(a){7.1f.38(a,7.2J)})},3m:H(){I 7.5n||D([])},2u:H(b){J =
c=3DD.2i(7,H(a){I D.2u(b,a)});I 7.2F(/[^+>] =
[^+>]/.11(b)||b.1i("..")>-1?D.4u(c):c)},5y:H(e){J =
f=3D7.2i(H(){G(D.14.1g&&!D.4o(7)){J =
a=3D7.6n(M),5f=3DS.3t("1w");5f.49(a);I D.4h([5f.4l])[0]}N I 7.6n(M)});J =
d=3Df.2u("*").5M().P(H(){G(7[E]!=3D12)7[E]=3DU});G(e=3D=3D=3DM)7.2u("*").=
5M().P(H(i){G(7.15=3D=3D3)I;J c=3DD.L(7,"3x");R(J a 1k c)R(J b 1k =
c[a])D.W.17(d[i],a,c[a][b],c[a][b].L)});I f},1E:H(b){I =
7.2F(D.1F(b)&&D.3G(7,H(a,i){I =
b.1l(a,i)})||D.3f(b,7))},4W:H(b){G(b.1q=3D=3D56)G(61.11(b))I =
7.2F(D.3f(b,7,M));N b=3DD.3f(b,7);J a=3Db.K&&b[b.K-1]!=3D=3D12&&!b.15;I =
7.1E(H(){I a?D.2E(7,b)<0:7!=3Db})},17:H(a){I 7.2F(D.4u(D.39(7.3p(),1j =
a=3D=3D\'1W\'?D(a):D.2h(a))))},3C:H(a){I!!a&&D.3f(a,7).K>0},7V:H(a){I =
7.3C("."+a)},6a:H(b){G(b=3D=3D12){G(7.K){J c=3D7[0];G(D.Y(c,"2y")){J =
e=3Dc.63,62=3D[],16=3Dc.16,2Y=3Dc.O=3D=3D"2y-2Y";G(e<0)I U;R(J =
i=3D2Y?e:0,2e=3D2Y?e+1:16.K;i<2e;i++){J =
d=3D16[i];G(d.3a){b=3DD.14.1g&&!d.au.2s.aq?d.1r:d.2s;G(2Y)I =
b;62.1A(b)}}I 62}N I(7[0].2s||"").1o(/\\r/g,"")}I =
12}G(b.1q=3D=3D4N)b+=3D\'\';I =
7.P(H(){G(7.15!=3D1)I;G(b.1q=3D=3D2q&&/5R|5A/.11(7.O))7.4M=3D(D.2E(7.2s,b=
)>=3D0||D.2E(7.32,b)>=3D0);N G(D.Y(7,"2y")){J =
a=3DD.2h(b);D("9U",7).P(H(){7.3a=3D(D.2E(7.2s,a)>=3D0||D.2E(7.1r,a)>=3D0)=
});G(!a.K)7.63=3D-1}N 7.2s=3Db})},2I:H(a){I =
a=3D=3D12?(7[0]?7[0].4l:U):7.4F().3s(a)},7b:H(a){I =
7.5p(a).1Z()},77:H(i){I 7.3w(i,i+1)},3w:H(){I =
7.2F(2q.3V.3w.1t(7,1a))},2i:H(b){I 7.2F(D.2i(7,H(a,i){I =
b.1l(a,i,a)}))},5M:H(){I 7.17(7.5n)},L:H(d,b){J =
a=3Dd.1Q(".");a[1]=3Da[1]?"."+a[1]:"";G(b=3D=3D=3D12){J =
c=3D7.5G("9B"+a[1]+"!",[a[0]]);G(c=3D=3D=3D12&&7.K)c=3DD.L(7[0],d);I =
c=3D=3D=3D12&&a[1]?7.L(a[0]):c}N I =
7.1R("9v"+a[1]+"!",[a[0],b]).P(H(){D.L(7,d,b)})},3b:H(a){I =
7.P(H(){D.3b(7,a)})},3S:H(g,f,h,d){J e=3D7.K>1,3z;I =
7.P(H(){G(!3z){3z=3DD.4h(g,7.2z);G(h)3z.9o()}J =
b=3D7;G(f&&D.Y(7,"1X")&&D.Y(3z[0],"4H"))b=3D7.40("22")[0]||7.49(7.2z.3t("=
22"));J c=3DD([]);D.P(3z,H(){J =
a=3De?D(7).5y(M)[0]:7;G(D.Y(a,"1m"))c=3Dc.17(a);N{G(a.15=3D=3D1)c=3Dc.17(=
D("1m",a).1Z());d.1l(b,a)}});c.P(6R)})}};D.18.5i.3V=3DD.18;H =
6R(i,a){G(a.4e)D.3T({1b:a.4e,31:Q,1L:"1m"});N =
D.5u(a.1r||a.6N||a.4l||"");G(a.1f)a.1f.30(a)}H 1x(){I+2r =
8K}D.1n=3DD.18.1n=3DH(){J =
b=3D1a[0]||{},i=3D1,K=3D1a.K,4B=3DQ,16;G(b.1q=3D=3D8I){4B=3Db;b=3D1a[1]||=
{};i=3D2}G(1j b!=3D"3y"&&1j =
b!=3D"H")b=3D{};G(K=3D=3Di){b=3D7;--i}R(;i<K;i++)G((16=3D1a[i])!=3DU)R(J =
c 1k 16){J a=3Db[c],2x=3D16[c];G(b=3D=3D=3D2x)6L;G(4B&&2x&&1j =
2x=3D=3D"3y"&&!2x.15)b[c]=3DD.1n(4B,a||(2x.K!=3DU?[]:{}),2x);N =
G(2x!=3D=3D12)b[c]=3D2x}I b};J =
E=3D"4I"+1x(),6K=3D0,5q=3D{},6G=3D/z-?5h|8B-?8A|1y|6A|8w-?1T/i,3N=3DS.3N|=
|{};D.1n({8u:H(a){1c.$=3D3n$;G(a)1c.4I=3Dw;I D},1F:H(a){I!!a&&1j =
a!=3D"1W"&&!a.Y&&a.1q!=3D2q&&/^[\\s[]?H/.11(a+"")},4o:H(a){I =
a.1B&&!a.1d||a.2g&&a.2z&&!a.2z.1d},5u:H(a){a=3DD.3l(a);G(a){J =
b=3DS.40("6v")[0]||S.1B,1m=3DS.3t("1m");1m.O=3D"1r/4v";G(D.14.1g)1m.1r=3D=
a;N 1m.49(S.5J(a));b.38(1m,b.1s);b.30(1m)}},Y:H(b,a){I =
b.Y&&b.Y.2m()=3D=3Da.2m()},1Y:{},L:H(c,d,b){c=3Dc=3D=3D1c?5q:c;J =
a=3Dc[E];G(!a)a=3Dc[E]=3D++6K;G(d&&!D.1Y[a])D.1Y[a]=3D{};G(b!=3D=3D12)D.1=
Y[a][d]=3Db;I d?D.1Y[a][d]:a},3b:H(c,b){c=3Dc=3D=3D1c?5q:c;J =
a=3Dc[E];G(b){G(D.1Y[a]){3d D.1Y[a][b];b=3D"";R(b 1k =
D.1Y[a])1V;G(!b)D.3b(c)}}N{23{3d c[E]}21(e){G(c.5k)c.5k(E)}3d =
D.1Y[a]}},P:H(d,a,c){J e,i=3D0,K=3Dd.K;G(c){G(K=3D=3D12){R(e 1k =
d)G(a.1t(d[e],c)=3D=3D=3DQ)1V}N =
R(;i<K;)G(a.1t(d[i++],c)=3D=3D=3DQ)1V}N{G(K=3D=3D12){R(e 1k =
d)G(a.1l(d[e],e,d[e])=3D=3D=3DQ)1V}N R(J =
b=3Dd[0];i<K&&a.1l(b,i,b)!=3D=3DQ;b=3Dd[++i]){}}I =
d},1e:H(b,a,c,i,d){G(D.1F(a))a=3Da.1l(b,i);I =
a&&a.1q=3D=3D4N&&c=3D=3D"24"&&!6G.11(d)?a+"2U":a},1D:{17:H(c,b){D.P((b||"=
").1Q(/\\s+/),H(i,a){G(c.15=3D=3D1&&!D.1D.3Q(c.1D,a))c.1D+=3D(c.1D?" =
":"")+a})},1Z:H(c,b){G(c.15=3D=3D1)c.1D=3Db!=3D12?D.3G(c.1D.1Q(/\\s+/),H(=
a){I!D.1D.3Q(b,a)}).6r(" "):""},3Q:H(b,a){I =
D.2E(a,(b.1D||b).6p().1Q(/\\s+/))>-1}},6o:H(b,c,a){J e=3D{};R(J d 1k =
c){e[d]=3Db.V[d];b.V[d]=3Dc[d]}a.1l(b);R(J d 1k =
c)b.V[d]=3De[d]},1h:H(d,e,c){G(e=3D=3D"2d"||e=3D=3D"1T"){J =
b,2L=3D{3c:"5g",5D:"1C",19:"3H"},2S=3De=3D=3D"2d"?["5d","6i"]:["5b","6g"]=
;H 5a(){b=3De=3D=3D"2d"?d.8g:d.8f;J =
a=3D0,2A=3D0;D.P(2S,H(){a+=3D3e(D.24(d,"55"+7,M))||0;2A+=3D3e(D.24(d,"2A"=
+7+"47",M))||0});b-=3D26.85(a+2A)}G(D(d).3C(":4i"))5a();N =
D.6o(d,2L,5a);I 26.2e(0,b)}I D.24(d,e,c)},24:H(f,l,k){J e,V=3Df.V;H =
4d(b){G(!D.14.2f)I Q;J =
a=3D3N.53(b,U);I!a||a.52("4d")=3D=3D""}G(l=3D=3D"1y"&&D.14.1g){e=3DD.1M(V=
,"1y");I e=3D=3D""?"1":e}G(D.14.2H&&l=3D=3D"19"){J d=3DV.50;V.50=3D"0 7Z =
7Y";V.50=3Dd}G(l.1I(/4g/i))l=3Dy;G(!k&&V&&V[l])e=3DV[l];N =
G(3N.53){G(l.1I(/4g/i))l=3D"4g";l=3Dl.1o(/([A-Z])/g,"-$1").3h();J =
c=3D3N.53(f,U);G(c&&!4d(f))e=3Dc.52(l);N{J =
g=3D[],2G=3D[],a=3Df,i=3D0;R(;a&&4d(a);a=3Da.1f)2G.6b(a);R(;i<2G.K;i++)G(=
4d(2G[i])){g[i]=3D2G[i].V.19;2G[i].V.19=3D"3H"}e=3Dl=3D=3D"19"&&g[2G.K-1]=
!=3DU?"2P":(c&&c.52(l))||"";R(i=3D0;i<g.K;i++)G(g[i]!=3DU)2G[i].V.19=3Dg[=
i]}G(l=3D=3D"1y"&&e=3D=3D"")e=3D"1"}N G(f.4f){J =
h=3Dl.1o(/\\-(\\w)/g,H(a,b){I =
b.2m()});e=3Df.4f[l]||f.4f[h];G(!/^\\d+(2U)?$/i.11(e)&&/^\\d/.11(e)){J =
j=3DV.1z,65=3Df.64.1z;f.64.1z=3Df.4f.1z;V.1z=3De||0;e=3DV.aO+"2U";V.1z=3D=
j;f.64.1z=3D65}}I e},4h:H(l,h){J k=3D[];h=3Dh||S;G(1j =
h.3t=3D=3D\'12\')h=3Dh.2z||h[0]&&h[0].2z||S;D.P(l,H(i,d){G(!d)I;G(d.1q=3D=
=3D4N)d+=3D\'\';G(1j =
d=3D=3D"1W"){d=3Dd.1o(/(<(\\w+)[^>]*?)\\/>/g,H(b,a,c){I =
c.1I(/^(aN|43|7E|aH|4t|7z|aE|3A|aB|aA|az)$/i)?b:a+"></"+c+">"});J =
f=3DD.3l(d).3h(),1w=3Dh.3t("1w");J e=3D!f.1i("<av")&&[1,"<2y =
7u=3D\'7u\'>","</2y>"]||!f.1i("<at")&&[1,"<7t>","</7t>"]||f.1I(/^<(ar|22|=
ap|al|aj)/)&&[1,"<1X>","</1X>"]||!f.1i("<4H")&&[2,"<1X><22>","</22></1X>"=
]||(!f.1i("<ah")||!f.1i("<ae"))&&[3,"<1X><22><4H>","</4H></22></1X>"]||!f=
.1i("<7E")&&[2,"<1X><22></22><7p>","</7p></1X>"]||D.14.1g&&[1,"1w<1w>","<=
/1w>"]||[0,"",""];1w.4l=3De[1]+d+e[2];1G(e[0]--)1w=3D1w.5U;G(D.14.1g){J =
g=3D!f.1i("<1X")&&f.1i("<22")<0?1w.1s&&1w.1s.3u:e[1]=3D=3D"<1X>"&&f.1i("<=
22")<0?1w.3u:[];R(J =
j=3Dg.K-1;j>=3D0;--j)G(D.Y(g[j],"22")&&!g[j].3u.K)g[j].1f.30(g[j]);G(/^\\=
s/.11(d))1w.38(h.5J(d.1I(/^\\s*/)[0]),1w.1s)}d=3DD.2h(1w.3u)}G(d.K=3D=3D=3D=
0&&(!D.Y(d,"45")&&!D.Y(d,"2y")))I;G(d[0]=3D=3D12||D.Y(d,"45")||d.16)k.1A(=
d);N k=3DD.39(k,d)});I k},1M:H(d,f,c){G(!d||d.15=3D=3D3||d.15=3D=3D8)I =
12;J =
e=3D!D.4o(d),3W=3Dc!=3D=3D12,1g=3DD.14.1g;f=3De&&D.2L[f]||f;G(d.2g){J =
g=3D/5x|4e|V/.11(f);G(f=3D=3D"3a"&&D.14.2f)d.1f.63;G(f 1k =
d&&e&&!g){G(3W){G(f=3D=3D"O"&&D.Y(d,"4t")&&d.1f)7m"O a5 a2\'t 9Z =
9W";d[f]=3Dc}G(D.Y(d,"45")&&d.7i(f))I d.7i(f).73;I =
d[f]}G(1g&&e&&f=3D=3D"V")I D.1M(d.V,"9V",c);G(3W)d.9T(f,""+c);J =
h=3D1g&&e&&g?d.4K(f,2):d.4K(f);I =
h=3D=3D=3DU?12:h}G(1g&&f=3D=3D"1y"){G(3W){d.6A=3D1;d.1E=3D(d.1E||"").1o(/=
7d\\([^)]*\\)/,"")+(3v(c)+\'\'=3D=3D"9P"?"":"7d(1y=3D"+c*79+")")}I =
d.1E&&d.1E.1i("1y=3D")>=3D0?(3e(d.1E.1I(/1y=3D([^)]*)/)[1])/79)+\'\':""}f=
=3Df.1o(/-([a-z])/9M,H(a,b){I b.2m()});G(3W)d[f]=3Dc;I =
d[f]},3l:H(a){I(a||"").1o(/^\\s+|\\s+$/g,"")},2h:H(b){J =
a=3D[];G(b!=3DU){J i=3Db.K;G(i=3D=3DU||b.1Q||b.4L||b.1l)a[0]=3Db;N =
1G(i)a[--i]=3Db[i]}I a},2E:H(b,a){R(J =
i=3D0,K=3Da.K;i<K;i++)G(a[i]=3D=3D=3Db)I i;I-1},39:H(a,b){J =
i=3D0,T,36=3Da.K;G(D.14.1g){1G(T=3Db[i++])G(T.15!=3D8)a[36++]=3DT}N =
1G(T=3Db[i++])a[36++]=3DT;I a},4u:H(a){J c=3D[],2w=3D{};23{R(J =
i=3D0,K=3Da.K;i<K;i++){J =
b=3DD.L(a[i]);G(!2w[b]){2w[b]=3DM;c.1A(a[i])}}}21(e){c=3Da}I =
c},3G:H(c,a,d){J b=3D[];R(J =
i=3D0,K=3Dc.K;i<K;i++)G(!d!=3D!a(c[i],i))b.1A(c[i]);I b},2i:H(d,a){J =
c=3D[];R(J i=3D0,K=3Dd.K;i<K;i++){J b=3Da(d[i],i);G(b!=3DU)c[c.K]=3Db}I =
c.75.1t([],c)}});J =
v=3D9E.9C.3h();D.14=3D{5F:(v.1I(/.+(?:9A|9z|9y|9w)[\\/: =
]([\\d.]+)/)||[])[1],2f:/72/.11(v),2H:/2H/.11(v),1g:/1g/.11(v)&&!/2H/.11(=
v),3r:/3r/.11(v)&&!/(9s|72)/.11(v)};J =
y=3DD.14.1g?"70":"6Z";D.1n({6Y:!D.14.1g||S.6X=3D=3D"6W",2L:{"R":"9n","9m"=
:"1D","4g":y,6Z:y,70:y,9j:"9h",9g:"9e",9d:"9b",9a:"99"}});D.P({6S:H(a){I =
a.1f},96:H(a){I D.4T(a,"1f")},93:H(a){I D.2V(a,2,"2J")},90:H(a){I =
D.2V(a,2,"4D")},8Y:H(a){I D.4T(a,"2J")},8X:H(a){I =
D.4T(a,"4D")},8W:H(a){I D.5v(a.1f.1s,a)},8V:H(a){I D.5v(a.1s)},6P:H(a){I =
D.Y(a,"8U")?a.8T||a.8R.S:D.2h(a.3u)}},H(c,d){D.18[c]=3DH(b){J =
a=3DD.2i(7,d);G(b&&1j b=3D=3D"1W")a=3DD.3f(b,a);I =
7.2F(D.4u(a))}});D.P({6O:"3s",8Q:"6E",38:"6D",8P:"5p",8O:"7b"},H(c,b){D.1=
8[c]=3DH(){J a=3D1a;I 7.P(H(){R(J =
i=3D0,K=3Da.K;i<K;i++)D(a[i])[b](7)})}});D.P({8N:H(a){D.1M(7,a,"");G(7.15=
=3D=3D1)7.5k(a)},8M:H(a){D.1D.17(7,a)},8L:H(a){D.1D.1Z(7,a)},8J:H(a){D.1D=
[D.1D.3Q(7,a)?"1Z":"17"](7,a)},1Z:H(a){G(!a||D.1E(a,[7]).r.K){D("*",7).17=
(7).P(H(){D.W.1Z(7);D.3b(7)});G(7.1f)7.1f.30(7)}},4F:H(){D(">*",7).1Z();1=
G(7.1s)7.30(7.1s)}},H(a,b){D.18[a]=3DH(){I =
7.P(b,1a)}});D.P(["6M","47"],H(i,c){J b=3Dc.3h();D.18[b]=3DH(a){I =
7[0]=3D=3D1c?D.14.2H&&S.1d["5t"+c]||D.14.2f&&1c["5s"+c]||S.6X=3D=3D"6W"&&=
S.1B["5t"+c]||S.1d["5t"+c]:7[0]=3D=3DS?26.2e(26.2e(S.1d["4A"+c],S.1B["4A"=
+c]),26.2e(S.1d["2k"+c],S.1B["2k"+c])):a=3D=3D12?(7.K?D.1h(7[0],b):U):7.1=
h(b,a.1q=3D=3D56?a:a+"2U")}});H 2a(a,b){I =
a[0]&&3v(D.24(a[0],b,M),10)||0}J =
C=3DD.14.2f&&3v(D.14.5F)<8G?"(?:[\\\\w*3n-]|\\\\\\\\.)":"(?:[\\\\w\\8F-\\=
8E*3n-]|\\\\\\\\.)",6J=3D2r 4y("^>\\\\s*("+C+"+)"),6I=3D2r =
4y("^("+C+"+)(#)("+C+"+)"),6H=3D2r =
4y("^([#.]?)("+C+"*)");D.1n({6F:{"":H(a,i,m){I =
m[2]=3D=3D"*"||D.Y(a,m[2])},"#":H(a,i,m){I =
a.4K("2t")=3D=3Dm[2]},":":{8D:H(a,i,m){I i<m[3]-0},8C:H(a,i,m){I =
i>m[3]-0},2V:H(a,i,m){I m[3]-0=3D=3Di},77:H(a,i,m){I =
m[3]-0=3D=3Di},3o:H(a,i){I i=3D=3D0},3P:H(a,i,m,r){I =
i=3D=3Dr.K-1},6C:H(a,i){I i%2=3D=3D0},6B:H(a,i){I i%2},"3o-4w":H(a){I =
a.1f.40("*")[0]=3D=3Da},"3P-4w":H(a){I =
D.2V(a.1f.5U,1,"4D")=3D=3Da},"8z-4w":H(a){I!D.2V(a.1f.5U,2,"4D")},6S:H(a)=
{I =
a.1s},4F:H(a){I!a.1s},8y:H(a,i,m){I(a.6N||a.8x||D(a).1r()||"").1i(m[3])>=3D=
0},4i:H(a){I"1C"!=3Da.O&&D.1h(a,"19")!=3D"2P"&&D.1h(a,"5D")!=3D"1C"},1C:H=
(a){I"1C"=3D=3Da.O||D.1h(a,"19")=3D=3D"2P"||D.1h(a,"5D")=3D=3D"1C"},8v:H(=
a){I!a.3O},3O:H(a){I a.3O},4M:H(a){I a.4M},3a:H(a){I =
a.3a||D.1M(a,"3a")},1r:H(a){I"1r"=3D=3Da.O},5R:H(a){I"5R"=3D=3Da.O},5A:H(=
a){I"5A"=3D=3Da.O},5o:H(a){I"5o"=3D=3Da.O},3K:H(a){I"3K"=3D=3Da.O},5m:H(a=
){I"5m"=3D=3Da.O},6z:H(a){I"6z"=3D=3Da.O},6y:H(a){I"6y"=3D=3Da.O},2p:H(a)=
{I"2p"=3D=3Da.O||D.Y(a,"2p")},4t:H(a){I/4t|2y|6x|2p/i.11(a.Y)},3Q:H(a,i,m=
){I D.2u(m[3],a).K},8t:H(a){I/h\\d/i.11(a.Y)},8s:H(a){I D.3G(D.3M,H(b){I =
a=3D=3Db.T}).K}}},6w:[/^(\\[) *@?([\\w-]+) *([!*$^~=3D]*) =
*(\'?"?)(.*?)\\4 =
*\\]/,/^(:)([\\w-]+)\\("?\'?(.*?(\\(.*?\\))?[^(]*?)"?\'?\\)/,2r =
4y("^([:.#]*)("+C+"+)")],3f:H(a,c,b){J d,1u=3D[];1G(a&&a!=3Dd){d=3Da;J =
f=3DD.1E(a,c,b);a=3Df.t.1o(/^\\s*,\\s*/,"");1u=3Db?c=3Df.r:D.39(1u,f.r)}I=
 1u},2u:H(t,o){G(1j =
t!=3D"1W")I[t];G(o&&o.15!=3D1&&o.15!=3D9)I[];o=3Do||S;J =
d=3D[o],2w=3D[],3P,Y;1G(t&&3P!=3Dt){J r=3D[];3P=3Dt;t=3DD.3l(t);J =
l=3DQ,3k=3D6J,m=3D3k.2D(t);G(m){Y=3Dm[1].2m();R(J i=3D0;d[i];i++)R(J =
c=3Dd[i].1s;c;c=3Dc.2J)G(c.15=3D=3D1&&(Y=3D=3D"*"||c.Y.2m()=3D=3DY))r.1A(=
c);d=3Dr;t=3Dt.1o(3k,"");G(t.1i(" =
")=3D=3D0)6L;l=3DM}N{3k=3D/^([>+~])\\s*(\\w*)/i;G((m=3D3k.2D(t))!=3DU){r=3D=
[];J k=3D{};Y=3Dm[2].2m();m=3Dm[1];R(J j=3D0,3j=3Dd.K;j<3j;j++){J =
n=3Dm=3D=3D"~"||m=3D=3D"+"?d[j].2J:d[j].1s;R(;n;n=3Dn.2J)G(n.15=3D=3D1){J=
 =
g=3DD.L(n);G(m=3D=3D"~"&&k[g])1V;G(!Y||n.Y.2m()=3D=3DY){G(m=3D=3D"~")k[g]=
=3DM;r.1A(n)}G(m=3D=3D"+")1V}}d=3Dr;t=3DD.3l(t.1o(3k,""));l=3DM}}G(t&&!l)=
{G(!t.1i(",")){G(o=3D=3Dd[0])d.4s();2w=3DD.39(2w,d);r=3Dd=3D[o];t=3D" =
"+t.6t(1,t.K)}N{J h=3D6I;J =
m=3Dh.2D(t);G(m){m=3D[0,m[2],m[3],m[1]]}N{h=3D6H;m=3Dh.2D(t)}m[2]=3Dm[2].=
1o(/\\\\/g,"");J f=3Dd[d.K-1];G(m[1]=3D=3D"#"&&f&&f.60&&!D.4o(f)){J =
p=3Df.60(m[2]);G((D.14.1g||D.14.2H)&&p&&1j =
p.2t=3D=3D"1W"&&p.2t!=3Dm[2])p=3DD(\'[@2t=3D"\'+m[2]+\'"]\',f)[0];d=3Dr=3D=
p&&(!m[3]||D.Y(p,m[3]))?[p]:[]}N{R(J i=3D0;d[i];i++){J =
a=3Dm[1]=3D=3D"#"&&m[3]?m[3]:m[1]!=3D""||m[0]=3D=3D""?"*":m[2];G(a=3D=3D"=
*"&&d[i].Y.3h()=3D=3D"3y")a=3D"3A";r=3DD.39(r,d[i].40(a))}G(m[1]=3D=3D"."=
)r=3DD.5l(r,m[2]);G(m[1]=3D=3D"#"){J e=3D[];R(J =
i=3D0;r[i];i++)G(r[i].4K("2t")=3D=3Dm[2]){e=3D[r[i]];1V}r=3De}d=3Dr}t=3Dt=
.1o(h,"")}}G(t){J =
b=3DD.1E(t,r);d=3Dr=3Db.r;t=3DD.3l(b.t)}}G(t)d=3D[];G(d&&o=3D=3Dd[0])d.4s=
();2w=3DD.39(2w,d);I 2w},5l:H(r,m,a){m=3D" "+m+" ";J c=3D[];R(J =
i=3D0;r[i];i++){J b=3D(" "+r[i].1D+" =
").1i(m)>=3D0;G(!a&&b||a&&!b)c.1A(r[i])}I c},1E:H(t,r,h){J =
d;1G(t&&t!=3Dd){d=3Dt;J p=3DD.6w,m;R(J =
i=3D0;p[i];i++){m=3Dp[i].2D(t);G(m){t=3Dt.8r(m[0].K);m[2]=3Dm[2].1o(/\\\\=
/g,"");1V}}G(!m)1V;G(m[1]=3D=3D":"&&m[2]=3D=3D"4W")r=3D61.11(m[3])?D.1E(m=
[3],r,M).r:D(r).4W(m[3]);N G(m[1]=3D=3D".")r=3DD.5l(r,m[2],h);N =
G(m[1]=3D=3D"["){J g=3D[],O=3Dm[3];R(J i=3D0,3j=3Dr.K;i<3j;i++){J =
a=3Dr[i],z=3Da[D.2L[m[2]]||m[2]];G(z=3D=3DU||/5x|4e|3a/.11(m[2]))z=3DD.1M=
(a,m[2])||\'\';G((O=3D=3D""&&!!z||O=3D=3D"=3D"&&z=3D=3Dm[5]||O=3D=3D"!=3D=
"&&z!=3Dm[5]||O=3D=3D"^=3D"&&z&&!z.1i(m[5])||O=3D=3D"$=3D"&&z.6t(z.K-m[5]=
.K)=3D=3Dm[5]||(O=3D=3D"*=3D"||O=3D=3D"~=3D")&&z.1i(m[5])>=3D0)^h)g.1A(a)=
}r=3Dg}N G(m[1]=3D=3D":"&&m[2]=3D=3D"2V-4w"){J =
e=3D{},g=3D[],11=3D/(-?)(\\d*)n((?:\\+|-)?\\d*)/.2D(m[3]=3D=3D"6C"&&"2n"|=
|m[3]=3D=3D"6B"&&"2n+1"||!/\\D/.11(m[3])&&"8q+"+m[3]||m[3]),3o=3D(11[1]+(=
11[2]||1))-0,d=3D11[3]-0;R(J i=3D0,3j=3Dr.K;i<3j;i++){J =
j=3Dr[i],1f=3Dj.1f,2t=3DD.L(1f);G(!e[2t]){J c=3D1;R(J =
n=3D1f.1s;n;n=3Dn.2J)G(n.15=3D=3D1)n.4r=3Dc++;e[2t]=3DM}J =
b=3DQ;G(3o=3D=3D0){G(j.4r=3D=3Dd)b=3DM}N =
G((j.4r-d)%3o=3D=3D0&&(j.4r-d)/3o>=3D0)b=3DM;G(b^h)g.1A(j)}r=3Dg}N{J =
f=3DD.6F[m[1]];G(1j f=3D=3D"3y")f=3Df[m[2]];G(1j =
f=3D=3D"1W")f=3D6s("Q||H(a,i){I "+f+";}");r=3DD.3G(r,H(a,i){I =
f(a,i,m,r)},h)}}I{r:r,t:t}},4T:H(b,c){J =
a=3D[],1u=3Db[c];1G(1u&&1u!=3DS){G(1u.15=3D=3D1)a.1A(1u);1u=3D1u[c]}I =
a},2V:H(a,e,c,b){e=3De||1;J =
d=3D0;R(;a;a=3Da[c])G(a.15=3D=3D1&&++d=3D=3De)1V;I a},5v:H(n,a){J =
r=3D[];R(;n;n=3Dn.2J){G(n.15=3D=3D1&&n!=3Da)r.1A(n)}I =
r}});D.W=3D{17:H(f,i,g,e){G(f.15=3D=3D3||f.15=3D=3D8)I;G(D.14.1g&&f.4L)f=3D=
1c;G(!g.29)g.29=3D7.29++;G(e!=3D12){J h=3Dg;g=3D7.3J(h,H(){I =
h.1t(7,1a)});g.L=3De}J =
j=3DD.L(f,"3x")||D.L(f,"3x",{}),1H=3DD.L(f,"1H")||D.L(f,"1H",H(){G(1j =
D!=3D"12"&&!D.W.5j)I =
D.W.1H.1t(1a.3I.T,1a)});1H.T=3Df;D.P(i.1Q(/\\s+/),H(c,b){J =
a=3Db.1Q(".");b=3Da[0];g.O=3Da[1];J =
d=3Dj[b];G(!d){d=3Dj[b]=3D{};G(!D.W.2C[b]||D.W.2C[b].4q.1l(f)=3D=3D=3DQ){=
G(f.4a)f.4a(b,1H,Q);N =
G(f.6q)f.6q("4p"+b,1H)}}d[g.29]=3Dg;D.W.28[b]=3DM});f=3DU},29:1,28:{},1Z:=
H(e,h,f){G(e.15=3D=3D3||e.15=3D=3D8)I;J =
i=3DD.L(e,"3x"),1K,5h;G(i){G(h=3D=3D12||(1j =
h=3D=3D"1W"&&h.8p(0)=3D=3D"."))R(J g 1k =
i)7.1Z(e,g+(h||""));N{G(h.O){f=3Dh.2o;h=3Dh.O}D.P(h.1Q(/\\s+/),H(b,a){J =
c=3Da.1Q(".");a=3Dc[0];G(i[a]){G(f)3d i[a][f.29];N R(f 1k =
i[a])G(!c[1]||i[a][f].O=3D=3Dc[1])3d i[a][f];R(1K 1k =
i[a])1V;G(!1K){G(!D.W.2C[a]||D.W.2C[a].4G.1l(e)=3D=3D=3DQ){G(e.6m)e.6m(a,=
D.L(e,"1H"),Q);N G(e.6l)e.6l("4p"+a,D.L(e,"1H"))}1K=3DU;3d i[a]}}})}R(1K =
1k i)1V;G(!1K){J =
d=3DD.L(e,"1H");G(d)d.T=3DU;D.3b(e,"3x");D.3b(e,"1H")}}},1R:H(h,c,f,g,i){=
c=3DD.2h(c);G(h.1i("!")>=3D0){h=3Dh.3w(0,-1);J =
a=3DM}G(!f){G(7.28[h])D("*").17([1c,S]).1R(h,c)}N{G(f.15=3D=3D3||f.15=3D=3D=
8)I 12;J =
b,1K,18=3DD.1F(f[h]||U),W=3D!c[0]||!c[0].37;G(W){c.6b({O:h,2N:f,37:H(){},=
3X:H(){},4J:1x()});c[0][E]=3DM}c[0].O=3Dh;G(a)c[0].6k=3DM;J =
d=3DD.L(f,"1H");G(d)b=3Dd.1t(f,c);G((!18||(D.Y(f,\'a\')&&h=3D=3D"4n"))&&f=
["4p"+h]&&f["4p"+h].1t(f,c)=3D=3D=3DQ)b=3DQ;G(W)c.4s();G(i&&D.1F(i)){1K=3D=
i.1t(f,b=3D=3DU?c:c.75(b));G(1K!=3D=3D12)b=3D1K}G(18&&g!=3D=3DQ&&b!=3D=3D=
Q&&!(D.Y(f,\'a\')&&h=3D=3D"4n")){7.5j=3DM;23{f[h]()}21(e){}}7.5j=3DQ}I =
b},1H:H(b){J =
a,1K,2T,5e,4m;b=3D1a[0]=3DD.W.6j(b||1c.W);2T=3Db.O.1Q(".");b.O=3D2T[0];2T=
=3D2T[1];5e=3D!2T&&!b.6k;4m=3D(D.L(7,"3x")||{})[b.O];R(J j 1k 4m){J =
c=3D4m[j];G(5e||c.O=3D=3D2T){b.2o=3Dc;b.L=3Dc.L;1K=3Dc.1t(7,1a);G(a!=3D=3D=
Q)a=3D1K;G(1K=3D=3D=3DQ){b.37();b.3X()}}}I a},2L:"8o 8n 8m 8l 2p 8k 42 =
5c 6h 5I 8j L 8i 8h 4k 2o 59 58 8e 8c 57 6f 8b 8a 4j 88 87 86 6d 2N 4J =
6c O 84 83 2S".1Q(" "),6j:H(b){G(b[E]=3D=3DM)I b;J c=3Db;b=3D{82:c};R(J =
i=3D7.2L.K,1e;i;){1e=3D7.2L[--i];b[1e]=3Dc[1e]}b[E]=3DM;b.37=3DH(){G(c.37=
)c.37();c.81=3DQ};b.3X=3DH(){G(c.3X)c.3X();c.80=3DM};b.4J=3Db.4J||1x();G(=
!b.2N)b.2N=3Db.6d||S;G(b.2N.15=3D=3D3)b.2N=3Db.2N.1f;G(!b.4j&&b.4k)b.4j=3D=
b.4k=3D=3Db.2N?b.6c:b.4k;G(b.57=3D=3DU&&b.5c!=3DU){J =
a=3DS.1B,1d=3DS.1d;b.57=3Db.5c+(a&&a.2c||1d&&1d.2c||0)-(a.69||0);b.6f=3Db=
.6h+(a&&a.2l||1d&&1d.2l||0)-(a.68||0)}G(!b.2S&&((b.42||b.42=3D=3D=3D0)?b.=
42:b.59))b.2S=3Db.42||b.59;G(!b.58&&b.5I)b.58=3Db.5I;G(!b.2S&&b.2p)b.2S=3D=
(b.2p&1?1:(b.2p&2?3:(b.2p&4?2:0)));I =
b},3J:H(a,b){b.29=3Da.29=3Da.29||b.29||7.29++;I =
b},2C:{25:{4q:H(){54();I},4G:H(){I}},4c:{4q:H(){G(D.14.1g)I =
Q;D(7).2O("51",D.W.2C.4c.2o);I M},4G:H(){G(D.14.1g)I =
Q;D(7).3L("51",D.W.2C.4c.2o);I M},2o:H(a){G(F(a,7))I M;a.O=3D"4c";I =
D.W.1H.1t(7,1a)}},3F:{4q:H(){G(D.14.1g)I Q;D(7).2O("4Z",D.W.2C.3F.2o);I =
M},4G:H(){G(D.14.1g)I Q;D(7).3L("4Z",D.W.2C.3F.2o);I =
M},2o:H(a){G(F(a,7))I M;a.O=3D"3F";I =
D.W.1H.1t(7,1a)}}}};D.18.1n({2O:H(c,a,b){I =
c=3D=3D"4Y"?7.2Y(c,a,b):7.P(H(){D.W.17(7,c,b||a,b&&a)})},2Y:H(d,b,c){J =
e=3DD.W.3J(c||b,H(a){D(7).3L(a,e);I(c||b).1t(7,1a)});I =
7.P(H(){D.W.17(7,d,e,c&&b)})},3L:H(a,b){I =
7.P(H(){D.W.1Z(7,a,b)})},1R:H(c,a,b){I =
7.P(H(){D.W.1R(c,a,7,M,b)})},5G:H(c,a,b){I =
7[0]&&D.W.1R(c,a,7[0],Q,b)},2B:H(b){J =
c=3D1a,i=3D1;1G(i<c.K)D.W.3J(b,c[i++]);I =
7.4n(D.W.3J(b,H(a){7.4X=3D(7.4X||0)%i;a.37();I =
c[7.4X++].1t(7,1a)||Q}))},7X:H(a,b){I =
7.2O(\'4c\',a).2O(\'3F\',b)},25:H(a){54();G(D.2Q)a.1l(S,D);N =
D.3D.1A(H(){I a.1l(7,D)});I =
7}});D.1n({2Q:Q,3D:[],25:H(){G(!D.2Q){D.2Q=3DM;G(D.3D){D.P(D.3D,H(){7.1l(=
S)});D.3D=3DU}D(S).5G("25")}}});J x=3DQ;H =
54(){G(x)I;x=3DM;G(S.4a&&!D.14.2H)S.4a("67",D.25,Q);G(D.14.1g&&1c=3D=3D1P=
)(H(){G(D.2Q)I;23{S.1B.7W("1z")}21(3g){3E(1a.3I,0);I}D.25()})();G(D.14.2H=
)S.4a("67",H(){G(D.2Q)I;R(J =
i=3D0;i<S.4V.K;i++)G(S.4V[i].3O){3E(1a.3I,0);I}D.25()},Q);G(D.14.2f){J =
a;(H(){G(D.2Q)I;G(S.3i!=3D"66"&&S.3i!=3D"1O"){3E(1a.3I,0);I}G(a=3D=3D=3D1=
2)a=3DD("V, =
7z[7U=3D7T]").K;G(S.4V.K!=3Da){3E(1a.3I,0);I}D.25()})()}D.W.17(1c,"3Y",D.=
25)}D.P(("7S,7R,3Y,7Q,4A,4Y,4n,7P,"+"89,7O,7N,51,4Z,7M,2y,"+"5m,8d,7L,7K,=
3g").1Q(","),H(i,b){D.18[b]=3DH(a){I a?7.2O(b,a):7.1R(b)}});J =
F=3DH(a,c){J b=3Da.4j;1G(b&&b!=3Dc)23{b=3Db.1f}21(3g){b=3Dc}I =
b=3D=3Dc};D(1c).2O("4Y",H(){D("*").17(S).3L()});D.18.1n({6e:D.18.3Y,3Y:H(=
g,d,c){G(1j g!=3D\'1W\')I 7.6e(g);J e=3Dg.1i(" ");G(e>=3D0){J =
i=3Dg.3w(e,g.K);g=3Dg.3w(0,e)}c=3Dc||H(){};J =
f=3D"2R";G(d)G(D.1F(d)){c=3Dd;d=3DU}N G(1j =
d=3D=3D\'3y\'){d=3DD.3A(d);f=3D"7J"}J =
h=3D7;D.3T({1b:g,O:f,1L:"2I",L:d,1O:H(a,b){G(b=3D=3D"1U"||b=3D=3D"7I")h.2=
I(i?D("<1w/>").3s(a.4U.1o(/<1m(.|\\s)*?\\/1m>/g,"")).2u(i):a.4U);h.P(c,[a=
.4U,b,a])}});I 7},aL:H(){I D.3A(7.7H())},7H:H(){I 7.2i(H(){I =
D.Y(7,"45")?D.2h(7.aK):7}).1E(H(){I =
7.32&&!7.3O&&(7.4M||/2y|6x/i.11(7.Y)||/1r|1C|3K/i.11(7.O))}).2i(H(i,c){J =
b=3DD(7).6a();I =
b=3D=3DU?U:b.1q=3D=3D2q?D.2i(b,H(a,i){I{32:c.32,2s:a}}):{32:c.32,2s:b}}).=
3p()}});D.P("7G,7D,7C,7B,6u,7A".1Q(","),H(i,o){D.18[o]=3DH(f){I =
7.2O(o,f)}});J B=3D1x();D.1n({3p:H(d,b,a,c){G(D.1F(b)){a=3Db;b=3DU}I =
D.3T({O:"2R",1b:d,L:b,1U:a,1L:c})},aG:H(b,a){I =
D.3p(b,U,a,"1m")},aF:H(c,b,a){I =
D.3p(c,b,a,"3B")},aD:H(d,b,a,c){G(D.1F(b)){a=3Db;b=3D{}}I =
D.3T({O:"7J",1b:d,L:b,1U:a,1L:c})},aC:H(a){D.1n(D.5Z,a)},5Z:{1b:5Y.5x,28:=
M,O:"2R",2W:0,7y:"4x/x-ay-45-ax",7v:M,31:M,L:U,5r:U,3K:U,4z:{2K:"4x/2K, =
1r/2K",2I:"1r/2I",1m:"1r/4v, 4x/4v",3B:"4x/3B, =
1r/4v",1r:"1r/as",4S:"*/*"}},4R:{},3T:H(s){s=3DD.1n(M,s,D.1n(M,{},D.5Z,s)=
);J g,33=3D/=3D\\?(&|$)/g,1v,L,O=3Ds.O.2m();G(s.L&&s.7v&&1j =
s.L!=3D"1W")s.L=3DD.3A(s.L);G(s.1L=3D=3D"4Q"){G(O=3D=3D"2R"){G(!s.1b.1I(3=
3))s.1b+=3D(s.1b.1I(/\\?/)?"&":"?")+(s.4Q||"7s")+"=3D?"}N =
G(!s.L||!s.L.1I(33))s.L=3D(s.L?s.L+"&":"")+(s.4Q||"7s")+"=3D?";s.1L=3D"3B=
"}G(s.1L=3D=3D"3B"&&(s.L&&s.L.1I(33)||s.1b.1I(33))){g=3D"4Q"+B++;G(s.L)s.=
L=3D(s.L+"").1o(33,"=3D"+g+"$1");s.1b=3Ds.1b.1o(33,"=3D"+g+"$1");s.1L=3D"=
1m";1c[g]=3DH(a){L=3Da;1U();1O();1c[g]=3D12;23{3d =
1c[g]}21(e){}G(i)i.30(h)}}G(s.1L=3D=3D"1m"&&s.1Y=3D=3DU)s.1Y=3DQ;G(s.1Y=3D=
=3D=3DQ&&O=3D=3D"2R"){J j=3D1x();J =
k=3Ds.1b.1o(/(\\?|&)3n=3D.*?(&|$)/,"$am=3D"+j+"$2");s.1b=3Dk+((k=3D=3Ds.1=
b)?(s.1b.1I(/\\?/)?"&":"?")+"3n=3D"+j:"")}G(s.L&&O=3D=3D"2R"){s.1b+=3D(s.=
1b.1I(/\\?/)?"&":"?")+s.L;s.L=3DU}G(s.28&&!D.4P++)D.W.1R("7G");J =
n=3D/^(?:\\w+:)?\\/\\/([^\\/?#]+)/;G(s.1L=3D=3D"1m"&&O=3D=3D"2R"&&n.11(s.=
1b)&&n.2D(s.1b)[1]!=3D5Y.ak){J i=3DS.40("6v")[0];J =
h=3DS.3t("1m");h.4e=3Ds.1b;G(s.7r)h.ai=3Ds.7r;G(!g){J =
l=3DQ;h.ag=3Dh.af=3DH(){G(!l&&(!7.3i||7.3i=3D=3D"66"||7.3i=3D=3D"1O")){l=3D=
M;1U();1O();i.30(h)}}}i.49(h);I 12}J m=3DQ;J c=3D1c.7q?2r 7q("ad.ac"):2r =
6Q();G(s.5r)c.7o(O,s.1b,s.31,s.5r,s.3K);N =
c.7o(O,s.1b,s.31);23{G(s.L)c.4O("ab-aa",s.7y);G(s.5T)c.4O("a9-5S-a8",D.4R=
[s.1b]||"a7, a6 a4 a3 5O:5O:5O =
a1");c.4O("X-a0-9Y","6Q");c.4O("9X",s.1L&&s.4z[s.1L]?s.4z[s.1L]+", =
*/*":s.4z.4S)}21(e){}G(s.7k&&s.7k(c,s)=3D=3D=3DQ){s.28&&D.4P--;c.7j();I =
Q}G(s.28)D.W.1R("7A",[c,s]);J =
d=3DH(a){G(!m&&c&&(c.3i=3D=3D4||a=3D=3D"2W")){m=3DM;G(f){7h(f);f=3DU}1v=3D=
a=3D=3D"2W"?"2W":!D.7g(c)?"3g":s.5T&&D.7f(c,s.1b)?"7I":"1U";G(1v=3D=3D"1U=
"){23{L=3DD.6U(c,s.1L,s.9S)}21(e){1v=3D"5L"}}G(1v=3D=3D"1U"){J =
b;23{b=3Dc.5K("7e-5S")}21(e){}G(s.5T&&b)D.4R[s.1b]=3Db;G(!g)1U()}N =
D.5E(s,c,1v);1O();G(s.31)c=3DU}};G(s.31){J =
f=3D4L(d,13);G(s.2W>0)3E(H(){G(c){c.7j();G(!m)d("2W")}},s.2W)}23{c.9R(s.L=
)}21(e){D.5E(s,c,U,e)}G(!s.31)d();H =
1U(){G(s.1U)s.1U(L,1v);G(s.28)D.W.1R("6u",[c,s])}H =
1O(){G(s.1O)s.1O(c,1v);G(s.28)D.W.1R("7C",[c,s]);G(s.28&&!--D.4P)D.W.1R("=
7D")}I =
c},5E:H(s,a,b,e){G(s.3g)s.3g(a,b,e);G(s.28)D.W.1R("7B",[a,s,e])},4P:0,7g:=
H(a){23{I!a.1v&&5Y.9Q=3D=3D"5o:"||(a.1v>=3D7c&&a.1v<9O)||a.1v=3D=3D7a||a.=
1v=3D=3D9N||D.14.2f&&a.1v=3D=3D12}21(e){}I Q},7f:H(a,c){23{J =
b=3Da.5K("7e-5S");I =
a.1v=3D=3D7a||b=3D=3DD.4R[c]||D.14.2f&&a.1v=3D=3D12}21(e){}I =
Q},6U:H(a,c,b){J =
d=3Da.5K("9L-O"),2K=3Dc=3D=3D"2K"||!c&&d&&d.1i("2K")>=3D0,L=3D2K?a.9K:a.4=
U;G(2K&&L.1B.2g=3D=3D"5L")7m"5L";G(b)L=3Db(L,c);G(c=3D=3D"1m")D.5u(L);G(c=
=3D=3D"3B")L=3D6s("("+L+")");I L},3A:H(a){J s=3D[];H =
17(b,a){s[s.K]=3D78(b)+\'=3D\'+78(a)};G(a.1q=3D=3D2q||a.5w)D.P(a,H(){17(7=
.32,7.2s)});N R(J j 1k =
a)G(a[j]&&a[j].1q=3D=3D2q)D.P(a[j],H(){17(j,7)});N =
17(j,D.1F(a[j])?a[j]():a[j]);I =
s.6r("&").1o(/%20/g,"+")}});D.18.1n({1N:H(c,b){I =
c?7.2j({1T:"1N",2d:"1N",1y:"1N"},c,b):7.1E(":1C").P(H(){7.V.19=3D7.5H||""=
;G(D.1h(7,"19")=3D=3D"2P"){J a=3DD("<"+7.2g+" =
/>").6O("1d");7.V.19=3Da.1h("19");G(7.V.19=3D=3D"2P")7.V.19=3D"3H";a.1Z()=
}}).3m()},1J:H(b,a){I =
b?7.2j({1T:"1J",2d:"1J",1y:"1J"},b,a):7.1E(":4i").P(H(){7.5H=3D7.5H||D.1h=
(7,"19");7.V.19=3D"2P"}).3m()},76:D.18.2B,2B:H(a,b){I =
D.1F(a)&&D.1F(b)?7.76.1t(7,1a):a?7.2j({1T:"2B",2d:"2B",1y:"2B"},a,b):7.P(=
H(){D(7)[D(7).3C(":1C")?"1N":"1J"]()})},9J:H(b,a){I =
7.2j({1T:"1N"},b,a)},9I:H(b,a){I 7.2j({1T:"1J"},b,a)},9H:H(b,a){I =
7.2j({1T:"2B"},b,a)},9G:H(b,a){I 7.2j({1y:"1N"},b,a)},9F:H(b,a){I =
7.2j({1y:"1J"},b,a)},9D:H(c,a,b){I 7.2j({1y:a},c,b)},2j:H(k,j,i,g){J =
h=3DD.74(j,i,g);I 7[h.35=3D=3D=3DQ?"P":"35"](H(){G(7.15!=3D1)I Q;J =
f=3DD.1n({},h),p,1C=3DD(7).3C(":1C"),41=3D7;R(p 1k =
k){G(k[p]=3D=3D"1J"&&1C||k[p]=3D=3D"1N"&&!1C)I =
f.1O.1l(7);G(p=3D=3D"1T"||p=3D=3D"2d"){f.19=3DD.1h(7,"19");f.34=3D7.V.34}=
}G(f.34!=3DU)7.V.34=3D"1C";f.44=3DD.1n({},k);D.P(k,H(c,a){J e=3D2r =
D.27(41,f,c);G(/2B|1N|1J/.11(a))e[a=3D=3D"2B"?1C?"1N":"1J":a](k);N{J =
b=3Da.6p().1I(/^([+-]=3D)?([\\d+-.]+)(.*)$/),2b=3De.1u(M)||0;G(b){J =
d=3D3e(b[2]),2M=3Db[3]||"2U";G(2M!=3D"2U"){41.V[c]=3D(d||1)+2M;2b=3D((d||=
1)/e.1u(M))*2b;41.V[c]=3D2b+2M}G(b[1])d=3D((b[1]=3D=3D"-=3D"?-1:1)*d)+2b;=
e.3Z(2b,d,2M)}N e.3Z(2b,a,"")}});I =
M})},35:H(a,b){G(D.1F(a)||(a&&a.1q=3D=3D2q)){b=3Da;a=3D"27"}G(!a||(1j =
a=3D=3D"1W"&&!b))I A(7[0],a);I =
7.P(H(){G(b.1q=3D=3D2q)A(7,a,b);N{A(7,a).1A(b);G(A(7,a).K=3D=3D1)b.1l(7)}=
})},9x:H(b,c){J a=3DD.3M;G(b)7.35([]);7.P(H(){R(J =
i=3Da.K-1;i>=3D0;i--)G(a[i].T=3D=3D7){G(c)a[i](M);a.7l(i,1)}});G(!c)7.5C(=
);I 7}});J A=3DH(b,c,a){G(b){c=3Dc||"27";J =
q=3DD.L(b,c+"35");G(!q||a)q=3DD.L(b,c+"35",D.2h(a))}I =
q};D.18.5C=3DH(a){a=3Da||"27";I 7.P(H(){J =
q=3DA(7,a);q.4s();G(q.K)q[0].1l(7)})};D.1n({74:H(b,a,c){J =
d=3Db&&b.1q=3D=3D9u?b:{1O:c||!c&&a||D.1F(b)&&b,2v:b,3U:c&&a||a&&a.1q!=3D9=
t&&a};d.2v=3D(d.2v&&d.2v.1q=3D=3D4N?d.2v:D.27.5N[d.2v])||D.27.5N.71;d.5P=3D=
d.1O;d.1O=3DH(){G(d.35!=3D=3DQ)D(7).5C();G(D.1F(d.5P))d.5P.1l(7)};I =
d},3U:{7n:H(p,n,b,a){I =
b+a*p},5Q:H(p,n,b,a){I((-26.9r(p*26.9q)/2)+0.5)*a+b}},3M:[],46:U,27:H(b,c=
,a){7.16=3Dc;7.T=3Db;7.1e=3Da;G(!c.3R)c.3R=3D{}}});D.27.3V=3D{4E:H(){G(7.=
16.2Z)7.16.2Z.1l(7.T,7.1x,7);(D.27.2Z[7.1e]||D.27.2Z.4S)(7);G(7.1e=3D=3D"=
1T"||7.1e=3D=3D"2d")7.T.V.19=3D"3H"},1u:H(a){G(7.T[7.1e]!=3DU&&7.T.V[7.1e=
]=3D=3DU)I 7.T[7.1e];J r=3D3e(D.1h(7.T,7.1e,a));I =
r&&r>-9p?r:3e(D.24(7.T,7.1e))||0},3Z:H(c,b,d){7.5B=3D1x();7.2b=3Dc;7.3m=3D=
b;7.2M=3Dd||7.2M||"2U";7.1x=3D7.2b;7.36=3D7.4C=3D0;7.4E();J e=3D7;H =
t(a){I e.2Z(a)}t.T=3D7.T;D.3M.1A(t);G(D.46=3D=3DU){D.46=3D4L(H(){J =
a=3DD.3M;R(J =
i=3D0;i<a.K;i++)G(!a[i]())a.7l(i--,1);G(!a.K){7h(D.46);D.46=3DU}},13)}},1=
N:H(){7.16.3R[7.1e]=3DD.1M(7.T.V,7.1e);7.16.1N=3DM;7.3Z(0,7.1u());G(7.1e=3D=
=3D"2d"||7.1e=3D=3D"1T")7.T.V[7.1e]=3D"9l";D(7.T).1N()},1J:H(){7.16.3R[7.=
1e]=3DD.1M(7.T.V,7.1e);7.16.1J=3DM;7.3Z(7.1u(),0)},2Z:H(a){J =
t=3D1x();G(a||t>7.16.2v+7.5B){7.1x=3D7.3m;7.36=3D7.4C=3D1;7.4E();7.16.44[=
7.1e]=3DM;J b=3DM;R(J i 1k =
7.16.44)G(7.16.44[i]!=3D=3DM)b=3DQ;G(b){G(7.16.19!=3DU){7.T.V.34=3D7.16.3=
4;7.T.V.19=3D7.16.19;G(D.1h(7.T,"19")=3D=3D"2P")7.T.V.19=3D"3H"}G(7.16.1J=
)7.T.V.19=3D"2P";G(7.16.1J||7.16.1N)R(J p 1k =
7.16.44)D.1M(7.T.V,p,7.16.3R[p])}G(b)7.16.1O.1l(7.T);I Q}N{J =
n=3Dt-7.5B;7.4C=3Dn/7.16.2v;7.36=3DD.3U[7.16.3U||(D.3U.5Q?"5Q":"7n")](7.4=
C,n,0,1,7.16.2v);7.1x=3D7.2b+((7.3m-7.2b)*7.36);7.4E()}I =
M}};D.1n(D.27,{5N:{9k:9i,an:7c,71:ao},2Z:{2c:H(a){a.T.2c=3Da.1x},2l:H(a){=
a.T.2l=3Da.1x},1y:H(a){D.1M(a.T.V,"1y",a.1x)},4S:H(a){a.T.V[a.1e]=3Da.1x+=
a.2M}}});D.18.2k=3DH(){J b=3D0,1P=3D0,T=3D7[0],3q;G(T)9f(D.14){J =
d=3DT.1f,48=3DT,1p=3DT.1p,1S=3DT.2z,5V=3D2f&&3v(5F)<9c&&!/aw/i.11(v),1h=3D=
D.24,2X=3D1h(T,"3c")=3D=3D"2X";G(!(3r&&T=3D=3DS.1d)&&T.6T){J =
c=3DT.6T();17(c.1z+26.2e(1S.1B.2c,1S.1d.2c),c.1P+26.2e(1S.1B.2l,1S.1d.2l)=
);17(-1S.1B.69,-1S.1B.68)}N{17(T.5X,T.5z);1G(1p){17(1p.5X,1p.5z);G(3r&&!/=
^t(98|d|h)$/i.11(1p.2g)||2f&&!5V)2A(1p);G(!2X&&1h(1p,"3c")=3D=3D"2X")2X=3D=
M;48=3D/^1d$/i.11(1p.2g)?48:1p;1p=3D1p.1p}1G(d&&d.2g&&!/^1d|2I$/i.11(d.2g=
)){G(!/^97|1X.*$/i.11(1h(d,"19")))17(-d.2c,-d.2l);G(3r&&1h(d,"34")!=3D"4i=
")2A(d);d=3Dd.1f}G((5V&&(2X||1h(48,"3c")=3D=3D"5g"))||(3r&&1h(48,"3c")!=3D=
"5g"))17(-1S.1d.5X,-1S.1d.5z);G(2X)17(26.2e(1S.1B.2c,1S.1d.2c),26.2e(1S.1=
B.2l,1S.1d.2l))}3q=3D{1P:1P,1z:b}}H =
2A(a){17(D.24(a,"7w",M),D.24(a,"7x",M))}H =
17(l,t){b+=3D3v(l,10)||0;1P+=3D3v(t,10)||0}I 3q};D.18.1n({3c:H(){J =
a=3D0,1P=3D0,3q;G(7[0]){J =
b=3D7.1p(),2k=3D7.2k(),4b=3D/^1d|2I$/i.11(b[0].2g)?{1P:0,1z:0}:b.2k();2k.=
1P-=3D2a(7,\'95\');2k.1z-=3D2a(7,\'94\');4b.1P+=3D2a(b,\'7x\');4b.1z+=3D2=
a(b,\'7w\');3q=3D{1P:2k.1P-4b.1P,1z:2k.1z-4b.1z}}I 3q},1p:H(){J =
a=3D7[0].1p;1G(a&&(!/^1d|2I$/i.11(a.2g)&&D.1h(a,\'3c\')=3D=3D\'aI\'))a=3D=
a.1p;I D(a)}});D.P([\'5d\',\'5b\'],H(i,b){J =
c=3D\'4A\'+b;D.18[c]=3DH(a){G(!7[0])I;I =
a!=3D12?7.P(H(){7=3D=3D1c||7=3D=3DS?1c.aJ(!i?a:D(1c).2c(),i?a:D(1c).2l())=
:7[c]=3Da}):7[0]=3D=3D1c||7[0]=3D=3DS?41[i?\'92\':\'91\']||D.6Y&&S.1B[c]|=
|S.1d[c]:7[0][c]}});D.P(["6M","47"],H(i,b){J =
c=3Di?"5d":"5b",43=3Di?"6i":"6g";D.18["5s"+b]=3DH(){I =
7[b.3h()]()+2a(7,"55"+c)+2a(7,"55"+43)};D.18["aM"+b]=3DH(a){I =
7["5s"+b]()+2a(7,"2A"+c+"47")+2a(7,"2A"+43+"47")+(a?2a(7,"7F"+c)+2a(7,"7F=
"+43):0)}})})();',62,671,'|||||||this|||||||||||||||||||||||||||||||||||i=
f|function|return|var|length|data|true|else|type|each|false|for|document|=
elem|null|style|event||nodeName|||test|undefined||browser|nodeType|option=
s|add|fn|display|arguments|url|window|body|prop|parentNode|msie|css|index=
Of|typeof|in|call|script|extend|replace|offsetParent|constructor|text|fir=
stChild|apply|cur|status|div|now|opacity|left|push|documentElement|hidden=
|className|filter|isFunction|while|handle|match|hide|ret|dataType|attr|sh=
ow|complete|top|split|trigger|doc|height|success|break|string|table|cache=
|remove||catch|tbody|try|curCSS|ready|Math|fx|global|guid|num|start|scrol=
lLeft|width|max|safari|tagName|makeArray|map|animate|offset|scrollTop|toU=
pperCase||handler|button|Array|new|value|id|find|duration|done|copy|selec=
t|ownerDocument|border|toggle|special|exec|inArray|pushStack|stack|opera|=
html|nextSibling|xml|props|unit|target|bind|none|isReady|GET|which|namesp=
ace|px|nth|timeout|fixed|one|step|removeChild|async|name|jsre|overflow|qu=
eue|pos|preventDefault|insertBefore|merge|selected|removeData|position|de=
lete|parseFloat|multiFilter|error|toLowerCase|readyState|rl|re|trim|end|_=
|first|get|results|mozilla|append|createElement|childNodes|parseInt|slice=
|events|object|elems|param|json|is|readyList|setTimeout|mouseleave|grep|b=
lock|callee|proxy|password|unbind|timers|defaultView|disabled|last|has|or=
ig|domManip|ajax|easing|prototype|set|stopPropagation|load|custom|getElem=
entsByTagName|self|charCode|br|curAnim|form|timerId|Width|offsetChild|app=
endChild|addEventListener|parentOffset|mouseenter|color|src|currentStyle|=
float|clean|visible|relatedTarget|fromElement|innerHTML|handlers|click|is=
XMLDoc|on|setup|nodeIndex|shift|input|unique|javascript|child|application=
|RegExp|accepts|scroll|deep|state|previousSibling|update|empty|teardown|t=
r|jQuery|timeStamp|getAttribute|setInterval|checked|Number|setRequestHead=
er|active|jsonp|lastModified|_default|dir|responseText|styleSheets|not|la=
stToggle|unload|mouseout|outline|mouseover|getPropertyValue|getComputedSt=
yle|bindReady|padding|String|pageX|metaKey|keyCode|getWH|Top|clientX|Left=
|all|container|absolute|index|init|triggered|removeAttribute|classFilter|=
submit|prevObject|file|after|windowData|username|inner|client|globalEval|=
sibling|jquery|href|clone|offsetTop|checkbox|startTime|dequeue|visibility=
|handleError|version|triggerHandler|oldblock|ctrlKey|createTextNode|getRe=
sponseHeader|parsererror|andSelf|speeds|00|old|swing|radio|Modified|ifMod=
ified|lastChild|safari2|wrapAll|offsetLeft|location|ajaxSettings|getEleme=
ntById|isSimple|values|selectedIndex|runtimeStyle|rsLeft|loaded|DOMConten=
tLoaded|clientTop|clientLeft|val|unshift|toElement|srcElement|_load|pageY=
|Bottom|clientY|Right|fix|exclusive|detachEvent|removeEventListener|clone=
Node|swap|toString|attachEvent|join|eval|substr|ajaxSuccess|head|parse|te=
xtarea|reset|image|zoom|odd|even|before|prepend|expr|exclude|quickClass|q=
uickID|quickChild|uuid|continue|Height|textContent|appendTo|contents|XMLH=
ttpRequest|evalScript|parent|getBoundingClientRect|httpData|setArray|CSS1=
Compat|compatMode|boxModel|cssFloat|styleFloat|def|webkit|nodeValue|speed=
|concat|_toggle|eq|encodeURIComponent|100|304|replaceWith|200|alpha|Last|=
httpNotModified|httpSuccess|clearInterval|getAttributeNode|abort|beforeSe=
nd|splice|throw|linear|open|colgroup|ActiveXObject|scriptCharset|callback=
|fieldset|multiple|processData|borderLeftWidth|borderTopWidth|contentType=
|link|ajaxSend|ajaxError|ajaxComplete|ajaxStop|col|margin|ajaxStart|seria=
lizeArray|notmodified|POST|keyup|keypress|change|mousemove|mouseup|dblcli=
ck|resize|focus|blur|stylesheet|rel|hasClass|doScroll|hover|black|solid|c=
ancelBubble|returnValue|originalEvent|wheelDelta|view|round|shiftKey|scre=
enY|screenX|mousedown|relatedNode|prevValue|originalTarget|keydown|newVal=
ue|offsetHeight|offsetWidth|eventPhase|detail|currentTarget|cancelable|bu=
bbles|attrName|attrChange|altKey|charAt|0n|substring|animated|header|noCo=
nflict|enabled|line|innerText|contains|only|weight|font|gt|lt|uFFFF|u0128=
|417|size|Boolean|toggleClass|Date|removeClass|addClass|removeAttr|replac=
eAll|insertAfter|prependTo|contentWindow|wrap|contentDocument|iframe|chil=
dren|siblings|prevAll|nextAll|wrapInner|prev|pageXOffset|pageYOffset|next=
|marginLeft|marginTop|parents|inline|able|rowSpan|rowspan|cellSpacing|522=
|cellspacing|maxLength|with|maxlength|readOnly|600|readonly|slow|1px|clas=
s|htmlFor|reverse|10000|PI|cos|compatible|Function|Object|setData|ie|stop=
|ra|it|rv|getData|userAgent|fadeTo|navigator|fadeOut|fadeIn|slideToggle|s=
lideUp|slideDown|responseXML|content|ig|1223|300|NaN|protocol|send|dataFi=
lter|setAttribute|option|cssText|changed|Accept|With|be|Requested|GMT|can=
|1970|Jan|property|01|Thu|Since|If|Type|Content|XMLHTTP|Microsoft|th|onre=
adystatechange|onload|td|charset|cap|host|colg|1_|fast|400|tfoot|specifie=
d|thead|plain|leg|attributes|opt|adobeair|urlencoded|www|embed|area|hr|aj=
axSetup|post|meta|getJSON|getScript|img|static|scrollTo|elements|serializ=
e|outer|abbr|pixelLeft'.split('|'),0,{}));jQuery.noConflict();=0A=

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-includes/js/wp-ajax-response.js?ver=20081210

wpAjax =3D jQuery.extend( {=0A=
	unserialize: function( s ) {=0A=
		var r =3D {}; if ( !s ) { return r; }=0A=
		var q =3D s.split('?'); if ( q[1] ) { s =3D q[1]; }=0A=
		var pp =3D s.split('&');=0A=
		for ( var i in pp ) {=0A=
			if ( jQuery.isFunction(pp.hasOwnProperty) && !pp.hasOwnProperty(i) ) =
{ continue; }=0A=
			var p =3D pp[i].split('=3D');=0A=
			r[p[0]] =3D p[1];=0A=
		}=0A=
		return r;=0A=
	},=0A=
	parseAjaxResponse: function( x, r, e ) { // 1 =3D good, 0 =3D strange =
(bad data?), -1 =3D you lack permission=0A=
		var parsed =3D {};=0A=
		var re =3D jQuery('#' + r).html('');=0A=
		if ( x && typeof x =3D=3D 'object' && =
x.getElementsByTagName('wp_ajax') ) {=0A=
			parsed.responses =3D [];=0A=
			parsed.errors =3D false;=0A=
			var err =3D '';=0A=
			jQuery('response', x).each( function() {=0A=
				var th =3D jQuery(this);=0A=
				var child =3D jQuery(this.firstChild);=0A=
				var response =3D { action: th.attr('action'), what: =
child.get(0).nodeName, id: child.attr('id'), oldId: =
child.attr('old_id'), position: child.attr('position') };=0A=
				response.data =3D jQuery( 'response_data', child ).text();=0A=
				response.supplemental =3D {};=0A=
				if ( !jQuery( 'supplemental', child ).children().each( function() {=0A=
					response.supplemental[this.nodeName] =3D jQuery(this).text();=0A=
				} ).size() ) { response.supplemental =3D false }=0A=
				response.errors =3D [];=0A=
				if ( !jQuery('wp_error', child).each( function() {=0A=
					var code =3D jQuery(this).attr('code');=0A=
					var anError =3D { code: code, message: this.firstChild.nodeValue, =
data: false };=0A=
					var errorData =3D jQuery('wp_error_data[code=3D"' + code + '"]', x);=0A=
					if ( errorData ) { anError.data =3D errorData.get(); }=0A=
					var formField =3D jQuery( 'form-field', errorData ).text();=0A=
					if ( formField ) { code =3D formField; }=0A=
					if ( e ) { wpAjax.invalidateForm( jQuery('#' + e + ' =
:input[name=3D"' + code + '"]' ).parents('.form-field:first') ); }=0A=
					err +=3D '<p>' + anError.message + '</p>';=0A=
					response.errors.push( anError );=0A=
					parsed.errors =3D true;=0A=
				} ).size() ) { response.errors =3D false; }=0A=
				parsed.responses.push( response );=0A=
			} );=0A=
			if ( err.length ) { re.html( '<div class=3D"error">' + err + '</div>' =
); }=0A=
			return parsed;=0A=
		}=0A=
		if ( isNaN(x) ) { return !re.html('<div class=3D"error"><p>' + x + =
'</p></div>'); }=0A=
		x =3D parseInt(x,10);=0A=
		if ( -1 =3D=3D x ) { return !re.html('<div class=3D"error"><p>' + =
wpAjax.noPerm + '</p></div>'); }=0A=
		else if ( 0 =3D=3D=3D x ) { return !re.html('<div class=3D"error"><p>' =
+ wpAjax.broken  + '</p></div>'); }=0A=
		return true;=0A=
	},=0A=
	invalidateForm: function ( selector ) {=0A=
		return jQuery( selector ).addClass( 'form-invalid' ).change( =
function() { jQuery(this).removeClass( 'form-invalid' ); } );=0A=
	},=0A=
	validateForm: function( selector ) {=0A=
		selector =3D jQuery( selector );=0A=
		return !wpAjax.invalidateForm( =
selector.find('.form-required').andSelf().filter('.form-required:has(:inp=
ut[value=3D""]), .form-required:input[value=3D""]') ).size();=0A=
	}=0A=
}, wpAjax || { noPerm: 'You do not have permission to do that.', broken: =
'An unidentified error has occurred.' } );=0A=

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-includes/js/thickbox/thickbox.js?ver=3.1-20080430

/*=0A=
 * Thickbox 3.1 - One Box To Rule Them All.=0A=
 * By Cody Lindley (http://www.codylindley.com)=0A=
 * Copyright (c) 2007 cody lindley=0A=
 * Licensed under the MIT License: =
http://www.opensource.org/licenses/mit-license.php=0A=
*/=0A=
		  =0A=
var tb_pathToImage =3D "../wp-includes/js/thickbox/loadingAnimation.gif";=0A=
var tb_closeImage =3D "../wp-includes/js/thickbox/tb-close.png";=0A=
=0A=
/*!!!!!!!!!!!!!!!!! edit below this line at your own risk =
!!!!!!!!!!!!!!!!!!!!!!!*/=0A=
=0A=
//on page load call tb_init=0A=
jQuery(document).ready(function(){   =0A=
	tb_init('a.thickbox, area.thickbox, input.thickbox');//pass where to =
apply thickbox=0A=
	imgLoader =3D new Image();// preload image=0A=
	imgLoader.src =3D tb_pathToImage;=0A=
});=0A=
=0A=
//add thickbox to href & area elements that have a class of .thickbox=0A=
function tb_init(domChunk){=0A=
	jQuery(domChunk).click(function(){=0A=
	var t =3D this.title || this.name || null;=0A=
	var a =3D this.href || this.alt;=0A=
	var g =3D this.rel || false;=0A=
	tb_show(t,a,g);=0A=
	this.blur();=0A=
	return false;=0A=
	});=0A=
}=0A=
=0A=
function tb_show(caption, url, imageGroup) {//function called when the =
user clicks on a thickbox link=0A=
=0A=
	try {=0A=
		if (typeof document.body.style.maxHeight =3D=3D=3D "undefined") {//if =
IE 6=0A=
			jQuery("body","html").css({height: "100%", width: "100%"});=0A=
			jQuery("html").css("overflow","hidden");=0A=
			if (document.getElementById("TB_HideSelect") =3D=3D=3D null) =
{//iframe to hide select elements in ie6=0A=
				jQuery("body").append("<iframe id=3D'TB_HideSelect'></iframe><div =
id=3D'TB_overlay'></div><div id=3D'TB_window'></div>");=0A=
				jQuery("#TB_overlay").click(tb_remove);=0A=
			}=0A=
		}else{//all others=0A=
			if(document.getElementById("TB_overlay") =3D=3D=3D null){=0A=
				jQuery("body").append("<div id=3D'TB_overlay'></div><div =
id=3D'TB_window'></div>");=0A=
				jQuery("#TB_overlay").click(tb_remove);=0A=
			}=0A=
		}=0A=
		=0A=
		if(tb_detectMacXFF()){=0A=
			jQuery("#TB_overlay").addClass("TB_overlayMacFFBGHack");//use png =
overlay so hide flash=0A=
		}else{=0A=
			jQuery("#TB_overlay").addClass("TB_overlayBG");//use background and =
opacity=0A=
		}=0A=
		=0A=
		if(caption=3D=3D=3Dnull){caption=3D"";}=0A=
		jQuery("body").append("<div id=3D'TB_load'><img =
src=3D'"+imgLoader.src+"' /></div>");//add loader to the page=0A=
		jQuery('#TB_load').show();//show loader=0A=
		=0A=
		var baseURL;=0A=
	   if(url.indexOf("?")!=3D=3D-1){ //ff there is a query string involved=0A=
			baseURL =3D url.substr(0, url.indexOf("?"));=0A=
	   }else{ =0A=
	   		baseURL =3D url;=0A=
	   }=0A=
	   =0A=
	   var urlString =3D /\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;=0A=
	   var urlType =3D baseURL.toLowerCase().match(urlString);=0A=
=0A=
		if(urlType =3D=3D '.jpg' || urlType =3D=3D '.jpeg' || urlType =3D=3D =
'.png' || urlType =3D=3D '.gif' || urlType =3D=3D '.bmp'){//code to show =
images=0A=
				=0A=
			TB_PrevCaption =3D "";=0A=
			TB_PrevURL =3D "";=0A=
			TB_PrevHTML =3D "";=0A=
			TB_NextCaption =3D "";=0A=
			TB_NextURL =3D "";=0A=
			TB_NextHTML =3D "";=0A=
			TB_imageCount =3D "";=0A=
			TB_FoundURL =3D false;=0A=
			if(imageGroup){=0A=
				TB_TempArray =3D jQuery("a[@rel=3D"+imageGroup+"]").get();=0A=
				for (TB_Counter =3D 0; ((TB_Counter < TB_TempArray.length) && =
(TB_NextHTML =3D=3D=3D "")); TB_Counter++) {=0A=
					var urlTypeTemp =3D =
TB_TempArray[TB_Counter].href.toLowerCase().match(urlString);=0A=
						if (!(TB_TempArray[TB_Counter].href =3D=3D url)) {						=0A=
							if (TB_FoundURL) {=0A=
								TB_NextCaption =3D TB_TempArray[TB_Counter].title;=0A=
								TB_NextURL =3D TB_TempArray[TB_Counter].href;=0A=
								TB_NextHTML =3D "<span id=3D'TB_next'>&nbsp;&nbsp;<a =
href=3D'#'>Next &gt;</a></span>";=0A=
							} else {=0A=
								TB_PrevCaption =3D TB_TempArray[TB_Counter].title;=0A=
								TB_PrevURL =3D TB_TempArray[TB_Counter].href;=0A=
								TB_PrevHTML =3D "<span id=3D'TB_prev'>&nbsp;&nbsp;<a =
href=3D'#'>&lt; Prev</a></span>";=0A=
							}=0A=
						} else {=0A=
							TB_FoundURL =3D true;=0A=
							TB_imageCount =3D "Image " + (TB_Counter + 1) +" of "+ =
(TB_TempArray.length);											=0A=
						}=0A=
				}=0A=
			}=0A=
=0A=
			imgPreloader =3D new Image();=0A=
			imgPreloader.onload =3D function(){		=0A=
			imgPreloader.onload =3D null;=0A=
				=0A=
			// Resizing large images - orginal by Christian Montoya edited by me.=0A=
			var pagesize =3D tb_getPageSize();=0A=
			var x =3D pagesize[0] - 150;=0A=
			var y =3D pagesize[1] - 150;=0A=
			var imageWidth =3D imgPreloader.width;=0A=
			var imageHeight =3D imgPreloader.height;=0A=
			if (imageWidth > x) {=0A=
				imageHeight =3D imageHeight * (x / imageWidth); =0A=
				imageWidth =3D x; =0A=
				if (imageHeight > y) { =0A=
					imageWidth =3D imageWidth * (y / imageHeight); =0A=
					imageHeight =3D y; =0A=
				}=0A=
			} else if (imageHeight > y) { =0A=
				imageWidth =3D imageWidth * (y / imageHeight); =0A=
				imageHeight =3D y; =0A=
				if (imageWidth > x) { =0A=
					imageHeight =3D imageHeight * (x / imageWidth); =0A=
					imageWidth =3D x;=0A=
				}=0A=
			}=0A=
			// End Resizing=0A=
			=0A=
			TB_WIDTH =3D imageWidth + 30;=0A=
			TB_HEIGHT =3D imageHeight + 60;=0A=
			jQuery("#TB_window").append("<a href=3D'' id=3D'TB_ImageOff' =
title=3D'Close'><img id=3D'TB_Image' src=3D'"+url+"' =
width=3D'"+imageWidth+"' height=3D'"+imageHeight+"' =
alt=3D'"+caption+"'/></a>" + "<div id=3D'TB_caption'>"+caption+"<div =
id=3D'TB_secondLine'>" + TB_imageCount + TB_PrevHTML + TB_NextHTML + =
"</div></div><div id=3D'TB_closeWindow'><a href=3D'#' =
id=3D'TB_closeWindowButton' title=3D'Close'><img src=3D'" + =
tb_closeImage + "' /></a></div>"); 		=0A=
			=0A=
			jQuery("#TB_closeWindowButton").click(tb_remove);=0A=
			=0A=
			if (!(TB_PrevHTML =3D=3D=3D "")) {=0A=
				function goPrev(){=0A=
					=
if(jQuery(document).unbind("click",goPrev)){jQuery(document).unbind("clic=
k",goPrev);}=0A=
					jQuery("#TB_window").remove();=0A=
					jQuery("body").append("<div id=3D'TB_window'></div>");=0A=
					tb_show(TB_PrevCaption, TB_PrevURL, imageGroup);=0A=
					return false;	=0A=
				}=0A=
				jQuery("#TB_prev").click(goPrev);=0A=
			}=0A=
			=0A=
			if (!(TB_NextHTML =3D=3D=3D "")) {		=0A=
				function goNext(){=0A=
					jQuery("#TB_window").remove();=0A=
					jQuery("body").append("<div id=3D'TB_window'></div>");=0A=
					tb_show(TB_NextCaption, TB_NextURL, imageGroup);				=0A=
					return false;	=0A=
				}=0A=
				jQuery("#TB_next").click(goNext);=0A=
				=0A=
			}=0A=
=0A=
			document.onkeydown =3D function(e){ 	=0A=
				if (e =3D=3D null) { // ie=0A=
					keycode =3D event.keyCode;=0A=
				} else { // mozilla=0A=
					keycode =3D e.which;=0A=
				}=0A=
				if(keycode =3D=3D 27){ // close=0A=
					tb_remove();=0A=
				} else if(keycode =3D=3D 190){ // display previous image=0A=
					if(!(TB_NextHTML =3D=3D "")){=0A=
						document.onkeydown =3D "";=0A=
						goNext();=0A=
					}=0A=
				} else if(keycode =3D=3D 188){ // display next image=0A=
					if(!(TB_PrevHTML =3D=3D "")){=0A=
						document.onkeydown =3D "";=0A=
						goPrev();=0A=
					}=0A=
				}	=0A=
			};=0A=
			=0A=
			tb_position();=0A=
			jQuery("#TB_load").remove();=0A=
			jQuery("#TB_ImageOff").click(tb_remove);=0A=
			jQuery("#TB_window").css({display:"block"}); //for safari using css =
instead of show=0A=
			};=0A=
			=0A=
			imgPreloader.src =3D url;=0A=
		}else{//code to show html=0A=
			=0A=
			var queryString =3D url.replace(/^[^\?]+\??/,'');=0A=
			var params =3D tb_parseQuery( queryString );=0A=
=0A=
			TB_WIDTH =3D (params['width']*1) + 30 || 630; //defaults to 630 if no =
paramaters were added to URL=0A=
			TB_HEIGHT =3D (params['height']*1) + 40 || 440; //defaults to 440 if =
no paramaters were added to URL=0A=
			ajaxContentW =3D TB_WIDTH - 30;=0A=
			ajaxContentH =3D TB_HEIGHT - 45;=0A=
			=0A=
			if(url.indexOf('TB_iframe') !=3D -1){// either iframe or ajax window		=0A=
					urlNoQuery =3D url.split('TB_');=0A=
					jQuery("#TB_iframeContent").remove();=0A=
					if(params['modal'] !=3D "true"){//iframe no modal=0A=
						jQuery("#TB_window").append("<div id=3D'TB_title'><div =
id=3D'TB_ajaxWindowTitle'>"+caption+"</div><div =
id=3D'TB_closeAjaxWindow'><a href=3D'#' id=3D'TB_closeWindowButton' =
title=3D'Close'><img src=3D'" + tb_closeImage + "' =
/></a></div></div><iframe frameborder=3D'0' hspace=3D'0' =
src=3D'"+urlNoQuery[0]+"' id=3D'TB_iframeContent' =
name=3D'TB_iframeContent"+Math.round(Math.random()*1000)+"' =
onload=3D'tb_showIframe()' style=3D'width:"+(ajaxContentW + =
29)+"px;height:"+(ajaxContentH + 17)+"px;' > </iframe>");=0A=
					}else{//iframe modal=0A=
					jQuery("#TB_overlay").unbind();=0A=
						jQuery("#TB_window").append("<iframe frameborder=3D'0' =
hspace=3D'0' src=3D'"+urlNoQuery[0]+"' id=3D'TB_iframeContent' =
name=3D'TB_iframeContent"+Math.round(Math.random()*1000)+"' =
onload=3D'tb_showIframe()' style=3D'width:"+(ajaxContentW + =
29)+"px;height:"+(ajaxContentH + 17)+"px;'> </iframe>");=0A=
					}=0A=
			}else{// not an iframe, ajax=0A=
					if(jQuery("#TB_window").css("display") !=3D "block"){=0A=
						if(params['modal'] !=3D "true"){//ajax no modal=0A=
						jQuery("#TB_window").append("<div id=3D'TB_title'><div =
id=3D'TB_ajaxWindowTitle'>"+caption+"</div><div =
id=3D'TB_closeAjaxWindow'><a href=3D'#' id=3D'TB_closeWindowButton'><img =
src=3D'" + tb_closeImage + "' /></a></div></div><div =
id=3D'TB_ajaxContent' =
style=3D'width:"+ajaxContentW+"px;height:"+ajaxContentH+"px'></div>");=0A=
						}else{//ajax modal=0A=
						jQuery("#TB_overlay").unbind();=0A=
						jQuery("#TB_window").append("<div id=3D'TB_ajaxContent' =
class=3D'TB_modal' =
style=3D'width:"+ajaxContentW+"px;height:"+ajaxContentH+"px;'></div>");	=0A=
						}=0A=
					}else{//this means the window is already up, we are just loading =
new content via ajax=0A=
						jQuery("#TB_ajaxContent")[0].style.width =3D ajaxContentW +"px";=0A=
						jQuery("#TB_ajaxContent")[0].style.height =3D ajaxContentH +"px";=0A=
						jQuery("#TB_ajaxContent")[0].scrollTop =3D 0;=0A=
						jQuery("#TB_ajaxWindowTitle").html(caption);=0A=
					}=0A=
			}=0A=
					=0A=
			jQuery("#TB_closeWindowButton").click(tb_remove);=0A=
			=0A=
				if(url.indexOf('TB_inline') !=3D -1){	=0A=
					jQuery("#TB_ajaxContent").append(jQuery('#' + =
params['inlineId']).children());=0A=
					jQuery("#TB_window").unload(function () {=0A=
						jQuery('#' + params['inlineId']).append( =
jQuery("#TB_ajaxContent").children() ); // move elements back when =
you're finished=0A=
					});=0A=
					tb_position();=0A=
					jQuery("#TB_load").remove();=0A=
					jQuery("#TB_window").css({display:"block"}); =0A=
				}else if(url.indexOf('TB_iframe') !=3D -1){=0A=
					tb_position();=0A=
					if($.browser.safari){//safari needs help because it will not fire =
iframe onload=0A=
						jQuery("#TB_load").remove();=0A=
						jQuery("#TB_window").css({display:"block"});=0A=
					}=0A=
				}else{=0A=
					jQuery("#TB_ajaxContent").load(url +=3D "&random=3D" + (new =
Date().getTime()),function(){//to do a post change this load method=0A=
						tb_position();=0A=
						jQuery("#TB_load").remove();=0A=
						tb_init("#TB_ajaxContent a.thickbox");=0A=
						jQuery("#TB_window").css({display:"block"});=0A=
					});=0A=
				}=0A=
			=0A=
		}=0A=
=0A=
		if(!params['modal']){=0A=
			document.onkeyup =3D function(e){ 	=0A=
				if (e =3D=3D null) { // ie=0A=
					keycode =3D event.keyCode;=0A=
				} else { // mozilla=0A=
					keycode =3D e.which;=0A=
				}=0A=
				if(keycode =3D=3D 27){ // close=0A=
					tb_remove();=0A=
				}	=0A=
			};=0A=
		}=0A=
		=0A=
	} catch(e) {=0A=
		//nothing here=0A=
	}=0A=
}=0A=
=0A=
//helper functions below=0A=
function tb_showIframe(){=0A=
	jQuery("#TB_load").remove();=0A=
	jQuery("#TB_window").css({display:"block"});=0A=
}=0A=
=0A=
function tb_remove() {=0A=
 	jQuery("#TB_imageOff").unbind("click");=0A=
	jQuery("#TB_closeWindowButton").unbind("click");=0A=
	=
jQuery("#TB_window").fadeOut("fast",function(){jQuery('#TB_window,#TB_ove=
rlay,#TB_HideSelect').trigger("unload").unbind().remove();});=0A=
	jQuery("#TB_load").remove();=0A=
	if (typeof document.body.style.maxHeight =3D=3D "undefined") {//if IE 6=0A=
		jQuery("body","html").css({height: "auto", width: "auto"});=0A=
		jQuery("html").css("overflow","");=0A=
	}=0A=
	document.onkeydown =3D "";=0A=
	document.onkeyup =3D "";=0A=
	return false;=0A=
}=0A=
=0A=
function tb_position() {=0A=
jQuery("#TB_window").css({marginLeft: '-' + parseInt((TB_WIDTH / 2),10) =
+ 'px', width: TB_WIDTH + 'px'});=0A=
	if ( !(jQuery.browser.msie && jQuery.browser.version < 7)) { // take =
away IE6=0A=
		jQuery("#TB_window").css({marginTop: '-' + parseInt((TB_HEIGHT / =
2),10) + 'px'});=0A=
	}=0A=
}=0A=
=0A=
function tb_parseQuery ( query ) {=0A=
   var Params =3D {};=0A=
   if ( ! query ) {return Params;}// return empty object=0A=
   var Pairs =3D query.split(/[;&]/);=0A=
   for ( var i =3D 0; i < Pairs.length; i++ ) {=0A=
      var KeyVal =3D Pairs[i].split('=3D');=0A=
      if ( ! KeyVal || KeyVal.length !=3D 2 ) {continue;}=0A=
      var key =3D unescape( KeyVal[0] );=0A=
      var val =3D unescape( KeyVal[1] );=0A=
      val =3D val.replace(/\+/g, ' ');=0A=
      Params[key] =3D val;=0A=
   }=0A=
   return Params;=0A=
}=0A=
=0A=
function tb_getPageSize(){=0A=
	var de =3D document.documentElement;=0A=
	var w =3D window.innerWidth || self.innerWidth || (de&&de.clientWidth) =
|| document.body.clientWidth;=0A=
	var h =3D window.innerHeight || self.innerHeight || =
(de&&de.clientHeight) || document.body.clientHeight;=0A=
	arrayPageSize =3D [w,h];=0A=
	return arrayPageSize;=0A=
}=0A=
=0A=
function tb_detectMacXFF() {=0A=
  var userAgent =3D navigator.userAgent.toLowerCase();=0A=
  if (userAgent.indexOf('mac') !=3D -1 && =
userAgent.indexOf('firefox')!=3D-1) {=0A=
    return true;=0A=
  }=0A=
}=0A=
=0A=
=0A=

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/plugins/wp-ajax-edit-comments/js/wp-ajax-edit-comments.js?ver=2.3

/*WP Ajax Edit Script=0A=
--Created by Ronald Huereca=0A=
--Created on: 03/28/2007=0A=
--Last modified on: 10/25/2008=0A=
--Relies on jQuery, wp-ajax-response, thickbox=0A=
	Copyright 2007,2008  Ronald Huereca  (email : ron alfy [a t ] g m ail =
DOT com)=0A=
=0A=
    This program is free software; you can redistribute it and/or modify=0A=
    it under the terms of the GNU General Public License as published by=0A=
    the Free Software Foundation; either version 2 of the License, or=0A=
    (at your option) any later version.=0A=
=0A=
    This program is distributed in the hope that it will be useful,=0A=
    but WITHOUT ANY WARRANTY; without even the implied warranty of=0A=
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the=0A=
    GNU General Public License for more details.=0A=
=0A=
    You should have received a copy of the GNU General Public License=0A=
    along with this program; if not, write to the Free Software=0A=
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 =
 USA=0A=
*/=0A=
jQuery(document).ready(function() {=0A=
var $ =3D jQuery;=0A=
$.ajaxeditcomments =3D {=0A=
	init: function() { $.extend($.ajaxeditcomments.vars, { timers: {}, =
timerObjs: {}}); initialize_links(); },=0A=
	delink: function(obj) { _delink($(obj));},=0A=
	edit: function(obj) { _edit($(obj));},=0A=
	approve: function(obj) { _approve($(obj));},=0A=
	spam: function(obj) { _spam($(obj));},=0A=
	moderate: function(obj) { _moderate($(obj));},=0A=
	delete_comment: function(obj) { _delete_comment($(obj));},=0A=
	update_comment: function(id, content) {=0A=
  	$("#" + id).html(content);=0A=
	},=0A=
	update_author: function(id, author, url) {=0A=
		if ( url =3D=3D '' || 'http://' =3D=3D url ) {=0A=
			if (author =3D=3D '') { $("#" + =
id).html(wpajaxeditcomments.AEC_Anon); return; }=0A=
			$("#" + id).html(author);=0A=
		} else if (author =3D=3D '') {=0A=
			$("#" + id).html(wpajaxeditcomments.AEC_Anon);=0A=
		} else {=0A=
			$("#" + id).html("<a href=3D'" + url + "'>" + author + "</a>");=0A=
		}=0A=
	},=0A=
	vars: {}=0A=
};=0A=
	//Initializes the edit links=0A=
	function initialize_links() {=0A=
  	//Leave the style in for Safari=0A=
  	$(".edit-comment-admin-links").attr("style", "display: block");=0A=
    $(".edit-comment-user-link").attr("style", "display: block");=0A=
    /* For Crappy IE */=0A=
    $(".edit-comment-admin-links").show();=0A=
    $(".edit-comment-user-link").show();=0A=
    if (wpajaxeditcomments.AEC_CanScroll =3D=3D "1") {=0A=
      var location =3D "" + window.location;=0A=
      var pattern =3D /(#[^-]*\-[^&]*)/;=0A=
      if (pattern.test(location)) {=0A=
        location =3D $("" + window.location.hash);=0A=
        var targetOffset =3D location.offset().top;=0A=
        $('html,body').animate({scrollTop: targetOffset}, 1000);=0A=
      }=0A=
    }=0A=
   get_time_left();=0A=
  }=0A=
	//Finds an area (if applicable) and displays the time left to comment=0A=
  function get_time_left() {=0A=
  	$("." + 'ajax-edit-time-left').each(function() { =0A=
    	data =3D pre_process($(this).prev());=0A=
    	data.data =3D $.extend({ action: 'gettimeleft', cid: =
data.cid,pid:data.pid, _ajax_nonce: data.nonce },'');=0A=
    	data.action =3D 'gettimeleft';=0A=
    	data.success =3D function(r) {=0A=
      	var res =3D wpAjax.parseAjaxResponse(r, =
data.response,data.element);=0A=
        jQuery.each( res.responses, function() {=0A=
        	if (this.what =3D=3D "error" || this.what =3D=3D "success") {=0A=
          	return;=0A=
          }=0A=
        	if (this.what =3D=3D "minutes") {=0A=
          	minutes =3D parseInt(this.data);=0A=
          }=0A=
          if (this.what =3D=3D "seconds") {=0A=
          	seconds =3D parseInt(this.data);=0A=
          }=0A=
        });=0A=
        cid =3D data.cid;=0A=
        element =3D $("#ajax-edit-time-left-" + data.cid);=0A=
        data.timer =3D $.extend({minutes: minutes, seconds: seconds, =
cid: data.cid, element: element},'');=0A=
        vars.timerObjs[data.cid] =3D data;=0A=
        vars.timers[data.cid] =3D setTimeout(function() =
{get_time_left_timer(data.timer) }, 1000);=0A=
      }=0A=
			$.ajax(data);=0A=
    	return;=0A=
    })=0A=
  }=0A=
	//Updates the UI with the correct time left to edit=0A=
  //Parameters - timer (obj with timer data)=0A=
  function get_time_left_timer(timer) {=0A=
  	clearTimeout(vars.timers[timer.cid]);=0A=
    seconds =3D timer.seconds - 1;=0A=
    minutes =3D timer.minutes;=0A=
    element =3D timer.element;=0A=
    //Check to see if the time has run out=0A=
		if (minutes <=3D0 && seconds <=3D 0) { =0A=
			$("#edit" + timer.cid).unbind();=0A=
      element.remove();=0A=
      $("#edit-comment-user-link-" + timer.cid).remove();=0A=
      tb_remove(); //for iframe=0A=
      clearTimeout(vars.timers[timer.cid]);=0A=
			return;=0A=
		} =0A=
		if (seconds < 0) { minutes -=3D 1; seconds =3D 59; }=0A=
    //Create timer text=0A=
		var text =3D "";=0A=
		if (minutes >=3D 1) {=0A=
			if (minutes >=3D 2) { text =3D minutes + " " + =
wpajaxeditcomments.AEC_Minutes; } else { text =3D minutes + " " + =
wpajaxeditcomments.AEC_Minute; }=0A=
			if (seconds > 0) { text +=3D " " + wpajaxeditcomments.AEC_And + " "; }=0A=
		}=0A=
		if (seconds > 0) {=0A=
			if (seconds >=3D 2) { text +=3D seconds + " " + =
wpajaxeditcomments.AEC_Seconds; } else { text +=3D seconds + " " + =
wpajaxeditcomments.AEC_Second; }=0A=
		}=0A=
    //Output the timer to the user=0A=
    try {=0A=
    	//This try statement is for the iFrame=0A=
      //Iframe code from:  http://xkr.us/articles/dom/iframe-document/=0A=
      if (document.getElementById('TB_iframeContent') !=3D undefined) {=0A=
      	var oIframe =3D document.getElementById('TB_iframeContent');=0A=
        var oDoc =3D (oIframe.contentWindow || oIframe.contentDocument);=0A=
        if (oDoc.document) oDoc =3D oDoc.document;=0A=
        $("#timer" + timer.cid, oDoc).html("&nbsp;(" + text + ")");=0A=
      }=0A=
    } catch(err) { }=0A=
    $("#ajax-edit-time-left-" + timer.cid).html("&nbsp;(" + text + ")");=0A=
    timer.minutes =3D minutes;=0A=
    timer.seconds =3D seconds;=0A=
    vars.timerObjs[timer.cid] =3D timer;=0A=
    vars.timers[timer.cid] =3D setTimeout(function() { =
get_time_left_timer(timer) }, 1000);=0A=
  }=0A=
  //Returns a data object for ajax calls=0A=
  function pre_process(element) {=0A=
  	var s =3D {};=0A=
    s.element =3D element.attr("id");=0A=
    s.response =3D 'ajax-response';=0A=
    var url =3D wpAjax.unserialize(element.attr('href'));=0A=
    s.nonce =3D url._wpnonce;=0A=
    s.cid =3D url.c;=0A=
    s.pid =3D url.p;=0A=
    s.action =3D url.action;=0A=
    s.type =3D "POST";=0A=
    s.url =3D wpajaxeditcomments.AEC_PluginUrl + =
"/php/AjaxEditComments.php";=0A=
    s.data =3D $.extend(s.data, { action: s.action, cid: =
s.cid,pid:s.pid, _ajax_nonce: s.nonce });=0A=
    s.global =3D false;=0A=
    s.timeout =3D 30000;=0A=
    return s;=0A=
  }=0A=
	function _delink(obj) {=0A=
		var data =3D pre_process($(obj));=0A=
		data.success =3D function(r) {=0A=
    	if (r =3D=3D 1) { =0A=
				$(".aec-delink-" + data.cid).fadeOut(500);=0A=
				$("#edit-author" + data.cid).html($("#edit-author" + data.cid + " =
A").html()) //for on a post=0A=
				return;=0A=
     	}=0A=
      //Delinking wasn't a success, display error=0A=
      alert(r);=0A=
    }=0A=
		$.ajax(data);=0A=
	}=0A=
	function _edit(obj) {=0A=
		obj =3D $(obj);=0A=
		var data =3D pre_process(obj);=0A=
		//For the Thickbox=0A=
		obj.addClass("thickbox");=0A=
		var t =3D obj.attr("title")|| obj.attr("name") || null;=0A=
		var a =3D obj.attr("href") || obj.attr("alt");=0A=
		var g =3D obj.attr("rel") || false;=0A=
		if (!window.tb_show) {=0A=
			jQuery.tb_show(t,a,g); //NextGen Compatibility=0A=
		} else {=0A=
			tb_show(t,a,g);=0A=
		}=0A=
		obj.blur();=0A=
	}=0A=
	function _approve(obj) {=0A=
		var data =3D pre_process($(obj));=0A=
		data.success =3D function(r) {=0A=
    	if (r =3D=3D 1) { =0A=
      	//Yay, comment is approved - Show visual=0A=
        var li =3D $("#" + "comment-" + data.cid);=0A=
        if (li.is("li") || li.is("div") ) {=0A=
          li.addClass("ajax-approve");=0A=
          li.slideUp(1000, function() { li.remove(); });=0A=
      	}=0A=
        return;=0A=
     	}=0A=
      //Approval wasn't a success, display error=0A=
      alert(r);=0A=
    }=0A=
    if (confirm(wpajaxeditcomments.AEC_Approve)) {=0A=
    	$.ajax(data);=0A=
    }=0A=
	}=0A=
	function _spam(obj) {=0A=
		var data =3D pre_process($(obj));=0A=
		data.success =3D function(r) {=0A=
    	if (r =3D=3D 1) { =0A=
      	//Yay, comment was marked as spam.  Try to show a visual=0A=
        var li =3D $("#" + "comment-" + data.cid);=0A=
        if (li.is("li") || li.is("div") ) {=0A=
          li.addClass("ajax-delete");=0A=
          li.slideUp(1000, function() { li.remove(); });=0A=
      	}=0A=
        return;=0A=
     	}=0A=
      //Spamation wasn't a success, display error=0A=
      alert(r);=0A=
    }=0A=
    if (confirm(wpajaxeditcomments.AEC_Spam)) {=0A=
    	$.ajax(data);=0A=
    }=0A=
	}=0A=
	function _moderate(obj) {=0A=
		var data =3D pre_process($(obj));=0A=
		data.success =3D function(r) {=0A=
    	if (r =3D=3D 1) { =0A=
      	//Yay, comment is unapproved - Show visual=0A=
        var li =3D $("#" + "comment-" + data.cid);=0A=
        if (li.is("li") || li.is("div") ) {=0A=
          li.addClass("ajax-unapprove");=0A=
          li.slideUp(1000, function() { li.remove(); });=0A=
      	}=0A=
        return;=0A=
     	}=0A=
      //Unapproval wasn't a success, display error=0A=
      alert(r);=0A=
    }=0A=
    if (confirm(wpajaxeditcomments.AEC_Moderation)) {=0A=
    	$.ajax(data);=0A=
    }=0A=
	}=0A=
	function _delete_comment(obj) {=0A=
		var data =3D pre_process($(obj));=0A=
		data.success =3D function(r) {=0A=
    	if (r =3D=3D 1) { =0A=
      	//Yay, comment was deleted.  Try to show a visual=0A=
        var li =3D $("#" + "comment-" + data.cid);=0A=
        if (li.is("li") || li.is("div") ) {=0A=
          li.addClass("ajax-delete");=0A=
          li.slideUp(1000, function() { li.remove(); });=0A=
      	}=0A=
        return;=0A=
     	}=0A=
      //Deletion wasn't a success, display error=0A=
      alert(r);=0A=
    }=0A=
    if (confirm(wpajaxeditcomments.AEC_Delete)) {=0A=
    	$.ajax(data);=0A=
    }=0A=
	}=0A=
	$.ajaxeditcomments.init();=0A=
});=0A=
//For legacy purposes=0A=
var AjaxEditComments =3D function() {=0A=
	return {=0A=
			init : function() { =0A=
      	jQuery.ajaxeditcomments.init();=0A=
      }=0A=
	};=0A=
}();
------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-includes/js/tw-sack.js?ver=1.6.1

/* Simple AJAX Code-Kit (SACK) v1.6.1 */=0A=
/* =A92005 Gregory Wild-Smith */=0A=
/* www.twilightuniverse.com */=0A=
/* Software licenced under a modified X11 licence,=0A=
   see documentation or authors website for more details */=0A=
=0A=
function sack(file) {=0A=
	this.xmlhttp =3D null;=0A=
=0A=
	this.resetData =3D function() {=0A=
		this.method =3D "POST";=0A=
  		this.queryStringSeparator =3D "?";=0A=
		this.argumentSeparator =3D "&";=0A=
		this.URLString =3D "";=0A=
		this.encodeURIString =3D true;=0A=
  		this.execute =3D false;=0A=
  		this.element =3D null;=0A=
		this.elementObj =3D null;=0A=
		this.requestFile =3D file;=0A=
		this.vars =3D new Object();=0A=
		this.responseStatus =3D new Array(2);=0A=
  	};=0A=
=0A=
	this.resetFunctions =3D function() {=0A=
  		this.onLoading =3D function() { };=0A=
  		this.onLoaded =3D function() { };=0A=
  		this.onInteractive =3D function() { };=0A=
  		this.onCompletion =3D function() { };=0A=
  		this.onError =3D function() { };=0A=
		this.onFail =3D function() { };=0A=
	};=0A=
=0A=
	this.reset =3D function() {=0A=
		this.resetFunctions();=0A=
		this.resetData();=0A=
	};=0A=
=0A=
	this.createAJAX =3D function() {=0A=
		try {=0A=
			this.xmlhttp =3D new ActiveXObject("Msxml2.XMLHTTP");=0A=
		} catch (e1) {=0A=
			try {=0A=
				this.xmlhttp =3D new ActiveXObject("Microsoft.XMLHTTP");=0A=
			} catch (e2) {=0A=
				this.xmlhttp =3D null;=0A=
			}=0A=
		}=0A=
=0A=
		if (! this.xmlhttp) {=0A=
			if (typeof XMLHttpRequest !=3D "undefined") {=0A=
				this.xmlhttp =3D new XMLHttpRequest();=0A=
			} else {=0A=
				this.failed =3D true;=0A=
			}=0A=
		}=0A=
	};=0A=
=0A=
	this.setVar =3D function(name, value){=0A=
		this.vars[name] =3D Array(value, false);=0A=
	};=0A=
=0A=
	this.encVar =3D function(name, value, returnvars) {=0A=
		if (true =3D=3D returnvars) {=0A=
			return Array(encodeURIComponent(name), encodeURIComponent(value));=0A=
		} else {=0A=
			this.vars[encodeURIComponent(name)] =3D =
Array(encodeURIComponent(value), true);=0A=
		}=0A=
	}=0A=
=0A=
	this.processURLString =3D function(string, encode) {=0A=
		encoded =3D encodeURIComponent(this.argumentSeparator);=0A=
		regexp =3D new RegExp(this.argumentSeparator + "|" + encoded);=0A=
		varArray =3D string.split(regexp);=0A=
		for (i =3D 0; i < varArray.length; i++){=0A=
			urlVars =3D varArray[i].split("=3D");=0A=
			if (true =3D=3D encode){=0A=
				this.encVar(urlVars[0], urlVars[1]);=0A=
			} else {=0A=
				this.setVar(urlVars[0], urlVars[1]);=0A=
			}=0A=
		}=0A=
	}=0A=
=0A=
	this.createURLString =3D function(urlstring) {=0A=
		if (this.encodeURIString && this.URLString.length) {=0A=
			this.processURLString(this.URLString, true);=0A=
		}=0A=
=0A=
		if (urlstring) {=0A=
			if (this.URLString.length) {=0A=
				this.URLString +=3D this.argumentSeparator + urlstring;=0A=
			} else {=0A=
				this.URLString =3D urlstring;=0A=
			}=0A=
		}=0A=
=0A=
		// prevents caching of URLString=0A=
		this.setVar("rndval", new Date().getTime());=0A=
=0A=
		urlstringtemp =3D new Array();=0A=
		for (key in this.vars) {=0A=
			if (false =3D=3D this.vars[key][1] && true =3D=3D =
this.encodeURIString) {=0A=
				encoded =3D this.encVar(key, this.vars[key][0], true);=0A=
				delete this.vars[key];=0A=
				this.vars[encoded[0]] =3D Array(encoded[1], true);=0A=
				key =3D encoded[0];=0A=
			}=0A=
=0A=
			urlstringtemp[urlstringtemp.length] =3D key + "=3D" + =
this.vars[key][0];=0A=
		}=0A=
		if (urlstring){=0A=
			this.URLString +=3D this.argumentSeparator + =
urlstringtemp.join(this.argumentSeparator);=0A=
		} else {=0A=
			this.URLString +=3D urlstringtemp.join(this.argumentSeparator);=0A=
		}=0A=
	}=0A=
=0A=
	this.runResponse =3D function() {=0A=
		eval(this.response);=0A=
	}=0A=
=0A=
	this.runAJAX =3D function(urlstring) {=0A=
		if (this.failed) {=0A=
			this.onFail();=0A=
		} else {=0A=
			this.createURLString(urlstring);=0A=
			if (this.element) {=0A=
				this.elementObj =3D document.getElementById(this.element);=0A=
			}=0A=
			if (this.xmlhttp) {=0A=
				var self =3D this;=0A=
				if (this.method =3D=3D "GET") {=0A=
					totalurlstring =3D this.requestFile + this.queryStringSeparator + =
this.URLString;=0A=
					this.xmlhttp.open(this.method, totalurlstring, true);=0A=
				} else {=0A=
					this.xmlhttp.open(this.method, this.requestFile, true);=0A=
					try {=0A=
						this.xmlhttp.setRequestHeader("Content-Type", =
"application/x-www-form-urlencoded")=0A=
					} catch (e) { }=0A=
				}=0A=
=0A=
				this.xmlhttp.onreadystatechange =3D function() {=0A=
					switch (self.xmlhttp.readyState) {=0A=
						case 1:=0A=
							self.onLoading();=0A=
							break;=0A=
						case 2:=0A=
							self.onLoaded();=0A=
							break;=0A=
						case 3:=0A=
							self.onInteractive();=0A=
							break;=0A=
						case 4:=0A=
							self.response =3D self.xmlhttp.responseText;=0A=
							self.responseXML =3D self.xmlhttp.responseXML;=0A=
							self.responseStatus[0] =3D self.xmlhttp.status;=0A=
							self.responseStatus[1] =3D self.xmlhttp.statusText;=0A=
=0A=
							if (self.execute) {=0A=
								self.runResponse();=0A=
							}=0A=
=0A=
							if (self.elementObj) {=0A=
								elemNodeName =3D self.elementObj.nodeName;=0A=
								elemNodeName.toLowerCase();=0A=
								if (elemNodeName =3D=3D "input"=0A=
								|| elemNodeName =3D=3D "select"=0A=
								|| elemNodeName =3D=3D "option"=0A=
								|| elemNodeName =3D=3D "textarea") {=0A=
									self.elementObj.value =3D self.response;=0A=
								} else {=0A=
									self.elementObj.innerHTML =3D self.response;=0A=
								}=0A=
							}=0A=
							if (self.responseStatus[0] =3D=3D "200") {=0A=
								self.onCompletion();=0A=
							} else {=0A=
								self.onError();=0A=
							}=0A=
=0A=
							self.URLString =3D "";=0A=
							break;=0A=
					}=0A=
				};=0A=
=0A=
				this.xmlhttp.send(this.URLString);=0A=
			}=0A=
		}=0A=
	};=0A=
=0A=
	this.reset();=0A=
	this.createAJAX();=0A=
}=0A=

------=_NextPart_000_0000_01C991CE.7A3A2050
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.tcnjmagazine.com/wp-content/plugins/wp-email/email-js-packed.js?ver=2.31

eval(function(p,a,c,k,e,r){e=3Dfunction(c){return(c<a?'':e(parseInt(c/a))=
)+((c=3Dc%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace=
(/^/,String)){while(c--)r[e(c)]=3Dk[c]||e(c);k=3D[function(e){return =
r[e]}];e=3Dfunction(){return'\\w+'};c=3D1};while(c--)if(k[c])p=3Dp.replac=
e(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('8 c=3DS 12(13);8 =
H=3D0;8 I=3D0;8 u=3D\'\';8 v=3D\'\';8 w=3D\'\';8 y=3D\'\';8 z=3D\'\';8 =
j=3D\'\';8 l=3D\'\';8 B=3D\'\';k T(){8 a=3DC;8 =
b=3D14+"\\n";b=3Db+"15\\n\\n";6(3.5(\'q\')){6(f(u)||!J(u)){b=3Db+16+"\\n"=
;a=3D7}}6(3.5(\'r\')){6(f(v)||!K(v)){b=3Db+17+"\\n";a=3D7}}6(3.5(\'s\')){=
6(!f(w)){6(!U(w)){b=3Db+18+"\\n";a=3D7}}}6(3.5(\'m\')){6(f(y)){b=3Db+19+"=
\\n";a=3D7}L{M(i=3D0;i<j.d;i++){6(f(j[i])||!J(j[i])){b=3Db+1a+j[i]+"\\n";=
a=3D7}}}6(j.d>V){b=3Db+1b+"\\n";a=3D7}}6(f(z)){b=3Db+1c+"\\n";a=3D7}L{M(i=
=3D0;i<l.d;i++){6(f(l[i])||!K(l[i])){b=3Db+1d+"\\n";a=3D7}}}6(l.d>V){b=3D=
b+1e+"\\n";a=3D7}6(3.5(\'m\')){6(j.d!=3Dl.d){b=3Db+1f+"\\n";a=3D7}}6(3.5(=
\'t\')){6(f(B)){b=3Db+1g+"\\n";a=3D7}}6(a=3D=3D7){1h(b);g C}L{g 7}}k =
f(a){6(A(a)=3D=3D""){g 7}g C}k A(a){W(a.D(0,1)=3D=3D\' =
\')a=3Da.D(1,a.d);W(a.D(a.d-1,a.d)=3D=3D\' \')a=3Da.D(0,a.d-1);g a}k =
J(a){8 a=3DA(a);8 =
b=3D/[(\\*\\(\\)\\[\\]\\+\\,\\/\\?\\:\\;\\\'\\"\\`\\~\\\\#\\$\\%\\^\\&\\<=
\\>)+]/;g!b.X(a)}k K(a){8 a=3DA(a);8 =
b=3D/^([a-N-O-1i\\.\\-])+\\@(([a-N-O-9\\-])+\\.)+([a-N-O-9]{2,4})+$/;g =
b.X(a)}k U(a){8 a=3DA(a);8 b=3DS =
1j(\'1k-E\',\'1l\',\'1m\',\'1n\',\'1o\',\'P-1p\',\'P-1q\',\'P-1r-1s\',\'1=
t-E\',\'1u-Y-E\',\'1v-1w\',\'1x-1y\',\'Q/1z\',\'Q/1A\',\'Q/1B\',\'Y-E\',\=
'x-1C\',\'x-1D\',\'x-1E\');M(i=3D0;i<b.d;i++){6(a.1F(b[i])!=3D-1){g C}}g =
7}k =
1G(a){1H.1I(a,"1J","1K=3DZ,1L=3DZ,1M=3D0,1N=3D0,1O=3D0,1P=3D0,1Q=3D1,1R=3D=
0")}k =
1S(){6(3.5(\'q\')){u=3D3.5(\'q\').h}6(3.5(\'r\')){v=3D3.5(\'r\').h}6(3.5(=
\'s\')){w=3D3.5(\'s\').h}6(3.5(\'m\')){y=3D3.5(\'m\').h;j=3Dy.10(",")}z=3D=
3.5(\'R\').h;l=3Dz.10(",");6(3.5(\'t\')){B=3D3.5(\'t\').h}6(3.5(\'p\')){H=
=3D3.5(\'p\').h}6(3.5(\'F\')){I=3D3.5(\'F\').h}6(T()){3.5(\'G-c-1T\').o=3D=
7;3.5(\'G-c-1U\').1V.1W=3D\'1X\';c.1Y();6(3.5(\'q\')){c.e(\'q\',u);3.5(\'=
q\').o=3D7}6(3.5(\'r\')){c.e(\'r\',v);3.5(\'r\').o=3D7}6(3.5(\'s\')){c.e(=
\'s\',w);3.5(\'s\').o=3D7}6(3.5(\'m\')){c.e(\'m\',y);3.5(\'m\').o=3D7}c.e=
(\'R\',z);3.5(\'R\').o=3D7;6(3.5(\'t\')){c.e(\'t\',B);3.5(\'t\').o=3D7}6(=
3.5(\'p\')){c.e(\'p\',H)}6(3.5(\'F\')){c.e(\'F\',I)}c.e(\'G-c\',\'1\');c.=
e(\'11\',3.5(\'11\').h);c.1Z=3D\'20\';c.21=3D\'G-c\';c.22()}}',62,127,'||=
|document||getElementById|if|true|var||||email|length|setVar|isEmpty|retu=
rn|value||email_friendnames|function|email_friendemails|friendname||disab=
led||yourname|youremail|yourremarks|imageverify|email_yourname|email_your=
email|email_yourremarks||email_friendname|email_friendemail|trim|email_im=
ageverify|false|substring|to|page_id|wp|email_p|email_pageid|is_valid_nam=
e|is_valid_email|else|for|zA|Z0|content|multipart|friendemail|new|validat=
e_email_form|is_valid_remarks|email_max_allowed|while|test|reply|500|spli=
t|popup|sack|email_ajax_url|email_text_error|__