bplist00_WebMainResource_WebSubresources _WebResourceFrameName_WebResourceMIMEType^WebResourceURL_WebResourceTextEncodingName_WebResourceDataPYtext/html_Hhttp://www.jazz.com/music/2009/4/13/mel-martin-rhythm-man-do-not-disturbUUTF-8O!~ Mel Martin: Rhythm Man (Do Not Disturb) – Jazz.com | Jazz Music – Jazz Artists – Jazz News

Mel Martin: Rhythm Man (Do Not Disturb)

Track

Rhythm Man (Do Not Disturb)

Artist

Mel Martin (tenor sax)

CD

Where the Warm Winds Blow (Jazzed Media 1043)

Buy Track

Musicians:

Mel Martin (tenor sax), Don Friedman (Fender Rhodes electric piano),

Brad Buethe (guitar), Robb Fisher (bass), Jeff Mars (drums), John Santos (percussion)

.

Composed by Mel Martin

.

Recorded: Berkeley, July 14-15, 2008

Albumcovermelmartinwherethewarmwindsblow

Rating: 90/100 (learn more)

While it's true you can make great jazz anywhere, great jazz reputations are still made in New York. So how does the critic deal with local heroes such as Mel Martin, who has done just about as much as anyone could possibly do on various reed instruments, yet has decided to live his life (as the name of his new CD indicates) Where the Warm Winds Blow?

Martin has made his mark in bands such as Listen and Bebop and Beyond and collaborated with everyone from Benny Carter to Boz Scaggs. Even so, he may still be an unknown name to many jazz fans outside of the West Coast. If you count yourself among the uninitiated, check out this new release to get a taste of one of the finest saxophonists West of the Rockies. He is joined by some other local heroes, notably John Santos who keeps the fire burning while Martin flies over an insistent groove, navigating through a form that is half modal vamp and half chord-based. Don't be fooled by a CD cover that shows Martin ready for a beach vacation. This is gritty, driving music from a high-octane performer who has been delivering the goods for many years.

Reviewer: Ted Gioia

Tags:


0 responses so far

There are no comments yet...


Leave a Comment


(It will not be published)
Optional


Optional


#'+/37;?CGKPTX\aeimr_WebResourceResponseXtext/css_*http://www.jazz.com/stylesheets/jazzed.cssObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_*http://www.jazz.com/stylesheets/jazzed.css./01X$classesZ$classname12UNSURLXNSObject#A/Fi 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKL_Transfer-EncodingWExpires]Cache-Control_Content-EncodingVServer\Content-TypeTDateZConnection]Last-ModifiedXIdentity_Sun, 14 Apr 2019 17:33:36 GMT_max-age=315360000Tgzip\nginx/0.6.30Xtext/css_Thu, 16 Apr 2009 17:33:36 GMTZkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionaryW./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  9>GRU[dmov~$2;[ot  !h/OW/* BODY */ body { font-family: "Helvetica", "Arial", "Verdana", sans-serif; font-size: .75em; color: #000000; background: #ece5c8 url(/images/structure/body_bg.jpg); } /* NORMALIZES MARGIN, PADDING */ body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, span, table, td, th, textarea, select { margin: 0; padding: 0; } /* REMOVES LIST-STYLE FROM LISTS */ ol, ul { list-style: none; } /* DEFAULT LINKS */ a { color: #3e3cf7; text-decoration: underline; } a:hover { color: #3e3cf7; text-decoration: none; } /* TEXT */ h1, h2, h3, h4, h5, h6 { font-size: 100%; text-transform: uppercase; } /* NORMALIZES HEADERS */ h1 { color: #996699; font-size: 1.5em; padding-bottom: 20px; } h1 a { color: #996699; text-decoration: none; } h1 a:hover { color: #996699; text-decoration: underline; } h2 { color: #996699; font-size: 1.5em; padding-bottom: 20px; } h2 a { color: #996699; text-decoration: none; } h2 a:hover { color: #996699; text-decoration: underline; } h3 { color: #5074bb; font-size: 1.35em; padding-bottom: 10px; } h3 a { color: #5074bb; text-decoration: none; } h3 a:hover { color: #5074bb; text-decoration: underline; } h4 { color: #5074bb; font-size: 1.25em; line-height: 1.5em; } h4 a { color: #5074bb; text-decoration: none; } h4 a:hover { color: #5074bb; text-decoration: underline; } p, li { font-size: 1.19em; } p, blockquote, pre, td, th, label { line-height: 1.5em; margin: 0 0 15px 0; padding: 0; } ul, li { line-height: 1.5em; } input { border: #8daec4 1px solid; font-size: 13px; } span.normal { text-transform: none; font-weight: normal; } p.clear { clear: both; } /* TABLES */ table { border-collapse: collapse; margin-bottom: 1.5em; } table tr th { font-size: 1.2em; padding: 3px 10px; border: 0px solid #A2A2A2; } table tr td { padding: 7px; border: 0px solid #ddd; } /*** COMMON ELEMENTS ***/ /* BUTTONS */ a.search_btn:hover { background-position: 0pt -18px; } a.search_btn { position: relative; float: left; display: block; width: 18px; height: 18px; text-indent: -9999px; background: url(/images/structure/btn_arrow.gif) top no-repeat; background-position: 0pt 0pt; } a.btn_readmore:hover, a#btn_viewphoto:hover, a#btn_viewvideo:hover { background-position: 0pt -17px; } a#btn_buytrack:hover { background-position: 0pt -19px; } a#searchReviews_btn:hover, a#submitReviews_btn:hover { background-position: 0pt -25px; } a.btn_readmore { float: left; display: block; width: 91px; height: 17px; margin-bottom: 10px; text-indent: -9999px; background: url(/images/structure/btn_readmore.gif) top no-repeat; } a#btn_viewphoto { float: left; display: block; width: 91px; height: 17px; text-indent: -9999px; background: url(/images/structure/btn_viewphoto.gif) top no-repeat; background-position: 0pt 0pt; } a#btn_viewvideo { float: left; display: block; width: 91px; height: 17px; text-indent: -9999px; background: url(/images/structure/btn_viewvideo.gif) top no-repeat; background-position: 0pt 0pt; } .form_submit { float: left; display: block; width: 89px; height: 19px; border: 0; text-indent: -9999px; cursor: pointer; background: url(/images/structure/btn_addcomment.gif) top no-repeat; } a#btn_buytrack { display: block; width: 94px; height: 19px; text-indent: -9999px; background: url(/images/structure/btn_buytrack.gif) top no-repeat; background-position: 0pt 0pt; } a#submitReviews_btn { float: left; display: block; width: 174px; height: 25px; text-indent: -9999px; background: url(/images/structure/btn_submitReview.gif) top no-repeat; } /* Background HR style from http: //www.sovavsiti.cz/css/hr.html */ div.hr { clear: both; margin: 5px 0 5px 0; height: 5px; width: 100%; background: url(/images/structure/hr_bkgd.gif) top repeat-x; } div.hr hr { display: none; } /* CONTAINERS */ #container { margin: 0 auto; width: 1001px; background: url(/images/structure/header_bg.jpg) top no-repeat; } .wrapper { clear: both; width: 100%; overflow: hidden; } /* HEADER */ #header { position: relative; margin: 0 auto; width: 859px; height: 182px; } #header_wrap { height: 156px; } #header h1 { text-indent: -9999px; } #header h1 a { position: absolute; top: 33px; left: 20px; width: 217px; height: 75px; display: block; background: url(/images/structure/logo.gif) top no-repeat; } /* HEADER BOX */ #header_box { position: absolute; top: 0; left: 607px; width: 252px; height: 82px; background: url(/images/structure/loginBox.jpg) top no-repeat; } #header_box p { position: absolute; top: 8px; left: 65px; font-size: 9px; line-height: 12px; } a#login_btn { position: absolute; top: 8px; left: 10px; width: 45px; height: 23px; display: block; text-indent: -9999px; background: url(/images/structure/btn_login.gif) top no-repeat; } a#login_btn:hover { background-position: 0pt -23px; } #header_box form { position: absolute; top: 46px; width:200px; left: 65px; } #header_box input { width: 150px; } #header a.search_btn { position: absolute; top: 0px; left:156px; } #header_box a#advanced { position: absolute; top: 67px; left: 66px; font-size: 9px; color: #f7e8cc; text-decoration: none; } #header_box a#advanced:hover { color: #ffffff; text-decoration: underline; } /* MENU */ #header ul { position: absolute; top: 153px; } #header li { font-size: 12px; height: 26px; color: #ffffff; display: inline; text-transform: uppercase; } #header ul li a { color: #ffffff; text-decoration: none; padding: 0.87em;} #header ul li a:hover { color: #ffcc66; text-decoration: none; } /* FOOTER */ #footer { clear: both; padding: 20px; text-align: center; background: url(/images/structure/footer_bg.jpg) top no-repeat; } #footer li { font-size: 13px; padding: 0 10px 0 10px; display: inline; text-transform: uppercase; } #footer ul li a { color: #996699; text-decoration: none; } #footer ul li a:hover { color: #996699; text-decoration: underline; } #footer ul#misc_links li { font-size: 10px; } #footer ul#misc_links li a { color: #000000; text-decoration: none; } #footer ul#misc_links li a:hover { color: #000000; text-decoration: underline; } #footer div.hr { clear: both; margin: 0 0 5px 0; height: 5px; width: 100%; background: url(/images/structure/horizontal_rule.gif) top no-repeat; } /* MAIN CONTENT */ #content { margin: 0 auto; width: 857px; background: #5074b0 url(/images/structure/content_bg.jpg) top left repeat-y; border-left: #5074b0 2px solid; overflow: hidden; } #leftcolumn, #leftcolumn_contain { float: left; overflow: hidden; } #leftcolumn { width: 670px; padding: 10px 10px 0 10px; } #leftcolumn_contain { width: 690px; } #rightcolumn_ads { float: right; min-height: 90px; width: 163px; background: #5074b0 url(/images/structure/ad_bg.jpg) top right no-repeat; overflow: hidden; } #rightcolumn_ads img { background-color: #f6f0e2; width: 160px; border: 0; } /* COLUMNS ON HOME AND FEATURES PAGES*/ .articles { clear: both; padding: 10px 10px 5px 10px; border-top: 2px solid #5074b0; background: #f6f0e2 url(/images/structure/content_bg.jpg) top left repeat-y; overflow: hidden; } .articles h2, #home_feature h2 { padding-bottom: 10px; } .other_art a { font-weight: bold; color: #000000; padding-right: 5px; text-decoration: none; } .other_art a:hover { text-decoration: underline; } .art_img { float: left; width: 100px; overflow: hidden; } .art_img img, #threecol_feature img { width: 84px; padding: 4px; border: 1px solid #000000; background: #fffffe; } .art_img img { float: left; } .art_text { float: right; width: 560px; overflow: hidden; } #threecol_feature { clear: both; width: 690px; background: #f6f0e2 url(/images/structure/threecol_feature.jpg) top no-repeat; border-top: 2px solid #5074b0; overflow: hidden; } #threecol_feature div { float: left; padding: 15px 5px 5px 10px; width: 215px; } #threecol_feature div.right { float: right; padding: 15px 5px 0 10px; width: 215px; } #threecol_feature h2, #threecol_feature h2 a { color: #5074bb; padding-bottom: 15px; } #threecol_feature h3, #threecol_feature h3 a { color: #5074bb; } #threecol_feature h4, #threecol_feature h4 a { color: #000000; padding-bottom: 5px; text-transform: none; } /* COMMENTS */ #comments { clear: both; } #comments h4 { font-size: 1em; text-transform: uppercase; } #comments li { padding-bottom: 10px; } textarea { border: 1px solid #8daec4; width: 61.8%; } /*** PAGE SPECIFIC STYLES ***/ /* HOME PAGE */ #leftcolumn_home { float: left; width: 690px; background: url(/images/structure/home_blogfeat_bg.jpg) top left repeat-y; overflow: hidden; } #home_blog { float: left; clear: both; width: 388px; padding-bottom: 10px; background: url(/images/structure/home_blog_bg.jpg) top left no-repeat; } #home_blog div { padding: 80px 10px 0px 10px; } #home_blog h2 { font-size: 1.25em; padding-bottom: 10px; } #home_feature { float: right; width: 279px; padding: 10px; background: #f6f0e2 url(/images/structure/home_feature_bg.jpg) top right no-repeat; } #home_feature img { background-color: #5074b0; width: 275px; padding: 2px; margin-bottom: 10px; border: 0; } /* USER PROFILE */ #user_profile { background: #D7DFEC; padding: 10px 10px 10px 20px; border-bottom: 1px solid #567ABE; } #user_profile img { float: left; } #user_profile table { width: 530px; margin-left: 20px; } #user_profile table thead tr th { border: none; text-align: left; } #user_profile table tbody tr td.caption { width: 130px; color: #918080; vertical-align: top; } /* BLOG */ /* ALSO FEATURES */ h2#blog_title { width: 261px; height: 35px; text-indent: -9999px; display: block; background: url(/images/structure/blog_title.jpg) top left no-repeat; } .blog { padding-bottom: 5px; } .blog h3, .blog h4 { padding-bottom: 10px; text-transform: none; } .blog h3 { font-size: 1.5em; } .blog h4 { font-size: 1.1em; } .navigation { float: left; width: 100%; padding-bottom: 15px; } .previous { float: left; } .next { float: right; } /* FEATURES AND INTERVIEWS */ #featured_article { clear: both; padding: 10px 10px 0 10px; background: #f6f0e2 url(/images/structure/content_bg.jpg) top left repeat-y; overflow: hidden; } /* ALSO USED ON BLOG, VISUAL JAZZ AND COMMUNITY PAGES */ #featured_artinset { clear: both; margin: 0 auto; padding: 35px 10px 0 10px; width: 646px; background: #fcf9f4 url(/images/structure/features_bg.jpg) top left no-repeat; overflow: hidden; } /* ALSO USED ON BLOG, VISUAL JAZZ AND COMMUNITY PAGES */ #featured_artinset .art_img { float: left; width: 120px; overflow: hidden; } #featured_artinset .art_img img { float: left; width: 100px; padding: 4px; border: 1px solid #000000; background: #fffffe; } #featured_artinset .art_text { float: right; width: 525px; overflow: hidden; } /* MUSIC */ #leftcolumn_music { float: left; width: 690px; background: url(/images/structure/music_bg.jpg) top left repeat-y; overflow: hidden; } #music_search { float: left; width: 174px; padding: 10px 7px 10px 7px; background: #d3dde9 url(/images/structure/music_search_bg.gif) top left no-repeat; } #music_search h3, #music_search h3 a { font-size: 1em; color: #5074b0; padding-bottom: 10px; } #music_search p { margin: 0; } #music_search p.pad { padding-bottom: 10px; } #music_search span.article_count { font-size:10px; } #music_search_box { height: 90px; } #music_search span { font-size: 1.2em; color: #5074b0; font-weight: 800; } input#music_search_field { float: left; position: relative; top: 25px; left: 0; width: 150px; } #music_search a.search_btn { position: relative; top: 25px; left: 2px; } #music_content { background: #f6f0e2 url(/images/structure/content_bg.jpg) top right repeat-y; } #music_content h2 { float: left; } #music_content { position: relative; float: right; width: 483px; margin: 0; padding: 10px 10px 10px 5px; } #music_content ol { float: right; } #music_content ol li { color: #996699; font-size: 13px; font-weight: bold; text-transform: uppercase; display: inline; } #music_content ol li a { color: #996699; text-decoration: none; } #music_content ol li a:hover { color: #c1a412; } #music_content ol li.current a { color: #c1a412; } #music_content img { float: left; width: 84px; margin: 0 5px 10px 0; padding: 4px; border: solid 1px #000000; background-color: #ffffff; } #music_content h3, #music_content h3 a { color: #996699; } #music_content h4, #music_content h4 a { clear: both; color: #adadad; } #music_content b { color: #adadad; margin: -10px 0 10px 0; } #music_content li { list-style: none; line-height: 1.5em; } /* MUSIC REVIEWS*/ #music_review h3, #music_review h4 { padding-bottom: 10px; } #music_review h3 { font-size: 1.5em; } #music_review h4 { font-size: 1.1em; } p.label { clear: both; font-size: 0.9em; } #track_info { float: left; width: 490px; } #track_image { float: right; width: 160px; text-align: center; } #track_image img { width: 150px; padding: 1px; border: 4px solid #698fcf; background: #fffffe; } .track { clear: both; width: 490px; } .track div.left { float: left; width: 100px; } .track div.right { float: left; width: 390px; } #musicians { clear: both; width: 490px; margin: 10px 0 10px 0; line-height: 1.5em; } #musicians p { display: inline; } #band_name p { display: inline; } /* VISUAL JAZZ */ #visual_jazz { clear: both; width: 666px; background: #edeff3 url(/images/structure/visualjazz_bg.jpg) top left no-repeat; overflow: hidden; } #visual_jazz img { width: 125px; padding: 4px; border: 1px solid #000000; background: #fffffe; } #visual_jazz div { float: left; width: 200px; padding: 15px 10px 10px 10px; } #visual_jazz div.right { float: right; } #visual_jazz h3 { font-size: 1.25em; padding: 20px 0 20px 0; } #visual_jazz h4 { font-size: 1.1em; padding: 0 0 10px 0; text-transform: none; } #flash { padding-bottom: 20px; } #visual_gallery img { padding: 1px; border: 4px solid #698fcf; background: #fffffe; } #visual_gallery { clear: both; padding: 10px 10px 5px 10px; overflow: hidden; } #visual_gallery .image { float: left; width: 150px; } #visual_gallery .image img { width: 125px; } #visual_gallery text { float: right; width: 510px; overflow: hidden; } #gallery_results li { clear: both; padding-bottom: 20px; } #gallery_results img { float: left; margin-right: 8px; border:4px solid #698FCF; } #gallery_results h3 { font-size: 1em; display: inline; font-weight: bold; text-transform: lowercase; padding:0; } /* ENCYCLOPEDIA */ #encyclopedia h2 { float: left; } #encyclopedia h3 { clear: both; text-transform: none; font-size: 1.25em; } #encyclopedia ol { float: right; display: inline; } #encyclopedia ol li { color: #996699; font-size: 13px; font-weight: bold; text-transform: uppercase; display: inline; } #encyclopedia ol li a { color: #996699; text-decoration: none; } #encyclopedia ol li a:hover { color: #c1a412; } #encyclopedia ol li.current a { color: #c1a412; } #encyclopedia table { clear: both; } #encyclopedia table tr td { position: relative; border: 1px solid #ddd; } /* MISC PAGES */ #misc ul { list-style-type: square; padding: 0 0 10px 20px; } #contribute { padding-bottom: 10px; } /*** COMMUNITY AND FORUMS ***/ #directory_search_box { /* float: left; */ width: 333px; height: 19px; padding: 10px 0 10px 0; margin-bottom: 15px; background: url(/images/structure/directory_search_bg.gif) top no-repeat; } /* ALSO ON VISUAL JAZZ PAGE */ #directory_search_box label { position: relative; top: 2px; left: 10px; float: left; width: 130px; font-size: 12px; color: #ffffff; text-transform: uppercase; font-weight: bold; padding-right: 10px; } #directory_search_box input { position: relative; float: left; width: 155px; } #directory_search_box a.search_btn { position: relative; left: 5px; } #control_panel { margin: 10px 0 10px 0; background-color: #D4DEEA; padding: 5px; border-bottom: 1px solid #567ABE; } .stats { margin: 0 0 10px 0; padding: 7px; border: 1px solid #ddd; } /*TABLES */ table tr th { background: #567ABE; color: white; font-size: 1.2em; padding: 3px 10px; border: 1px solid #A2A2A2; } table tr td { padding: 7px; border: 1px solid #ddd; } table.noborder td { border: 0; } table.nopad td { padding-left: 0; } table { border-collapse: collapse; } table tr th { background: #567ABE; color: white; font-size: 1.2em; padding: 3px 10px; border: 1px solid #A2A2A2; } table tr td { padding: 7px; border: 1px solid #ddd; } table.wide { width: 100%; } table.header th { color: #5073af; } table.community { border: 0; } table.community tr th { color: #567ABE; font-size: 1em; background: none; border: 0px; } table.community tr td { background: none; border: 0px; padding: 3px 10px 3px 10px; } p.subtitle { font-size: 10px; font-family: "Lucida Grande", "Tahoma", "Arial", "Helvetica", sans-serif; color: #888; font-weight: bold; margin-bottom: 0.8em; margin-top: 1em; } p.subtitle img { vertical-align: bottom; } /* SPECIFIC TABLE STYLES */ table.forums tr th, table.topics tr th { font-size: 1.1em; } table.forums tr td .title { font-size: 1.4em; } table.forums tr td .desc { margin: 0.5em 0; } table.forums tr td { padding: 4px 15px; } table.forums a.tiny { font-size: 1em; color: #666; } table.forums .posts { color: #666; font-size: 1em; } table tr th.la { text-align: left; } table tr td.ca { text-align: center; } table tr td.inv { } table tr td.vat { vertical-align: top; } table tr td.narrow { padding: 2px 5px;} /* USERS */ a.admin { color: #c00; font-weight: bold; } /* LAST POST */ table tr td.lp { font-size: 1em; color: #333; } table tr td.lp span { color: #666; } table tr td.lp span a { color: #369; } table.topics tr td.c1 { border-right: 0; padding-right: 2px; } table.topics tr td.c2 { border-left: 0; padding-left: 2px; } table.topics tr td.c3 { border-left: 0; } table.forums tr td.c1 { border-right: 0; padding-right: 5px; padding-top: 7px; } table.forums tr td.c2 { border-width: 1px 0; padding-left: 5px; } table.forums tr td.c3 { border-left: 0; padding-left: 5px; } table.topics tr td.c2 small a, .crumbs small a { color: #666; } table.topics tr td.stat { font-size: 0.9em; } table.topics tr td .flag { background: #333; color: white; padding: 1px 5px; margin-right: 0.5em; } img.icon { background: #696; background-image: url(/images/clearbits/bg_rounded.gif); background-repeat: no-repeat; vertical-align: bottom; } img.reply { float: right; } img.orange { background-color: #FF8C00; } img.grey { background-color: #ccc; } img.darkgrey { background-color: #999; } img.green { background-color: #0c0;} #unregistered_intro { margin-top: 10px; margin-bottom: 18px; } /* POSTS */ table.posts { border-bottom: 2px solid #eee; } table.posts tr td { border: 0; } table.posts tr.spacer td { font-size: 1px; } /* fade edit links */ .post .author .edit a { font-size: 0.9em; color: #666; } .post .author img { float: left; margin-right: 0.5em; } .post .author { border-top: 2px solid #BAC4CF; padding: 5px 10px; background: #D4DEEA; font-weight: bold; color: #333; font-size: 0.9em; min-height: 32px; width: 10em; min-width: 8em; vertical-align: top; } .post .author .posts, .post .author .admin { display: block; font-size: 1em; color: black; color: #666; } .post .author a { color: #333; text-decoration: none; } .post .author a.threadauthor { color: #912902; } .post .author a:hover { color: #369; text-decoration: underline; } .post .date { font-size: 1.1em; color: #666; font-weight: normal; margin-bottom: 0.5em; } .posts .post .body { border-top: 2px solid #BAC4CF; font-size: 1em; padding: 0px 20px; vertical-align: top; } .posts .post .body blockquote { border: 1px solid #cda; border-left: 3px solid #9a7; border-right: 0; background: #efc; padding: 1px 10px; margin-left: 0; } .posts .post .body pre { font-size: 0.8em; background: #eee; padding: 5px 10px; border: 1px solid #ccc; border-left: 3px solid #ddd; border-right: 0; overflow: auto; font-family: "Monaco", "Bitstream Vera Sans Mono", "Courier New", serif; } .posts .post .body a:hover { color: #663300; } .posts .post .body blockquote p { margin: 0.5em 0; } .post .body p.topic { font-size: 0.8em; font-weight: bold; background: #eee; padding: 2px 10px; } ul.flat { margin-top: 5px; margin-left: 3px; font-size: 0.95em; list-style-type: none; } div.editbox p.help span, div.editbox ul.help span { color: #666; } div.editbox p.help, div.editbox ul.help { padding: 3px 10px; font-size: 0.95em; color: #912902; font-family: "Lucida Grande", "Tahoma", "Arial", "Helvetica", sans-serif; } div.editbox ul.help { margin: 0; } div.editbox ul.help { list-style-type: none; } #user_panel { width: 100%; display: block; clear: both; } .help { font-family: "Arial", "Helvetica", sans-serif; font-size: 0.83em; color: #616161; font-weight: 800; } .error { border: 2px solid #C70D10; padding: 8px; font-size: 14px; text-align: center; } .notice { background-color: #5173B0; padding: 10px; font-size: 14px; font-weight: bold; margin: 10px 0 15px 0; color: #fff; } .formError { font-size: 14px; font-weight: bold; margin-bottom: 10px; color: #C70D10; } .user_errors { margin: 10px 0 10px 0; padding: 5px; font-weight: bold; text-align: center; border-top: 2px solid #C70D10; border-bottom: 2px solid #C70D10; color: #C70D10; } .fieldWithErrors { display: inline; padding: 5px; background-color: #C70D10; } .overflow_field { overflow: scroll; width: 100%; height: 120px; border: 1px solid #ABABAB; } /* USER FORMS */ form.user_form p { margin: 15px 0 10px 5px; } form.user_form p label { display: block; margin-bottom: 2px; } form.user_form p label.radio_button { display: inline; } #terms_and_conditions { font-family: "Georgia", "Times New Roman", "Times", serif; background-color: #fff; font-size: 10px; } /* USER SETTINGS */ div#settings h2 span { color: #3466CC; font-weight: bold; font-size: 14px; background: url(/images/structure/contentBkgd3.jpg) top repeat-y; padding: 4px; } div#settings h2 { margin: 5px 0 5px 0; padding: 0; background-color: #CACFCB; border: 0; } Zimage/jpeg_0http://www.jazz.com/images/structure/body_bg.jpgObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_0http://www.jazz.com/images/structure/body_bg.jpg./01X$classesZ$classname12UNSURLXNSObject#A/Fp 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Zimage/jpeg_Thu, 16 Apr 2009 17:33:37 GMTT6280Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  ?DMX[ajsu| .Nbhuh*OExifMM* z(12iHHAdobe Photoshop CS2 Macintosh2007-11-19T07:24:07-16:00Ducky< http://ns.adobe.com/xap/1.0/ adobe:docid:imageready:b02fe8d4-97bf-11dc-b575-f62312e428dc uuid:A0D2B22297BF11DCBB59B23B1DC82C84 uuid:adfd1528-97bf-11dc-b575-f62312e428dc adobe:docid:imageready:95ad8d72-97bf-11dc-b575-f62312e428dc 1 1 2007-11-19T07:24:07-16:00 Adobe Photoshop CS2 Macintosh 2007-11-19T07:24:07-16:00 2007-11-19T07:24:07-16:00 image/jpeg 3 1 72/1 72/1 2 256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;E9988B351D90E03678A0CA4661258E26 3 1 8 8 8 1 1 -1 36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;566C10D46F6A35082905F634E9E9F0A5 Adobed         s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?.k[Yimage/gif_2http://www.jazz.com/images/structure/btn_arrow.gifObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_2http://www.jazz.com/images/structure/btn_arrow.gif./01X$classesZ$classname12UNSURLXNSObject#A/FN 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Yimage/gif_Thu, 16 Apr 2009 17:33:37 GMTS359Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionaryg./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  AFOZ]cluw~"0Pdjwh*OgGIF89a$pQuɴƓʶݧbdyp3gPtYoգ΄ïXzر!,$` "91OC>Tv^?d_qK6%d%'(p9tװ 3) EXX\p]4 l!nFTFL3RE~}p1-$('&&     ů  νĴ̱鸯˾ւj@IN!; !"_7http://www.jazz.com/images/structure/btn_addcomment.gifObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_7http://www.jazz.com/images/structure/btn_addcomment.gif./01X$classesZ$classname12UNSURLXNSObject#A/G!  6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:34:08 GMT_max-age=315360000Ubytes\nginx/0.6.30Yimage/gif_Thu, 16 Apr 2009 17:34:08 GMTS678Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  FKT_bhqz| '5Uio|  !h/OGIF89aY&〚ƲPtq3g!,Y&x0Ii8ͻ`)`hlZhxմ@ P aC .&6%}P5z-4kf씂3bmS:Xg_Obz%jfbw`_Zxu5{_}JsBxPl}NZ\UQ&xc&ekqKS_[v|_xwŀR|O=kwv}ڦu\fhyOU|~Q%W`~ Cjb jY52sӴn$ C($w&S˗0[RIH8sɳϟ JѣH*]4JJիXjjSMÊK)دeӪ][l &C`(BBkLa1B@bnVq`D%q^_Lfbk2͹0f9o*[D3㹜x__.<{pT?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:34:08 GMT_max-age=315360000Ubytes\nginx/0.6.30Yimage/gif_Thu, 16 Apr 2009 17:34:08 GMTS670Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  DIR]`foxz %3Sgmz h-OGIF89a^&|IJPtq3g!,^&x0I++8ͻ`(R hlp,qxP߼p|Ĥg!3#0Dh5(lW g{k9M h[RuP}duQ}ebXVm}e|x?O|~QwZVc[uEQ`XHkpSisRekytZHZŏVڜTtսZHޭݙadb5HЮ#~jg/>Eg#G`}sDnǏ#ɓDXɲ˕?PLb͛8sɳg@ JѣH*]j@PJJիXjS`ÊkT@ׯdӪ];ԬSl+ܠ֘TO+)`y"`mpg Ŗ+laΟvܘҨ?+Euޢu,1b+^}xk}ͫ/\~VgG ܬ/!sw4 AL[}97G]0jycA%zxQ'yEmw_ w!]vI񜇃5჆)~5&iVTf_7׌45׍:(׍[)DyHӒL;()*_0http://www.jazz.com/images/structure/hr_bkgd.gifObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_0http://www.jazz.com/images/structure/hr_bkgd.gif./01X$classesZ$classname12UNSURLXNSObject#A/Fv 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Yimage/gif_Thu, 16 Apr 2009 17:33:37 GMTR97Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionarya./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  ?DMX[ajsu| .Nbhuh&OaGIF89a ̹򟟟!, Є)II"h;,-._2http://www.jazz.com/images/structure/header_bg.jpgObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_2http://www.jazz.com/images/structure/header_bg.jpg./01X$classesZ$classname12UNSURLXNSObject#A/FY 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Zimage/jpeg_Thu, 16 Apr 2009 17:33:37 GMTU70058Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  AFOZ]cluw~"0Pdjw  !h/OExifMM* z(12iHHAdobe Photoshop CS2 Macintosh2007-11-19T07:24:10-16:00Ducky<http://ns.adobe.com/xap/1.0/ adobe:docid:imageready:b02fe8d6-97bf-11dc-b575-f62312e428dc uuid:6AF1ADE293E111DCAA52DAA89F8D3DFF uuid:b02fe8d5-97bf-11dc-b575-f62312e428dc adobe:docid:imageready:7d52f505-951c-11dc-b25e-acd7f110c986 1 2007-11-19T07:24:10-16:00 Adobe Photoshop CS2 Macintosh 2007-11-19T07:24:10-16:00 2007-11-19T07:24:10-16:00 image/jpeg 3 1 72/1 72/1 2 256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;B8F804738CB27EEBB505BA40690F2D0D 3 1 8 8 8 1001 450 -1 36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;3520FB6FC514E6F7AB47B97C5F260698 Adobed         s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?1lַlW8XA$gޟDQ#0fhdWTTb\8 =7S6ѽ ɵ:Ws*:n .ev߃1{tqmGTI` B(*~\L@r tZy/3򒢄R"%c,lطY$p BݰqȍRkAvG"q`iO.U\5JF[BI+)lE' -<G%i PP ֵֹO- %-9JPµ26|gEnhxh;;r%N%h E+֝7ɓg6Qs+f *}|Z(p+ u7ׄ dd<չ)?mu&$=ͽSsDF\.PGs ߼e߷S26Cn/MѸ[g"ј0 }͒<4KHkc /)ߋcO4!aYVG4qm(iC\1ڃQ\&gޘyLiAڄoGQ":p Y+P*wɏˡ/Y=MGrԠ,$Kޝ ʆbE1H팲Ɍ;@ _K7}b *ݒ8S  S)Z%0cJOq^9sƵzv"Hg IgBB~49"/; Mq;q[(gb~ x}FCTU*"ZmkeP>HQ' mE&:HX+/+] #I#d8d(&4 s&̆32rvV9L1Z$4p,R:d*/!k+ A1T:9;wS9<@"OJFKEpY:A+R'|#iHi^Iv>_j ff(3X;YԴHdar$_@MrZxegnI$'43聾[6jP7W=UXLd{y'yEՍ[!TCp{ao%Im>e%B+?\Ë ճot R6kKOU*i{q9BGj5ąDDƌ?S te $ /5c6x 8+$Na/)/ZE@l<r$ZWqi! j7QZ4駀ܒh[&24Esr׈=x|} "('z" HzO`jdn.|w }Z(fA:4rjXEzx$XMhԠqsU:+`%XBWKmߡ(fzڔ8R&chkHeE|U2JQsl(h*4?!Xr#lpª)׿lR )K&3R摒j ̨cxb9_s(Vz7S(H##+=@v?h2[5g!:U PAdi jI45'/QP)4jp+oӧq[րvڨ–N CC쭞~"늶@ҸW|Xw®:bS|iإ(p=quiD(ة!""I=6PYؚ8?A|+ ha+!H`ܔqn$d׏oXb;$׮]qn\-qBn+@@ Zb`Mv䡪Nң`;U$y8s jڛt]d "6h/V\؆E]zq ǨfI'R"4I OO ~9n~h(܍9< .G"aJg⨝e1ܕB `:mZ/\A yh >,c!w d$/Sօ.*P(Nrpr-"wwŤ]zR"y'`ByZKRTci֛l~]СͰ 6u̯AlJP|rs(9@6x()A$N:{₋Ju߼cQIv#2gc~K-Kp$Ā xjj<4p6j%J85̶DꄴՏ'( J%Y y1&C9@wCWƔd"QxaHfhhlr2 ]A$OCsSÙ>5*3'kE*ͅ*.Rv+Olb*DQ2Vc| rQTORk9ߊTQ+\Lh%84厵V]Mx& R}Y)($f%X wCPOrJt%ۂ@jx?Ѽ 6lQ:12£}G_WQ8O6A.w#e,x(_De!o%Dkuƪ.o9o|۷n  E QC2DYj"7,U.U rrzr >!V8U]vXsS8L]!f@)}=& EJ175֫m5nB)%#p8u$HA fA 4YUp*ogɗFPod[V鶦і-! b߿fy̼I;1LII%5xqyr'ۚWf0nM~['xTᖶ='2w2{Dk"yx}ޢyzťZik'HU۳ ʍ}4x32$/t[ެ4Q0Rc8mbTC$,]JМD.S9LhIb n₿~_DGhDZ,eQb wvɌFլkM 0U]PҡFNKstJQ2ԸoIB}z1/~'ҐBPlrmkOxAI6;c}bʖQ^m;9]X$lȭfr+~j)Vk@n::n:-HxVv ZQ6@-fE:AEf $R,c/8oM:+Zl=!%k2]4{+l&=*?^os ;%iAj5"q *o$OQTu+y8I7YyUy+JtS cCȴWaUS ?ȮG|q^* *lNFHnToa$3;N({:m\lGӺ$\,v0V⼀7R)\nX]ҟЏs^+" E)A㓌He^lњWbF߾HL1ÈYk3L1YP7Z2}WMݫn:mriGDkr%ZφD&LS2v vڭϩ`EBʪҲcq _s,BPԥ&;R;( "6Q*2<\@+O"yRMdzW5kp~ @!!ݟs߽s?f|(eq\Nt.4Dq?Oɂ?tcwHRA_Q 79I"b d PjKtd@Q#Hj}Ƌi"U^5v]wTSSV fDo~b@ .QЭĮY'*M3;}=v^TӭDbAq9GEW1٣Rh[* q]q!PbRm_lmm\mm klUmVq1`j ~$RWCz+nxlT!fD +E.aI<[񐳺E64#ڵ[l-o">$A)Nzz ז⧦#& @KI"$7ʗ2T$Zj}Bd=͋ y#(yn<]EMid NKe=Im r%Yy#԰.eɱ49 bfZXMpmltkDUCh݃e,˧Θ< c)r>G{{XcܞLʖΊoV4E*3 Ng(#[iJ^$B8.< y}L!2@͈pJ(v*UثWb]Al\ZaUQ8M}%6t'274+ZlnT)4!$tSPNc Pt12% j ,ٴJˠwc׏vŸ;$c逤DWL29 $ӷGf"[SmW?,[ KjA O 5Bp D+ڱL~lh؄הի)QtO1}Hvc{`#ܚmNANqcҥYҘӄW~-_M/E#%Ɗ$m0;S)Zt@GT0B%ZxdD#H{Eyя I,)C%pQ#]i*^?){tg\+V" ;~iQ0j#7 vQϱ;BE"F%urFA<[#E%ҡr#8-G=Hl#8僵I̳ 3ڛ$Rȭ&f+MjMY64@S?d Fvq=z E'Q2w+Yr:d8mN輮AH DAᠦ$R#XؚkeFWȌQv\Y;w cݻD(2Jn˱>df\{>g ,ntJBLR2A3g)={}nEKqE78BРZSYcڭ>_,;oL!J_ă?uKCUw}009z>zJXϧ**ەw^1xruk3QaߛZnYa菶~'B#q9}==Fo8KHUC7"H3;1 ͦnρ= c~lYYcL 25ۏFD(Gv+4I S#$>|ׅijӵ#JV܆٥wv] n4rJ3Zj6W%)ݖ>DnGHFǖ}r^^ːݤgB:^|[DyfxRF"{`Ǡ˘q ĝ_gbiP׵(!"_`ɋ8B7,lnYҀAڃicOQB[k<)2+a! +_Om0II1˛m?j&d$5-jD@]FJKY+S65X%ww un%0=]Q!|?K5}&=F!xȎA_qd0?I[E!ܲkFe&-ɷGo16qY 4F]@>/LtSdG ţ[c$9n?UFL?bLV $x̤\~ 2z/MQ6 "81dre*T#'J@>@5H4zff<*jҪ?$ԡ;K GFs!&!6p$qaH5R/ d#ik^k"FuZ)M+s_!$DQ`#BJ:ENLڣE|A#sک2k]φDLÈڜ2TLj=8H~Rv(9ԕrmFi$<Zl nZm,M9c`Ė5o)(%w^~ [oWeaa)bQ3QPa;lp]A߮6Qۍ)M:鍫`ml.j–mբME|6>V}pE*:һҹ8 #*´G#m"6WGrxz@ q\ʄ!3ǫڧv eegԇB Y/ >wˢl]^a׬Yp cZ9L;O"n}5S3c^Guvd)U(Sz.@ ⢧^|@3g?Y|y0HFKQJҠ14kbr//pȗg ]v*UثUXF,UUjBIrIgl&{UuRDߡgTGDEǖ}䱸P}|Qӗ$\V[>W-wժnK[*W}ӷ|?žQon6Oʘ-}vS$Ml@!$Ry(-dzV~\.¾p!MI/Uҷv7.* I""VjzJO$Fu]zӸS+׮lf%K10X(O ?3xd v?#AVm1@%\;zmZqCh]5i!~%v޻S#JR3-(KfW ̈́jNktl;xzG">V C6Z4v]iZEZfP,@:>]\e1[y8ف4z_*ٍ=6(J)5{56 !*bN9O<Ν~fO$"0U ޤ*R!؟٠amyɶ@ TPT%h$x+FHcH ׫ ?WYh(BwY[٤Q,8,%ҵ3S-dRaz+@zf>x$#9$F{4dAwbS 5R[v_ܱ/X?9sxW_{xۧKCSzD _PM?ym٠{NTqb;29 ىg ^#,D&X6[@2J^rѦ:Z}I%_*C"2'6">JVG?!A EƫCD) Lg%ehDkjI;f>3{@sBMnaAqHrފY0kf@[ on |Kˏ2թ`?a"һMԬ#Vii"Y#޴n.)rٕ+ Zj!,I"iN$κȄ.f/%oH(sqWa7Yl-acs< 8VPme9rD# 9MteG^ueӉ6S8\FY#j"ȫtyA<}9NH:9`<0+~iT/P5;eq g?HdP;XPT}e&Fe)$ ba,\=MN>#1ѪP ǥjxJ PdCPqח+21xASfrP'`v;WA,+"~O|٪Z;dsC΅#qJ`b!Ȣh~%BCM[_xIj^Ҭb ^z Uwۧ(w\RQL (w݊[WV':@iqnZ'zSV* P(keI; bTh(0 u$\)1f2|g.2 ȅ5$N fTێAH)%hUd?:{Vb=P-섢[Ӿ[ W.h}jki]OAHڤR͆qUP[_6ڻ 7&p% )gWvh0T`UO[@qfj}rvi܄9t7L* Z𭍀Mק Hٙ80N4ǢkұCS *RfXv$PuC|cw[D;V$b|Xa7T \5tfe{rZkz M(jIN>44jM n /,|C*4rrX|6R#qoިyOͲjlm/B HJ׭huqGcJ?zzIcox681Tpz#'YHN}PV#,Hy"YQM49X.` iei9>|2xNDKoxZS}+WLbdӄ5̄#QEJlC>kFÿI9Ej#pNԎ>[s&;_Q6V1pI~ZJ}l)KFqkg䇗ZP~V.nXdg1"=,>tYI&^TAC&M0_o_f҉5hRbuQ鞝ݑ0wm*]DH5j@;}ώR8:,$8$PzˆGj0$&RK4g T)W`L4eGFswTz!Չot*~k+_R:uȠңsZ۶wĥR#,͞eB"46S[;;)cQiu (s-C.}G:I)G5+PaئYs|Y, Zjiq\ST]v*UثWb]*UjAYy265r2=K9皈U\rjj.f$]RZoOMQ|9VT6meoK$w-_l=,crInB䳒4$Ql ۊVbjx2ٿOMo-Tש8 [6XK~vS-XG;Sce!#wX0v9h7eV#YW- ٵză-ILmc I [,Hr(rQ'd#C{4T'Gvf%7DDJXHȚjYC@bnh U)PxҴ'#q1u=:7yzu8jE) +Nil'-$,o˚ګ麌rE'+!Ggj>>8ˈDimg- qnsn\UnJ^h pϿoL,2_9D[e`=K< Cק?a ]]A^^5MS79҉*g^jPJ^˴L!u;Ku{RޣB3 E7߿ڂ-ֺ%eaXdO+k61.cuuಿIP#E] 9),;HM( ExoJHp( 壈'ǁZ}R,RUZ5[hz-тq-BtE{B $'v?h9FhpCi139/YU-42T2 \y 4։)UI hH? [`.HL2,Z/Ce$y[^L`´:Iܚۧ|ZhP$(#mF0:*㩩4eEN1T}v벊񨢏.p9p,y*ޚim`Q.@v 8qWӡ!N7w5P l#UFJM#V׵)L*"N(yX^HKJȍzH,1jm1G[G (hiJo ;`U=i|m[Vծ5;aOࠂ+qՠMƇ6qP|1()CLi={e1t6:7{sdoTа -M:B8n U4Y=̈YC(BtFcyc[;fAnJAcZ0p۾G{tnQ鸧sGtW׬,']\MR*˱znsP/bt".K_^D9U}CE^dpi9&<}2-#˖ɈCGy64Wp]ZmfQ1.Da"Y?/na65(:OؙeW:N(:G]v*UثWb]u*qWb]7@5>E%8e@~L~5zO.19ſ7"faP=u_9Q [ٝ)Nh!djW> 2ٺXQy&~*G Kn˩&gK!i_S2qC4@Q'yIs1-JsdfLrk"JiaL$FJa@ '"NzkWH`D~- A *JzD0bNcRBa6)6)ߑOF5(a䧒Fyo?rDRv\QC^_j,l-BspX҄떜 rP z*7HÎXvԙ>Ilf^G(sJi Eyrާ +Os![[z- 1hw4KY &`y+r_Z{UA,B]MNJ/;+ܶ+ı;; Zn<)ړ,ݮg#Pw3T9Yq"zWr?A!1QvZ9QUlxL h64,vU jUn; 1oc oC⿚%ƝɦzzZ$oqp.v=09g~lUm ),l7C)#ĀEM^rW ~8A1́s-R mE8d`߻s{p'.tBޟu+9nfrφ)[ΣVKnsA, #vVZ![Ͱ~aKm,-eI E޽j|:feF¼o>s?$i(&l)CV$8ʡJ'|vn^ߏɗY\ZL #ȌԘH#`뛨-ciqh fc@rv0ᔍ ؼ3X|.5nlDnƀ9|<<[35+46)FhY4d?WyLǩSBff[[]^;9l)YdDy VVMu" LMukWWyS/v" weN>qs4ƵREH4NݳWKk&Ӵ=6Z'J$.lLwEۧ+cX =:a"c{uM^SSh8$As9z֟2s2!H4~`m^U@`ˊE9F顪^܏.!LʧI8WV: ϢUx}jj GfQM+&򍬭4́*j^Jf|\,IV+{/-c2EfbA4fqV~A0ܷ{`DbLd}$!bJH!"95w JKomPjz5I+N;e+J1c7 %<ޣċ橦ҫ.YZWO}dRaֹ')J՞5HPqxdRw߳(+Zw3ԔXiSP+AOl%2 =Jr6xn[@Ιy { ĆC)`F`UU ƹNbI23]7R)_g!Le"*'"VԒ})}\s=RE:zPrݎnyL亓B F4 D@9ZɭB.ijE$Y]6m ^L&As(udrjTv۹@Ƞ$>$DD fGTw}m;.Lr)RF11IPHjMwZ(1q/4E A !n531E!48xYp=pC'&vq!H {4>)]ΠH%vƕO\i ro RNljGL6d,xA= ({x[֢{ſYNhf>4 H_E_s_ʉGqa s*J%ǹ,KpΑ? v=,]'nLY}syaWb]v*U\:튻v*uU49LBGwY,ҋӉ~JQF  Vv~BL+fLV h)BNW.T-ɶ$Y3T/-npdsKޭ7C>c*;:`z{y1%>&@8b\nrzD"|4(7 ̤vn89V?/7H 'A,>6J7^V# Xw0TC% ndDr KN{ZTLF;- q^aN$8oF,6$J^93-e) B&b$Iare)ɐ;Љ1xЎ:{)Iwr,' Jԋ*8%]r\`YCG÷I:dM0VaGk'nDpwrD3#mn[hLƄ΀Tߍ0Jf/fbGŽh@ʪʊ[N<6*(A\-gg Hj(1 7I~^Wr9u<绬 tX֧Lh|ӘLJkϾUHmWrB| ie%S[[-chgI0#;26m*<αdqIMh y-#Pnŵ&I(YGVv? 6Xc#JI_/6S]RLHOV64h2$gpb/}rYY?州 .,mYDOUX1,)J]?/rSUQD!A )Ҍჴ,eޝkS})UVj5~C1tn%L$U52+6b@řFTAZBƕQĵXku x%Xn\P!v +pmғiT,ȶрXUĞ=7̜8$!5+BH:# ƅ F36N6ކ2ule̔`YJl|>ldU3uEc|F@$ӿ| f@ۮE+Eћ_O k5B_#&"D֏Z^5S4reeGz# LlL Ӯn";!^y%D(An4Nr-1PՕw#uwQdPB9S~vɘ͒l ODĮU#nE[uNuvi®xb Fۯa(9v S18e YTsې߷l1[e "Ȥ?d !bc _)MQUZ$(AL/I ޳ȈŸp_VH(L7 z?irPoA|cS".GR8oڞχ#Yr-wDɮ$hd3 v"ЊOʴگ _.h'`^kj-/,1\+H kd5 %FN9HGI2M>~a.3 _vqGBG5+PA-~9$Ȳ_$邋sQѫ@+'Ėp>nm 7߻ɚ:)]]v*UثWb\1Wb[^ W(*n8Hv>2RExa]6vYbbc{ LHVB$mʰ;Rmf8wC}\Uih"|%$)DIM oۯ#vPvY$\QMҕ${{eܐ%35;H;W!3Jq¤#d2$/iQ 4KY Q7$ A3JE z5J*#WbW'521oJ{ [rQ=9aʣrđx&i"fEs )#zPww!AVhN 俲 pSWx,M 8OdWj@'% UJl3nv_ " HW%&.6h7jSrq?I 7(*G*1QR. wnt=:} O:,3 !U4>(Ė$՗3XI xW!15¶OWPu?dRbG m)1M%qFf4܍145Y#Bsִ`%g2{-xLdgpQPXdrXnm#}fCA(>$mHN{UHhH|Uٔq@5$2TqP)&)#rQFjvbqn7yً^XG!#V+2%X(ΛCy..ڃW k16]|M|B|"㭖<'JFCkmo.iyuGy1$*}93O2=,,m@wz&B7w.~;;Z01H$ "^ -ᙲo,>M ru6SA{(Q Sh3$dh2]yh(lH<{~ /$v&6֬-otํ厜B>%(ƜZcz<ǐi!F^%lձa 0+ZU5\ߌR1R$_Υ]/:3үH$x<,O\mF0}]?(}%uir[):hi^77 lo^@g.k Ӡ{Cw5l9bIƾ8 HlX<}bD"_vغ{9M~ᕍzi>4 ةAkomoKq@nMY<[e+Ijo,庹4N[ !̤0q1?0;Q3yUK2HEJ:ێf,uCXif @H r-ʔsm\Ké=Rʬ> k4\0Bmo9PQM3i𘾵{Q*BRLI91&_|}+-/M#&6`<3#ilUt|*yE|c~3dVUK6+vZM$fD ى~$,2,@4;WF:sz|Fgm=;.xS(ƙi:B{u\Zr@Ϭu?hR F%QU0(@IOn\IKGV*w~X`h2x@TlOLɏ6ȕ)$ĥJq HvG[3z|ƜD>=2V`܁$3|BiAHnJf VdHkU >eD4WZW Ɛw%IdҧܞvYv(^Żi'zO0ȘY%zG]-/½ ~1jVל8d!65 &xpxd1)Z_aev)Hҿ;*ӒVh&*bv<,HE4*z)lrwT5" @m>l[mmjcOJDd 9NYt˵q¼֧~Yg.)8+L~mc@]:多KyPHoJ/#7-oO>*5ŒX$ݟ얶̯%:R\gsey.vRCA^  ut=G:ۇicn(v*UثWb\qWbWbF +aeA!ͱ,A,97!|ߏ/7o%,QѨrbfۻ'.FV ʔJ՛F5͐hy*rW*¢Ѹ^R1Wq G&bC^!zV$DL҉TU`K1^@Fn5mLٍe +]8vƙMf@ڵ?uwg 1䄸3%x&a@~YhYD `y{{1bがPwpK[D[Wƣ"iR2)\pYk~N KI=K]Kw;T;HUU;3 fN-nL;FR '& \a F(`S-ɲypܩI`;4rE{w$SV-:B ky$*ԆC]?)n xrow|McAm 2NdX/M%Cv<1O->l- f e Wf."*]bk͒[oʬ$@$MZ צk' Hɭs6SOnVD)Bv$#Gp<hk5'hԗ1j6G89 *1c؏#6l1$I 1K sC\g.3781[u!Cهb>yÔd1v% [Ex3v}sIDbۋ0jAd*w4W1|8r]@/*yrm'Q]*ig']ieU**JZr"sW; V^P3qVHrxSOQ@2AVsZ^I87깐5b&:fD=h[$[Xi%FABN]@A "I&)HHTT(ڻmL5q_%]!5R㕒QIMJ#Rg JUiPmr&;adRM9ٸΩŁ,>9VK_K`ZhэSlq5H(nZFYJրxPצU!SJ*aœKPT_rZxAA1᩺=&V"$٪6?NRNRHִCv=6K+Mfm|Y &c;k|:a͈ܩ ֕ ;e)S"T :"VI) }ҲB핖ё9SXudQt#ަmLe]dy&5ֻW5NM86ӈcr)20'jw ʎ~DU Ҥǃv^QKnGN=W,7$iV@Ԧ}ʁ)U}8ɯƔ$dM&ʫ\&ʿhGo#Xp{`lZ1MR on?UzF܀iQiP VXpnMMC )H^*wȱ.-S&WS2v!wc-zIRzfTh|hCÓ+d6,Qha'4'CQvʈ!UEY+ҿhwoc+#7ޔߌ, fj\$2._|lRlQi-tұPo~%/Ga´QNF3I4o迻t=2TL~,UD%*~bbh̴3v6;+_gR4 H>JFL\6+ 'f ӡgc;`L&ۙъn[HLZ- *zҘ˄$rJ  HE&caQT.TMS,1 Gu~3=1(&éev*"}툤iԙh8{rI乡ЊP,jc5Z-' 3 J*mI3&=TX$;|]h*=\%VȁQӣS#(=IjҔp9arQ(TLepF'O߶/`Dz@kҘQ)>b W adG2+$Emj%) n@YZ) ` -]v )R` 0)C"Q%dEuD¬)Y؅P~tg2y5gGǟr j+ej=7Y@D`o(GV&ya}W3e$wYswotT9d؂OoAJr PDu[k`I %Y lALVI$UŤ߸1ORvڿNtxxG82^'zɺO @o\#y@/A^^43<Ȳ2=Od',aϥ|ԮaF{+nj)bSy6~yc$[zIBXazE՛ƻwN^K98 }TB>/̸mDw1CN`6'%`>Nvdey^ͮf7Qx52Js҉Ir[H Z;~ĻI5r1R0]JеMK;C]7K,sM٧LPvhM m}a^qceYd^$5Hd%j(ǥA(%y?ΖS!j)RMf8xL8Q^keҝ$8"6 zfr@ I.gi~r9.'ɰZ îDٽ3icu?*Rmj?yYz<(TFv`Dxzrce fc /0#p((h O6QfDaŌ * J-bz,x=)AE1L䌍> O,ׂ !elQOtKhV}.*]r5f.&18XRȰmnn/7(cF 7ќD{;.{i- LX*U&?{_,] RJwweI;$3 jF؅MjT"ل ,yܭ6QvM4n)%3D@zi3iDjEj. |"66Vic:nGQmkP7+<xW̖! Dʭ"M tʯP dFIK9Q^ q+WY B׈7ޝ2x'.<;hܐ AoLo)eR[qކDH!3 lǔZe$rf OVZm Q=Bܺ8 CN`jynT8[c߶}+LmXWlK_q^#7!i-bCE|уP^VPGjm㌱i#{4ֻ׈Z=)\5Q^PSUZnUON)1R[L]4K[H,#%[#o1)ڛuT+"|qaߦJvnӖj7hR(d#ΖQtorS*dU$0rB5EJpvS==5a 4NtnDMC%ۓ i&&GDR 4dʥm!A_QAf`Ӝ˯䁐$^CԮ~B4D'gju"R<h@A 7)N1"@"d6m(#  * ޽ Dqfc+{] Ex=XR>"z[5xhu4*1;rg6e1vvY/w×<;'~\Q@α)Ӿu}QN]wig2z2c߭stWb]v*UثblU뀨SQaFF"Ů]Z~!@+Ȏp4~8Ρrs@ڿ/aD9qbvl)V#7$Gnkd3S;(&5µo]j)Qֵ ֲ1ƝO eq -H@zLbO gQڀWz 96Y ⣓Pn;o(n< 0ޛreP|(q ΐ]IVƻxaهKSrBe;SNHnѢȋOAI["=*w`3VaO(ItLNp(~GqirG7ٍ3ѮFVj6JhU}6`GwS=C1lskM.$mZ]l&sų ^c}x%U$l;g5# Wz^gб k,!I2Kװx.X@';x$S(. l&3UȖVABerܞKEH4=mREJ5ߥ2%kdt ^ dl Ǒ5')9KS,'%dZ4ݪnɏ\0KteyJzGd70,IP~&$Տ0y\bxm:qt4bY85GUv'XƸ'Xf>؟}9]QcV%Y yⅺw.2JfDCkVZƦj){&'>Yڂjƽ)18^OB<¥I,Ic@6{e8u')-o/M#7 4-J!&5#9MsGFA| Ñj&PfRE=#L"7~%>6)x{dK8?f=;9Ѧ z4Vz Zv2Gfx, 5@$ReSjN*Wd$nߡ2 $ FRQĮ_YRQ)4P)Ԏ;ef!"`<ٝ<)\[5HR- yxe3F75 rq7OZ#bⴊ 6;ၢF J(;vn'̊ĐxZ)V#*)JJ3XxW{5-Zm|0p#õWxx7*h>[tȀZE-9TU^f KoUqji~pPc•ܫ#rCP]P6clW[9Av0 s`sPT$-b8̎􎑙GB1}mųx˪#FDEd9%Q@.kʝNc[ )]TUn=XMNU^mDZ ,HQ-ض*m@KՓ=~D̃ɁH?Jki\4.~>dG$ٲ?2)$s%CFH+EjB: qlmT\xPml05C(XSZnur=?&)6K2{4UYӭW;b3Urܔm]뱱xS!/~#j94+hYWnǸŎY&~CCNb]"T>zXlNkHjj* FgFtzǓwYz州:Gc#M}BCqr T Fo逢UiVPhzav;jR"EzӦF[F,,$BA2 d`E6F7WK 4Tb,lXHO'R8Z}&M](8#|*Ranb8 bH9TQ[+܆`UU; mk2FPoFƿ/#(%%V@ B׮\Vm,paLnrvC"(mcoQqE* S~o4Id$4S%( AZW0Ľ4T5Bߕ^Aׁ8(LqOa|ℍbϞ|gpjYЈ@ 'ڦ{;.Y1Q3ˈ8r,kQu nNm2.?}tdc ˑn͞C gv"*}( 6AD'/54.=vu&PEYqb~ #z~cJk 3/ϟ\ {s̗ILE]aiG x`FC*$|4[F6'p [v*UثWPҽWb\1U]+BT=h8 V,rU;~jt3'~׻a$]#jq's4 f yP:Sx8-Nԟ0<pepyКW-95"C3t`;-xb䤠'j$R${Gۡ"0%s8-P`7N-1Ǚ+P ~@Y'DҪhE8F`q `չ0 W%e 84>h(?XfꢴR6]HbC-;ޝq!s 75 ڵbSxNF?1[#O/zoeiHQPԯDy,2rTx 6yaB r= n8އ^Y˧6(5 JC||rNuܹ1ɼǨjװ~8ͼzGzPzZ0W OλCC 9ɱ4ȵK؈c*ZӦl;CMX <>?W!K~vkϊaPԵ@Ty#XF*^T 5=(a0.6kĖ!8P\˨뷦`Hbf]&i27#" ?!a'Bw w:=w#*~D5<[IzԓKoG  r;梘y/ ~jmd*i\@%-O$үf3'c["Cfoo5>\,q9dܣ|\F0A4N+5HuGe%4Ά;aW$3_ؠ7WM"Mğ~ɰK1[ _ᚽ0kV TA^[(pb4i70q;TN * t KdL5ma#I}De`T>%t>}0ٟ6!1~ s<)W$5U;Wg#.LM'iVrO,ӬRo)j}0Ӈ92Vɚ,%ČԙG4G_(wNMA"/J2] 8!C&c#j&iwLwmѰ)vYyPSm2EPG]EJOC"Hm>2s=)6d+>w -_yT4*ի  ,dBjhh8_͠Z8"%5ul :8ʩ*iֽ-dFX5 'f'pHuC@IoT9ABDx)S&[N,oPNRbyN'nݣYR{$ ,{>sph>`S;)R,#g*eLZ*+\n+lv4;;)$#$tҚ!P)ڞjB'Z%Ke܊L4* R23ja^D ,iϦǏQt7QfOIUEGpi_7R7 H)Bz{S&K)S-iB)ۮF E4j*G#_Ւ6|Z@J9YjJgK楨(Qձk)|VHQaD6OԬL ֦2\\˗ܹ}6 ).~%IHS3q #jxW2F) 蚤/5]H/cn+f2 ʔ+?W jjws}gPwy/)%%UxNRzFS[->ٮ] &jNG;|ͪł38~7ᰵqfR@Myu;gũϔN{DzikKˊX/Dg*׾b`o_2u!I9H~U:R_ dEFWl$7bj͛iZB !GpqV@A] v*UثU _0Wb*(v|HoیKN婰 _:a&q˸ߚPI6cFpzYĩbH;t>/.k^8C(-I^QjbJ\1Xcǯb}QLVs" @H;O 6 HEXIMHPIn]G>"$u] b:>1 APPyJl,(nQ]Ba;î=( s|0PWbh} @@JkF8@d>\C.z*v`E"|f-zcbIN:2|CrR<"Zh6:lB;[!2DijI%[$ɾف:n8m 9mS,a9_Z絒-SNb=@1@:?~1tGyˊlHY zZto }<9GiUJ^R_Qi1vi=eIJ |?Nz]$1K+ͶU`s]Ysːy5lkqtxxBUnd;'Lr%0w1jzudRZNtZm,1_Vܑn UGP=0 i\G6-ʢE?#t˒##Qk1Ǿ3 \ikye-bRmLvOi|Q|Py,DpS"6Q w13e[C+l4DB^22O&kׯ\ÏI|H~wGq D۫\##hZ3MÝvs3Wx ET"ja1$n¼.GW +_- ӿmңNܖ5m|Aߡ“E{-E:D pd((mkBzS .RI F`M|ikrB ~#O9wry!hc9õ1ۻ-Z`lqV$ WWFP@Ip}*+Do0jD<WImCI_5Z|5/amT.YpRUj1`wG_DK$b;tZ+kYSmT:T'2> 3;O,sXOM%HHY]'Qc8]Q!QF:9,S!m2mڵ->U>T,#*:Ge!P+U>,lhe)f# ?C\5^SehMR ۝˝zMQ!⛚n\ӂшE:㊵1,*UثWbbNv*UثUZ`P:nh+s/&1WBMZR3{\ޖRJjzR;mjow3s- €%](MP "ww֐21W~E(x89idX&+QyOVK8t$OijQNfʤS05#89LX=O+FYI&֚Z~>,[l"Wj*/brs|5n#`>KHr56C ^61bd_lQņ15UG}` =wvaC{@ O~nxS۹mM8c}#v97?.\@6Wªr)?0CСt'/bxx$n^k,w/uw#I$ZYLs@EQzͫuȅ%Xwcza-xr,r7aRr0,M j(i @7pŔoO׆HD"P?RS Hzv&-k6(S#e<7LG˜;'ByA-F}K#$hyrCS'-P%4&FӾ M= ɾap.9IZFR+1$#(YXT,ԊrV-,v|z4KBаMj˷U7rFpL%w& GOԯbrCЂȿC!5QrEgO[X# wyX lsD _qs݆kKqkҵDJJ+]ڹfm]|8 [R6ӢrMHx~d<+nn`t-z M6=\F2Ù&BhD*&BƝH&'bWwEOD`MY>M(ۮMT"QxH (a]ceS(I6yI&އ|7lFɅNA-֏PECL lQP7 rʧy"~đsSOmu{DmSLiR6 Zr%Gm"YYALl75өCz`A+*m ʧw\D0^tgi &@Vg)NF!1jƽ0ob6z o7 E/Y "cky4K¸T߯"hGK¹:Hٍ7  V P҇zAk܂j1N?y-Iteg$\W^#Lصr(F RrvBG/pdUSA'ZR0BaLjiקד491Z΃.Y$Ē}<A#z=v8&`S `P9jmىo7cڪ!zTkst,6A EXaЕASHp28LƉO[7ۙo3GMd~ هH=pL~aBx՛nt?ND{R?on= mݎj:d~BFOQfq{Ro_E2PS.?ko ma}R?o_K|TƑ m5= S/OF'ēɿ#lƿF?oGK6_cƱP??~clλ-?7~ԟO|[v;V*x?7ģd~N?0`s>oI%1N3?!ģC_;@)LHhU,Ǵ0#رn cN{u=,Ǵp~1R- t<~3VAH0ROn9{~|͗y>u)`@Y%6?T{Z-mU;`@9!?~>-~C֧?7~h6_b篳XXS|oO$ſM;':R.>a@y.?柱*)0֬4IR?oJia6|oĪڲlET׾&G#~>*VuJ _}R18)xi|rd05׍F>j8> #'$R5N SEQZ25+h%CJD} Gx[}1\=-Y,f5Jc9\?Nm|#XKV[Sx}Î\T ?u=>ov%X@xB][jV|9Yh7v WNNP,;j֏R+arX-Khø12-~'P߯ܿΏڿޙ~>-??ߵD?~C\R%{iꯎ!?~{?O`>t~{M oLs72DG8_U >_G_U\2Y9||͗خ4Y~+CYc/7OU)ZΏ|͒ᢺDՏ> /tTA'dGY? }Z kvK{NhcKT{tye>?'Xp夗Wr'TNGv"nMHLJmD}e( .^ƾ=?k/'ciF1Xr75H]:W,c>k)Kfw5qyVQqS(a_R rV:CzbWr#W/o]rq77~>|Q ~=+AY. } >43*[ZQZ7(T~ԧ_?g]t|q4-S\ JH|?J}> O/x!r?7?%$^plQ16_g^jMȟas>?oJ?N2k_cW-Mf#ĠU ؼj) ң"=%e~r;g|>#ڜ_͗ئ|kif|~Cڬ_͗I'Rڬ̗?qLϏ̗GHh~x\W@>kJ%($CQ?kŊݨ:n0LϏ|]ſ`v?HLϏ}\< _LϏ}m70p<ϏN# 6?}ωGb}}v%V/mhߏ+6N5j>?oJV/K]UyOz}9~clyDzyqR2E %{>E&a3|qj/TI{~`M`[6ܨ55dN5K.)Tc$˞d>s,Rߘ {q#UXTjySWQ"#Ky=6 k3fv9(?HŢ#ZT7?))6hG VvREi=5HSԍB~׆edwjLjoOS>yNK(Lbh !P ѕ.xic߮2߻ucW#en滫4`HRIF6l[:b;'_|88UNثXWb]p[uZlS\ *VbKA5C%݇ќfmLAxlwOa zGg?cߡ?"%bM+x Q_*˕ǽU*F]-w~. q S&UثWb]v*Uت6'Hd1w88|)-)p@4 ڦMثWb]Z ӭ1LM5cg(*&;q 2ƇbUSEܔw8xsErk_A>8e݃|?0gN%{7cQULj {yyC]`7l پ/߆=8ӆ@<,rz-( ^"cјAPHS\s/RF },x?>Y8iX$fq}ϯR;[$W@ _ Vۜ;q?~ʚv-y!js[&fz`tmE:ַ*ኻv*UثWb]*qUPp>?<ɿ6?/֕F=<3䈿Nl?dos{?[#?KK3VQ`f1ר<݃> D?<;2S&UءإثWb]v*qZk*.惸ׂKQSbCnLd]`1Iޠ 1_cľkvSGw'_SQu\~6Wpu$uqn߆4{׎=YOV'|8LoE=K8|œ4xq_^Hx}G \ޢxA>/w_Gy1nm8z ;`66ht]ŏ~*=8 /r~xW zkxM|1 ޚ.N /64"4w]Y<ߒ޶N|Mh>Yt ?}!l.=cGx-ywߏ AޘOp'.G'pO xrw9;,.";N07޷qoGc4cޘ?~<+yzk_駆N$*Gu lMcSxWbbV~#̣*+$!NB[~cP0B4Q0@W-qB 7c>LuYTɴ>]ӠutAo Z(+4;]6 -?.E14ۣƤ١ciaGncp;ٺb㊸S*UثWb[+N0ኮVVA_gb(? 4uo(TD^RRu>0ki]oc~=ó?\ܼ^gĐ*_dQw4O19㑭7'%“~?v%)lj|?0m=;O=Qud~R{I o=qo8k<5'ǁ|RM1 ɿM<ܾ,U^MF 2 C$XFHwe8ˉQ'qO&Eq|?v7.wCCLLIчv7o=qwc ^1xWlj_zk\xwxwG.߆4ruTw6;Rkxx|9w;O׃/{8._ r'OD||V6QSL#7p/-ྭO6qo7qGv8pkc¾'p}O[]ė{4^nxvZ..# hH8Rw\x|);ljw?88rnq='8l-G^MA߼=m'qqWo=8[?~<+y}`2&'Jb"œ~x h/=xcAEdvC2ؒ;O &A@-& urHkJv(o Vp%Pv(ov*UثWb]۱Wb1Cr%A0c亟S,hOhѩ"y?ƇA>ܿ/fѡOel4sdk6308B!mpt[Wb] ѐ\R>Vz`a֛+֝: (GO T)0f]V.Q?e7 sc␯'iT5:Zۧ<Sߊ91O/ }r9v+=Wgew_<գKLwV[^aT岴?- qN߿i-47*ϟi?>aTsmUqUW>|IW'>\G\ʸ{NnsH?pSkUן"ci*ho.&]*h>c_ɞʸZWL]z({[^_ʟU}TzZ_wo>խ}TOk$[L?x~Zy'-?X;2Zy^_+Z^cGm砠#mU1L oU%L{dw=դos<V#?ʸ{*i?mUp*skUϟ?}U?\-\=*Ͽg?mUqUޟIW>~G<[Lʸ*hWޟɟ7ʸZG?1wCWU?罷USw?լo/}-/U>cy5|Vo}O;ULc_'s_<VIW|ʵZ?佷UOޏ+V/mU0)]*_hSL{w=էKL0LʸZO*9;Uϟ?}U_ϹW>|AW*ϟh?mUp*e9ߗ>} -'p:9n>~aO`Uޓ\oU1Uh˿\#GLqw?=q{o.*{ʷZ)w޿?ZmmU1S-/U?mU1Rﰧpw_=թ"cG;U"_+<V/oUqR|HWZ?佷TG7*i?>cGr;UǞ}TSޏM<V#?ʘ{*ϟi?>c_O<V#?ʘ{*i?>c+I*ϟiWL=z)>ʸZO*I7*i?>c_OqmU1Tw>էK\ʘ{¿|V#\=zR}ʸZO?0O<V/mU1T?.<V#?x{$qmU1=Qs\'GLx{ŸϹW|Iovs<V#?ʘ{:I;UǞ}USzV}smUr?x{V}smUp)atw>էK\wiW>|IS Q?_GybZZԔQ|澎Y*A3b:Wb]DCQ4/uV{WSNUʿ/ ^jn+0uƠ݋ 4hdڇKt=5i};sA)G=LGS~Й̻Gb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb^S沧2HAxG%Vdգ"9օ䷪y*f J⢩װ_21/W7]# R; $aW UثWb]wӊCxu,imxܒ? KR+Jt=`6c悺+4Djܧi};?3?zC_&s.ثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثW97$%V2KVу4shw=Gd [y/B+*MAlƺaǹ8@*k@I]\(upWb]v*Uث[S*qV -愺S@yah񶟸X? g ל~й;Gb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb^s@Q^>l{Wp #W%P5?w?gpǟGyG/w}ٻv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*5]SԇՅd&sg=ڑfJh&QTy-BF( zxhѭ;ǻ ^T tͰR~K֔ɀ:tHlS4®]v*Uث* 8yf<&P8U"<o :L !%S;OJX+Cn~7N1csv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]yμ^O5jP,$u%{{,bY.gl8H`44̍,}>! ٶɲ$UǶ**UثWb]1VWG*O)?o^y0o0D<3ERύd.Dg⎵ ֽl6qrwN";._ٳ{5E5& Cv*UثWb]튪z`Jኺc1 Mv4 ?P,GEeJ9Äqe;ՖfJv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*ia1j/ B{} 3 ;$cɴ{VբDPhّ'WVn u2L\ov*UثWb]\lUP`KxY 5ܘev R[8^4QVJq߯ |`b,.c!+yWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWbX<ϩcr ;v'/w"1Y) lI!NC~5j~|MDq>iښ>sh9:ͼ(nU]v*UثWCLU߫p*]+쟖isSL./mZF%'%@Kz^, i3u}GifثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثV)̺*a"B 7*P ɷsmz{1;Ic/lF&uf#b|86Nvo|**]v*Uث鿎*Up*3~)SM64)\6!g4pUUE^M gb6iMݲ5v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*Dv>Ƅw4~'߿^YS'+uhd 6ѯS#67V**c*UثWb]'lUz .OlT,u4>٢2EY YCQt̬8 MfBѥثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWkTꤗ=)Z,1NhCμgt*ߗJAֽWfXqd'lR[qZ7]]v*W+\*6NDcVx\ܠj2N *}f>_,ŐQ7یUثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثgiJ0S`1v$W59NI-̓]$ڏ^-ٯQwdyu@6)wlWlb®]v*UmNWJ4Rcڽ (xF"eS,q ^Q9Ingb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWbXMU hE_c"5:#jvJ}& VA24mbm< u͛lbZ8cv*UثWb]bT/+hg̹A&mk9ĪKMBu{Z'Vv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UMQA_RԏL}NއihVYUZ5H2?VAM=lb]v*UثWb]bU~)X٣*Eɏ$VjEUW _Jc UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*Uث Q6 u: GCӟܔM!w?$2WaWb]v*UƵ]b]TN\kڋٜdF1P EZK"b8OoLI^]ܓ%:Eu]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]XZ6Zr!O5ڈ;9#LXs'@?ȑM8bcn3Wb]v*UW~+*)M1W*0(]!!͢vLu#ԔMS5f /0΁v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*U#T71SOV9؇d0!Y -MHJsKc)v*UثWb]v*Uتx #>I bd~IFh֞0fYGCҙgBv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*- ME9QO.<[Wb]v*UثWbU#]$zf>oǚU-_1UKL3p݊v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]cG V-'zSҎ1fz6rb?v@Or4MW$ v*UثWb]v* Uzu8 )h}@e(k[1_N.ix=L: ثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثV;o59Hx=-1rB_OB;iJeS$ v*UثWb]v*U|} ▏L?YCSoX3Q'2S߸n]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]ՇoIQOǘ xO\!+hv*UثWb]v*UثU^z▎c~ҝj/8k S߸]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]cvjH|Fgf&Arv+_|ȏ'KHvv*UثWb]v*UتT/=qKLVS)4[?\crH&Yqv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]c?3j" W阹903 8vvv*UثWb]WbWJT*ъVFW:HJu9Z"\bamG1ÌUثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثzH(O<&B,ȏ'Av*UثWb Wc\UثWbWPKodi!( f?863Wb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb eԪTYǹȈ>b)^x6%‡aWb]v*UثWb]T*Z;CxQyh;{ŋBce7ثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثT'>aw⨭)1DBCjTo|*]v*UثWb]v*<BJ9F3@ٞiV6"83 aGثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثTszPE}e>I׈іŨ$;v*UثWb]u1V5XJ]\k2K`I#/#; mzQhv*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*U(6:?%|rm%5J|5K**UثWb]Wb*Uت.`=%'PZ?ac6/6]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]NtSmA*ȚLŁ]CWb]v*UثWb]0+}Weq "1{:1aEN]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]#CҬAfȕ0+vv*UثWb]v*Uثc"%=OF;%S2;v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*}CULPUUثWb]v*UثWb*Uk 2 &dUثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*Uت(|p*UثWb]v*UثWb]vko v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*Wb®]v*UثW012_-http://www.jazz.com/images/structure/logo.gifObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_-http://www.jazz.com/images/structure/logo.gif./01X$classesZ$classname12UNSURLXNSObject#A/FGE 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Yimage/gif_Thu, 16 Apr 2009 17:33:37 GMTT3907Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionaryC./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  <AJUX^gpry+K_er|h&OCGIF89aKm R:˼ݵt ]يaDXXX~ *$ތrNхy sssb 222\Ap ̓D3ddd%!jI񌌌DCAH5;.yQmmm###,,,}TMMMr 3)}}}v } ӆˁe *i !g k ;;;Y[U9,lJ6*`X>ֈM8l { ۋuPoLX^A1|SUgFc  >0τ/&W֔gH !,Ki*$Ct}),}}s\A}='ƈqmѪYڹ(h)H}_Abn_} 3 3ޚk# C]&*~maԆ#8deH%qfxX,ɛYg*!̀/ɧq`&%AI2&|}`z!4Fph5Nv:G* PV 4 ,!1E@$ Ǐ=v @.އj#oKT(.L$,4gFLi:(0eJ. wHcLof_+Oׄ)?\Hc/>hΡA#HX6B&-j%ut4x6 e~7hCU.7 1dA!Þ8 HЄ0A/p JtKЦ@ &A;41'51v:,ѐ[,Ƞg1B00!P1H\6iO 'ph,#5D݌:0bT h(Q1&}``ȁ2~xj OWC RA 5ְ@n( qŬ1ji 8-v\2hh |<&oуudUj8A ]C:${o8&@A ; U) k?T@ yK-輱'\v@fm%CʖZ:}Spj  eX]0@"0ݴLAB~Zl A5j6"h]H|! | 7}|T1r*s!d0(I@!.0!|Cq9 Yx&dmR\ !L2 3XQU`U!#P-7mv}\@ F}D8|d1C|coͱFۯ 0аO @!Z@;{ 1p=Z, Ie+f8@ixC@1]O8CP*>L@"΀O@>@GN7DO1( #s) |W(x'AC`hB8?D!BAVH !EԊ]NT "|0" yEO2DA(A; j 8&P@WJ}%jÐhP"b!iDLKHpH5rN@A$ * >y /X(IL@(FXJ"B =!bR%'E@; -DЅAP00p%ph!oı@ajյ {&09LA B*jW. 3C( H+`$1>rQ8xz֋n0Oh`g!]T >=fp(*('eA&"(ҩ0{QN¬TDun0/d @z<1zP,(ZR@H|(cQP "Nv-|d#6{D qծ!MCc2r'GB0PV0JQ /b d%fmR;)/m#@Gl @W)^rr| \ahIc8@l+0Kw ;+(pH>pDH@XЏC` tD %F<)ąxH0 ]P4rȯ4R yeI@ph@ |0 *‚B +bR2&"07b |(C"P? Ҵ{c4fYjBxb.@A@0 ]قDXVp#& +􉆧VṄH2(LYfÉ8Z,߄ lrÚ3 ` xM-hpTc?)+}Xۇ \! ;>81 X dp(ư<y@h!]'@ > #AN0 |Afp[M5\@lHSeiP08oP+~0 х"} u۩@@c˨)p98UH)((R3 BĂx+gk}`0'!n4p`f!J[ԐGLp8+%H \r=?%BO.vA pD)~p1"Ph9@KNP7`'}c280) S&JbyavG5pQЃ"0~9`m+xq15>S`.6P@pO,wuX] xv<>R4r5'$-[RdPrkP党jUBֱV,f20Sk\gx-1| @K"$mKeB܃/&@p< X$G4etF__Kx4 ]Ƌ[^pmDrm-A49PǑ,`i҈&ЂsPO{oc3Bfp} p= E, u8 R7a a8?p QM# k=W@v(d)7 N `&Y * i$!(`G`@%i^DZN;`%Y t@Cw.g_Y(; #I XC0@"ڠAo`r0ϒv2&!@ 1@mdp  oa!/%2T j0/`uRHpqH` C&Kh"50 p5ĉ ?`x3 & qP"a`Fu&$%-;wrJs4&H%l3XpRPpH@=mh y[Y0n$1 F5@*&bⅢ@!uް0hrpY0^\1p@BJ @o( m▥5xh(T nQM⛩0M. m0jk9q olAJXYQ;456_1http://www.jazz.com/images/structure/loginBox.jpgObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_1http://www.jazz.com/images/structure/loginBox.jpg./01X$classesZ$classname12UNSURLXNSObject#A/F 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Zimage/jpeg_Thu, 16 Apr 2009 17:33:37 GMTT3003Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary ./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  @ENY\bktv}!/Ociv h+O JFIFddDucky2Adobed         #"""#''''''''''     !! !!''''''''''R"  s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?2J k}JoO* ^4]9OM 1OpE%OiW/\}@JfMW,FjV돧|ݪ qVzkcS_LS78U;P(;+{ezkqLU?MkJ鯉t)k%8Uq?I|NoHxTee >W@*{V&1n> c4AӶ*tj4Q9+GcBX` u3j.A1Uk(Џ=7'r`rLw2.\RK(пI4g%_#s$Ň!'4:b}fhuzWcF-NO7B''ќ8'lxWF-NO7B''ќ1 Qҧ RΗo>?jCu㿧'ќz7sO|xQHw=`yAj27}&rQ19^1<)?~Ǭt/kr_I4g(Dž)KzA,r?ޯ3p( RO?yDž) Z䜟FWC''ќՓ9¿=cQ_h(пI4g'$c.~z¿=cQ_h(пI4g'2?7'q_C(пI4f_$3z1ހ4_C)пI4e4hu}9?GaB|if"xBRΗF^??挿F-N_9-OJ9k<)Kz>.䜟F/{H>pSr$.ͱ┞iُ֟G!/*.f (U?F6_|\!V!/}JrvjU7r^Nh~@cl.b"x)"$)ǒ1 FAQqfO,WUID"b%#К t5o{I`^_MvfV/.RW04:奺meSQVk(8ⴶ )&tigw*R8 zdQkGSEkK n>>&j/ġ16aJ.!TL&IG0e $}_{=3Nk~LjF]\W~rk0]"vE4@B 楑_};cEh~oVqAfZ@Ҥ@DTiJ_ `~uiU*Кqs}Y&I8Z|XRorpy}TAZ{6V_W+6*rf]6lUVlUVlUVlUVlUVlUV]1WW5sS51U ⾡ģwQzgT? PB%V0a_a۷}@oG?8܆Y?8seҾ%Yf]/5?bflUyV͗ĎfZ͛6*y?kk/7gvlٱWf͛k/6lUyVe9覞4\A ޴<|2t]|1Gኧzzׯa$_~Yf;K {N1?͛6-M_t͛wͅ[=G?[}dtf?c잝::6lP^=?_lT_Q9`KcfN6lU]{׾Q͛h__׎=ٰ͊߯^co66?}x?1t͛ '~b}׷\JWG͔\889:_2http://www.jazz.com/images/structure/btn_login.gifObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_2http://www.jazz.com/images/structure/btn_login.gif./01X$classesZ$classname12UNSURLXNSObject#A/F 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Yimage/gif_Thu, 16 Apr 2009 17:33:37 GMTS596Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionaryT./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  AFOZ]cluw~"0Pdjwh*OTGIF89a-.ȬȹߙfPtԳ|p!,-.I8`(Phle1(uߛ6X8Shh" 8: {i 2׵TM ` B͉ZN*/ZI jO]uBŸbkʧ#o׾P;<=>_2http://www.jazz.com/images/structure/footer_bg.jpgObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_2http://www.jazz.com/images/structure/footer_bg.jpg./01X$classesZ$classname12UNSURLXNSObject#A/F5 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Zimage/jpeg_Thu, 16 Apr 2009 17:33:37 GMTU12228Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary/./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  AFOZ]cluw~"0Pdjw h-O/ExifMM* z(12iHHAdobe Photoshop CS2 Macintosh2007-11-21T20:59:51-08:00ddDucky<http://ns.adobe.com/xap/1.0/ adobe:docid:imageready:f5e72f00-99c3-11dc-bcbb-bc3c79b3f48b uuid:7BDC9A5299C311DCA002FB19FAFBE7C7 uuid:f5e72eff-99c3-11dc-bcbb-bc3c79b3f48b adobe:docid:imageready:b98e0b75-97bf-11dc-b575-f62312e428dc 1 2007-11-21T20:59:51-08:00 Adobe Photoshop CS2 Macintosh 2007-11-21T20:59:51-08:00 2007-11-21T20:59:51-08:00 image/jpeg 3 1 72/1 72/1 2 256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;C836863EF50E9352C49EEE21B2982171 3 1 8 8 8 1001 100 -1 36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;629083A6CC11348B586C013EC18FB5E0 Adobed       d  s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?.k[݊v*UثWbWV]Zk:thJTqŅFc2169Ŏʵg_Y;KP:6>|?X?"jS8lZy2VJ]Ԥتj9LK?󛣦եd']Y9`'M!B\r؛?} vm.4L<.Ghʸ*O蘏lGjHPٙ4䆆 <=?ljmǡh)<#uጶ\NOОƿ#msn -s5mej _Z}gԈ~+C I.iF!>WX+m&;OW'MOŇOZWּ{P)EGqLPߐ]q"PZ;OUip 7>KiI[|rښ &+.<ȦK8_!Uze-.[~1*OWv]WDEZ&M.5(= lΓL:D7haOK?XiS6cp?05Kɚ|_vښ(aQ-"{*j{Or,Pcn엖j)lΗE'vVvYnMGz=_Be"t%E9%(lQMhmtZcemS16@vzE[(tB^~{6'IkU-,ӐcSR?_z?w+ʳx/gI04-]s`t~9?,A[$ݳRKxeg 8hպD[~$WՖcGbtnKa璘qS-- F \IKoKuM2_N M尠+kYOJ?,UO>#V4X;[Z4.,Vʤ(E)]XǞ?XGͬ刚2?}">ʚfGMRgh&ȞǭI/$DcD iߕ =#p-uDc2Oaq#P}-j:KEj_ ,,:*\;?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Yimage/gif_Thu, 16 Apr 2009 17:33:37 GMTS744Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  GLU`cir{} (6Vjp} "h0OGIF89a˽޾δֹů!,C'Z%F]nAR)Jn`G{.)n>2Is 4 u+>M,X*JjX$ Ζm0Gί*n^`XvX5S-̖'vQ)@,l+Ӥ91q0#p|Q})F)4S H傀Q[%PBNEjh1DW[p$0"F$**| 'cz)&WмQʻ E^9DgmEE xxb>jʵ^ÆE@ٳd]vmڶp2Pˠݻxk7߿ Nà ^̸b#K_k[qC%;WYhSmkZ_7[m UNh>p N|  a %C!H ާT2}ŦG XAdALyW>47@Ȑ , _ y@B]As]!,UTRq(,⋠2yT'd\}ZYx%Z xXHbVVؗEHVZǝ ЉvIPM5IfDХjB!%?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Zimage/jpeg_Thu, 16 Apr 2009 17:33:37 GMTU24944Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionaryap./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  BGP[^dmvx #1Qekx  h.OapExifMM* z(12iHHAdobe Photoshop CS2 Macintosh2007-11-19T07:24:13-16:00Ducky<http://ns.adobe.com/xap/1.0/ adobe:docid:imageready:b02fe8d8-97bf-11dc-b575-f62312e428dc uuid:4A6B6FEF96A511DCAF618A705CD2795F uuid:b02fe8d7-97bf-11dc-b575-f62312e428dc adobe:docid:imageready:00609ce0-95f9-11dc-8c97-d4dcea3e2cb9 1 2007-11-19T07:24:13-16:00 Adobe Photoshop CS2 Macintosh 2007-11-19T07:24:13-16:00 2007-11-19T07:24:13-16:00 image/jpeg 3 1 72/1 72/1 2 256,257,258,259,262,274,277,284,530,531,282,283,296,301,318,319,529,532,306,270,271,272,305,315,33432;A295161FC34857379594BFDDB9E4E755 3 1 8 8 8 690 418 -1 36864,40960,40961,37121,37122,40962,40963,37510,40964,36867,36868,33434,33437,34850,34852,34855,34856,37377,37378,37379,37380,37381,37382,37383,37384,37385,37386,37396,41483,41484,41486,41487,41488,41492,41493,41495,41728,41729,41730,41985,41986,41987,41988,41989,41990,41991,41992,41993,41994,41995,41996,42016,0,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,22,23,24,25,26,27,28,30;BC829D1980DC0E6ED9B5AC0800107F94 Adobed         s!1AQa"q2B#R3b$r%C4Scs5D'6Tdt& EFVU(eufv7GWgw8HXhx)9IYiy*:JZjzm!1AQa"q2#BRbr3$4CS%cs5DT &6E'dtU7()󄔤euFVfvGWgw8HXhx9IYiy*:JZjz ?F SI?nceFS"xbZoZrAQP [/ހuo\O|qV⫻b@[*zbփk*nߊ\UUqWRU|U~ث(4늷LUob@&Wp/Ȇ ֿF UZ8UثWb]HLUaLUثW UƜw*$jF*XTzb*-o]v*UثWb]v*UثWb]nGlUث[#),xUwCnHWZ]gkpkLUu1VVVWv]nZ]v*Ul$s#!)[OZX_ߕO-D|uMMOCQA"R]z{o6**qUSáQثU>\*P4qV­vqqV銺Gv*4ZxWT)`Vߧ|@T3Z4;LGa\JTs~aL *]v*UVqWb]nXcnjl֊q㊻ۭwh]v*UثWb]v*UثV銴(qWbo U?Uj-jhw1Vj*M qUO*ЪבኪJj⫨iV3uB* 6W JQצ*UWqv*UثW*]B1VWbTE`a\1悒s6?./Roc>蹁?l7ᕳpptUyO#⪊x;튭 T UuqWTbj:W**ԕ+M[Z}mqV*GhC(7o֛mW|*銴G*1V*UثV]LUm\UUrv[jWm9ثaG Sq]v*UثWb]v*UثWbZiklUFI_ӓdM*´=qUEkWWjE[*vi|1iQ**qVkw]thFS[\FsFU}6Z]lbnbzUv*T`q S3\_i!w3 YrG ZT+dZx*<_s_*eY; T*xEzV]V'k*UoLUFKr'aC1U1VlU銷ZlUxUWq [*UثWָUW V銴vh-VO1Wq]Z\UuzxUثWb]v*UثWb]v*UlUw8_1US犭,hKL76r T;v*Uث/?qqV1V*.He ֊Pw늮]mV+ԏUV5z-M1U:Z@_ኮ73_P׍iNU4V>)j|*vWb][bWF #\Uѳ2*TV8dzTbxYZ⪉F lUq#{TBNb qV߮*Wb]v*UثWb]v*UثWb(1VWbhuHWu%GF*ڍV]v*ZToh]qWlzqWv*UNbh]v*UثWb]v*UثWb]v*UثWb]qV*b]Cx*8^ޣWi1Wo׷|U އZP ֧aO~*EjkæƎ(iJSZB z 0T Now;H u`Ȫ}c!\̯.?Rib3~0}D9ʯvA)v*Uܨ1V늺V]nbw]ApSN*ܐwR\΂: \#9Pc"w`F5P[_R M)X!$qP\UP(Z( *t&#;bzcZ*|WxS~C*qU;|C\E@h]F*Uw**UثWb]v*UثWb]v*UثV銵wDRhӊޛ|1W`v6­u:Ӯ**UثWP}8*qVV*U;vV1j#Z⭢-V;V VF3@{TuJ%#QzV9zL ffeb>X SYZkh՜,£lJTMhY:JW#OlB'jet4Rk^ WSjxbv**v]Nv*UثIlqVZ;5v[*צ*ѝB ?Ė*Y$Jmpp[%M>•܍Ux UrF^=O\U*]*Uثu]]Z8Wb]v*UثWb]v*UثWb]v*Uث!^EGqi!y~|UjA^l JE}cJ*4*Z]A㊵v*Ubjثub1Vqƴ8Ev*-ŊGC%qXp`lOS =FPqn5&AW~xdmK%O%j{W-"ģ?-?K4+eE{>OG`f-P3)=id@|;'n1WPk1W;)LUw]v*f!oqMVu늭( b|U~|UēM;SDISg$! ۾í:늵TJ1WUثWb]v*UثWb]v*UثWb]v*UثWb]*ԟUتƧQTT#|*1t1PJ6[xxj J0=CC+F*q1V銵 UثWbZ>U'Ti@RA$ڮ]"TTu8)VI'j liTԒURGY@BNmrc%)jo4VBO)w^]LUk"nq*=b]v*U[R PO߇DP?UN*Uث]ձW`VqV*URmQW,;6_.5eW(; v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*U]LUUثWb]v*UثWb]lb**U8b4iZouGvǾ*5tZ*}WTU\U;ִWѻPk]vjP:qj\3 rcͧK˳O.`vv)v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*#wӸ]튵Ol OnqWSb]LUUx]U昫Wbju1V$QNt8D=VZ*H4N*KRܾ6lڧ*::SvƻUũp;R8Fw@"-[կoʽ6)LXԟ퓁?q ĸL4aWbb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWbu *N*Uk ׮1Vj:w]]mOhÅ(|Uwo*F] Vk|Uo?7qUWp4,wQNC*XM: uW^e+R1W) *:b1WToT#犸vLU܅Q[ :U%ZCR|]=>xgfe߀rU-]~q-HD'i}Pxdk{ù`)OWzn.אZ`ኪ*1E  ̀;o}특@4WI!8WuX U;{b[=*b1V#orss㊷ztb:˻Sr1V)ҟ,UWu; WqpP7nWQF~l}Zg]Vµ:jb#]Um?qV)Si*Tab&qV Zy{-*vZV¥ArOlU{֘a 7jV֘G41y?6eW(; v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]n[Sq>~*F*b]wN=\qW/h6* U\h1WJqڝ1W/\YGSLU]qWSlU6늶w\UPy UҞ=kAAtWWuwlU]\UqVbZ桨z⫫*!֛x),G`1WPo^p+a@:b䐲p d!&_feĴ'y.@vv)v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*qVWb U݉]u\*~Ub[XzU, 늶 PT *djR5GC\U*zWlmEwH[[V1V3bVoj tG|UثWSoYUҨc޸k|M+b!l1T'3?\f`˫]]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]\UثqWba1Vzֻ[**j]Z*UA⮩]Z*q[튴;׶**{|V8Uo6U@\74YMQiez ^UЀIboX5A1W*wjv uU?KS2;W1eհ; v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]nXWb⮮*!\UU*CaU T*h+\UP@\UثVZ1VZqWPS*oڧ卫g OUĊRW*<(qV8S* jbxUksm9bHኵUUXAj{ V=BIӶo lU~+{Tƕnd46=_1մ; v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]n*WSuqVWw.ù]u*ː9 ޙ%]ڧol LUp}*U8u*6]*0R)+|pbJK*I&fSPlJw.2~ mЊp"`\UbNL>7^O*´I,+AB;⪨V *HSt ZzWcjhi?!®.]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb[銸b*U]JWSգ3ķnqUWbXPuPS«]\U_늵_lUW)O*O'wъzh;UuilUUثxqWo犭`F**qWņ1WuSoǦ*ࣰu[ UR<|7ɩ|1Vn@Z?M)a?cKh]]]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]$XVV@[V^XWbdBѕ U6bb"EO£TWru=hj:*Ez{b<*LUď*UݺoثDq*#|U*oUGo]p4]O1WSowUt>?~*'犭xvZTlU#hOb?XO2+¥`b˙ %CKWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*UثV۶**UU߳1WWkv*1VWb|UZ*5@R)Ml8D:Gj⮯ثRp#*Q⫾/U1Wm~P1V|:ִޔ ?,UO_ Up{U@4]*'4 }.?O2ꛏ_e4(SjiSVKdE`vӾA])hZkv*Ubb]v*1VWQqWv*Wb\*Q*F UI銺u1V|1VH5 N*S_劻5?Fwzb+lӊaV*_:b1#p*;iZUڣ|U UU]q4\;ҝWb[ثU⫉*j=VWWjМUثWbZcAP*qW!?# ҡn­x`Vu0|O*Z[*VqWoA\UثqWv1U H+J 8B6$UH [ڛLUUN,F[ '?ۮfĸIͭE}4aKx끓L~!OA트+8*늵Ɍj{nGlUu;bCbwju8*Vu^Ҙa\zV)vV4:T)ﺁo+*تUM7_qAVYyLUv1U/P]+Q/)V%*z(xeWEH'a튴Y;Wdli[_;}ҭs0&:U t`P:ShRÅ \UeǪW/) 7[bkQN˶*E9om *@\~TUiOqVWSZ2Pw|?O㊻qbv;|U{bZMw,UG⮨\boJp[k <1Wp*e;UraWT]v*UثWo\ pצت,wJ^:t,V&6©?)=B)؅0eռr ZmM OlURsClUpqV⭓uiZy9*=qU@C۶*$SlUµ5Sp-*4;oNigsSNتP9ɦ*@1eVZڽ>Uj\6^4⮨C x*'P*Hۨkʕnj}qWb]l}8^uv5Vɭ?V*bj½[uǶ*v[*]*ULU4+h]PMiLUjP]\UUt'튵M1VN*@銹Xsb Z -Jҽ*-ɏ*w®\Mp+^ت׏{®{T8qZ :K<_SiNa˫pvqZb 1WW*qVWblUbܷ 7㊵Vby,UE?F*Z1Wb*U⮮**UثWb]1Vއh qWv\¤"E*icR^)ኮPa]Cq4]]1WWb\Uk+C}C69)7)pq**kթZb;b Nqߡjq늻-7jbq#1V튴A4[?*?#[)nv\U#iqVP:U#b]mn6UTWlOኴ7ثci*cQFW*9/LmWt~*'!)ȡew.*lR*DثXtZ]WuH#\qW1W}v*]LUUثWb]v*UثWb(1WmhZneSżi։ϥսh~Wj2PM㍪L\ԥ@>.JIA۸#_bF M qVo5]1V|v\<:b;\6]U)- UN6E`JTlj@.ƛxY81Wu銵R:U@Aኮe*jq+C)1W|C7\UojV]Q1V*WqnOc @|\jW劺R*WRM@1Sbv5WU Cå1Kijε[V,Pm׈۾*X|1W#5HE^iTPHm\ȡ7>y%ve47MLŗVnUث}\ثG*bfdI6#"튪o]q\ qWbDb]v*UثWb]u1V銵;o㊷Bw[?MV:V4Q|}VUwذ=Uԥv&Wuv8qVWb6z]RBU%H>UrF@|l)ň g'Ɔhȅ~ثJeƕui1W5튴GъOV5q bqVFzޭUv]+hs`@ h9#lUm*N*]@{}#XѱB:[1c튺劭^uA?=<~cZi@~W*sBaX+BC㊯)pq{bƒ -Mv#*Q6e4.>9.*RUT⭞"銸=7*qVMm r|UPC]p[&X`bZWb]v*UثWb Q8[x Uib8mazVV6tWz8`mu;[2*J>*ױ銷AMZ?g* CN'|⫱Wb]u1Wqo*@1VHjZs cbduV};u#l*A"8-{Q|8⫪OS]ߊ$WYD=A4[D5[*zlG*ұ تO1VS~\U܏*cLR!()O+㊵}V*{bJ1J{b^Qi"Db߾*b=UԨwv(Zak R]s+&Vtf4AN%!RUV/]1ӯMUWbS}*JpcJvv*Uث@קlUUثWb]v*UثWb]ELUڃa\U߁]۶*54mOZE~\(>UեxN*]C@j]v*U1V] [kZ lU@7Ut#n Uң.*jjVWpGr)OՊm]FqWq j튶9T]RV#DI:튶H~hz U{5aʠU@U!b]9Wu[w;튮+V^تZ/b)kjъ\U ]u1WSv*UثWb]h֕l⮠]*늻v*UثWb9EOf[]rVk@c%WAS J⮮*1V늺Xث®]v*{uqWq*צ*`ۉ8-V)ղk@y|iِlׯ\*@;+f 6*CUbx+5튮!)EӦ*sh]ָ\Bክ`RثH\Wj5zlmH]i`^Sd9nWՐvv*UثWb[*\Uثv*tV:b4Z1Wb*b]LU<1VڻbqWb]v*Uá]CMWb[=\Uv*^ߎ*pnu1V늵LUg*UثWb]v*UثWb8XW`W}}UP@ WՠjxW F]Z߶*R1U><i]⫀*ߡlUhƥGߊh}V/>ثTV5U-޹T?zh#W9FSd@lYثWb[Z]\:bi*]lLU|Ub]fUG*Uî1V!Ƌ{]v*U\bCs@EW[()u+MLUǮ*UTo_\ zuZ]Z[knXWb]v*UثWb]v*UثWb ث{bU*{jw85b~:/Ov]W* bºr w\ZP銭J|qV_z5GlUjӧ~K}8u̯Z![H+.U­Z]]v*E1Wh]犴yi*};bQ⮥1V:U[b=qWb]\UثWb]por)Z~] VWb]v*Uۀi**I`?g[kvv*UثWb]v*UثWb]v*UثWb]uqW`W^t®P@N* 51QJlqV$RU@ PW;dT#bB N*z̯<3][G K*Wb]Cv*Uث}~UثG*UݱWP⭎VX\@]]z⮡\å>U]]v*UثWb>ׁ[1WwXWb]v**+w}Wt8ث ;S w]v*UثWb]v*UثWb]v*UثWm#Ji]Wbu6㊻"*>Ua_ɦNQWCGR$9un­o|R4 ~Ȧ*q;[*|UثWW]lUSh]:b\hM;bmo㊻wZW~[\N**UثWb]v*ޛ}8* Wb]v*8X]pZWS v*UثWb]v*UثWb]v*UثWb]v*Ub]v7^*OSi]ajl[b˫h_U)`H)]MWb)1VWb۶*;bw\>ۜUثWSv*UثWz[Sh]v*UثWb\:= :lU4qWb튻v*UثWb]C®n|{+TƕnY%v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*hXKJ PtrWثqW#+Vu1Wb]v*U*N*v}ثLUثߎثWb]v*UثWb]v*UثWb|UUثWb;bb]CCM*TՇS[&UB觯\劻lUǏ {b]v*UثWb]v*UثWb]v*UثWb]v*UثWb̟Os][aWbbz֧늵%ZSOኮZ=qWb]v*V트lU]ZQ@$N߉]v*UثWb]⮡]*UثWb*LUkv*U;bj64[Z*Tw\F*UF*(?*]@>^U{Uث@*1VWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb̟Wr3][K+\nHA_Ulj#%j pIU+Zv*UA銷QLU]\Uث**UثWb]*߇|U\6g f⫶튻v*UF*rPW›bT\0zxUv*UӮ*G*G䟶~*jW~XWb]v*F**UثWb]v*UثWb]v*UثWb]v*UثWb]v*Uٓs][XUإï^* :FFF*UثWb=?\UF**|WbVUUثWb]\^8Xg*O\Uv*U{ UZcU}*|⭞UUثWb]v*UثWb]v*UثWb]v*UثWb]v*UثWb]v*Uث'!)HIJ_.http://www.jazz.com/images/structure/ad_bg.jpgObplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_.http://www.jazz.com/images/structure/ad_bg.jpg./01X$classesZ$classname12UNSURLXNSObject#A/FQ 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKLWExpires]Cache-Control]Accept-RangesVServer\Content-TypeTDate^Content-LengthZConnection]Last-Modified_Sun, 14 Apr 2019 17:33:37 GMT_max-age=315360000Ubytes\nginx/0.6.30Zimage/jpeg_Thu, 16 Apr 2009 17:33:37 GMTU10158Zkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary'./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  =BKVY_hqsz,L`fs~h)O'JFIFddDucky<Adobed       \Q!1AaRq"2b#3BC4$Q!1aA"2B#qCb3 ? =* A!@ *0U\dSnк[RB x_QY)6>~`.6 #}gZW2˨̘,xZsn5qgfɺ˱9ƉnW=+T<3.|'^ňfp˸Wj`}kG`W}K}pBk +6E&DVrYZֳLuRRĮZ!gJԶ1?o1~uy@9xߦ>\vuu6 :uކii..7Vԏ >RcV}ys˷bk.gtW}gZW2˨bNCy)ubLӄ>aڼ%Ƴɼq }Fj0Zu\Y+XoI8AR= }Qf}Kt<޺F{g/F,kXOGQb!ˊj̺$*$-儖q24:m_\eeҼD=sli@bW]e1Bn H\C_+ps2}ċCw[Niz-c똖sE~[qY1Rч}r뎉ZrGM0K5ț<ٽ/^ cN}s)EApbyc6J0fu6eN*K ٹ1h>]3>nݜ=_Ɍ>f}.܎ۺc_2C뎎ΐ:Cf[j#QQZkzn4&W Xqc&Xw!/ญ~V5#ϣA򱨬 Rc3rbok^JY)FnI%&f%ҖDgIm$XZg\7bpm]Bg/ĸ_D>n}Z+ X庭yif'*mDڼ9aubyM㇦9tNL AOt2ɣ T?Kr*E&Tb &l*d*3w&NJQò sgjgI}/=z(c3nOC.ޮg/o9WQӅ{:s:UiaeQ"̑Yz\tg0֓9m Y57.|g_B?0ckx4YrOs<&gj3&)NCy)uu3N$'jasMc_'3,6Ҥ7OoaM(:uNݴ8}->gVOFNO*WjJLKx!cܻp7kܻፐiEg2 "J1F虅xLpB h_5#ϠϠ0c}m03<G,ɸQJf#ٟ?Ǘz[׼:k74^x+{&g+^]Qq^QrSf]t/S4g\O&0˹O)p`u>!Z,]a>4b & a7+Eb&ҡ2UY&p)6C Wp8lo_\a.1:ָ}-sxC;:[^̵LDU`@P( pNU{l5^b1 ONJ۹8ӳEVI]e2 AB!@"ǐݡ,2N/f*(@QD(FiĹ\te}ne'1 {$u{@fr·V 3\MU(ʳ3˶AK1z ֱ̤8,J˝RdmRqgKwmmt[Y^;eؙfJxa%\PMf'eM=[Fmf+Ӗ>\1u]Ӯf<7M=m:a5߱l|{,oe]h*Ɍ4iԥԿNΖe ˔i@!Q{޸aum{Ʊ>#56N0aqV@\ⷺm E&{A4v s xp|xӊ=;:ۻ6 BD(3%ތ~])?QJ;8/xLgP/OCӳ3lF !P%P Qiđ Mn+XzzvuwCl%k#/A^RaP%P9Kfj4k ٛu~2iRWXZlܹF3Յ3~]g3ֽa˖^<v̤vn3>Mm[lD*Rn32իLujB7N>*iQ͛jZzG>U엢:4bM/u LsƙVj^,[vf?J-TbbgZLxVju޶Xk.m;p\fm1.g8.I%뭶G[ׅ_I19\mRbsQZxDC6aJ nh3Z%MZ#Ys<&bok^R]K1NQGJ &2~f>N>A g ;^+i˒+<>ȟÜqKkr3bb:7'5ZqbdQmSpk":I[EӢRJqhޓۣ19GƷ6çsH>O:ey6:طjV0k=>[$͙jQ-0߮'&8]ۄynR<h>R՟A|c}m9.x4%g\ yJY)c©BW8oٮߖܺ[n[Q5{b#L8RRCOJn[_$[!8kXs˖fZo[VGۏg)*IoO^b]=hh>Rj+>c o8 R +\fMkW2u1O,3[IK:E,TKb' ՙjW}+\_,#e3?f?zڷXLMs\eom^q}̸SxpٽSN<[5>..[pnSl$y(k (}h߮q,͹;fc5V2S{=Lz15w;s1'&)v91Oܹ kW2˨̘)9~R]$8 'j`sMƧjON a>onSU6Z_QZ&%RcGꗩ#Cgo,l[JK^Xbm(.e B %UWY1BnRB h_Egl|c}1$bcõ&sNKt(oS=C9USq+58vziuIp%-淯xvY3s JOk^Jϵu.dyOd:ezi)>a6 ]m^c_)!0+xӏ7N&YXO\1y(P34] nh2cF.#\d[j6brfbt#ڥ{=ZVmڸ,m G [ԅ| Sry SJWyIMs"NqOּ̲:2~NCyJf]t4pϻby6 ]k< J13hĺщF-c0ϲYfJMiX|-|(b8kF{:`x~o_,Cijd~9[.; Zrϳ¼Xް)CXO0Ʊ ͧ&PqNJ\Q1-E0׈m8J+1F虅xLpB h_r)M:p[*sg/FZI`ڼ\/M&ƶ3Y)=YAo?zsyu(ezo3zeBS5g1!4ϩuiXO0BȺ}-K. QXK2MEIҖf 4ͦ&՜:(^FbγNjsN-QG*z&ObYbo_^5L.F _˔g(KQ-1/UhRUIPxg´r<>WRz:M:G'/|3s}˙5(gj\ɊSzk2S4S 'j2e 2xyjOiˬ'Ɯ,5nRpD V0(0ͦZf[#.,zÔf,R[=ޛz1n·ȁ:}g Q09六 YV/Jxx>'L^lW^6dt yhì.jϡφ\]9p.gH\ yF,b9̺\Jf&{ɵxG w1o>Ժq5>%=k _mF8`ٞ+.!áK2nIܓtF'<9tRMbiM .{:aM4SRW#x'[әk\Vs.SΙc7J:yhì dy" QY.&7˷9>rxM+Y2b/T<3.<'ܺ Ix0ϻظSj`}kG9S*I XgnL.Krb!M)%BNhÞ*R-3^dWqwchE6۬"Zh\jϣ.|]~`.6 #ros<הeRS?'!<̺^q&{ O&.1<|OiSrx5(eRS"O.S4OظSjeˉ8sOM5wԺY 88Xkܘ!d]a>pby(P̤تI7J1Z`ci\g.mÎ#>׏g[wufFTFQQ2ڸɉG( <3 ;pjBh_H6&??0c}m9}gZW3uS̺L}m^,Wbsݽ^ߖ>]|q x3B;Zg.%6.y6eoB8s}Fye˅'Ɯ,'ܦXM畢3&(֕bfqI6{k1JP0qS.5 n oKc]H\C?+:xӳvYMe80inBh_Gh>VLkAɗd9LSZYu.dy?'"OLˮq.):]Pc BѪ׬tf5>q65cN&YXOZEpCLۘg0a랙yt׍ J{m!ڎKraq h>Rc_A MŬ-TwV^ϣoS3l'LMhCKF ˣ'9>]&\V}̦꘧]yF;BS50ϻظM`}k87ԺqkM8Xkܘ!d]a>pby䢱pJtJ#=\W՛#OZW&'8zVMEgл)c_A9vi3<ג]Fd9?'!<̺:awm^ 2~ɼpu{#=Ι+]݊C /a g;і6Ƒ8f֯27坣p}̺MGwԺOqԺ}e\,]a>]a'nL1.!Q 3#*!P. Q&au.п;pjBn H|1EV11c> <~rxMkes&)~NE꟧k2ę{m^ cY80}ϨxM]YiX>4b & a7+Eb6 / %#kN]23HAPeD(0P xߢѝFTDeD`QQ2^?臡g{wtgFQFTDeTFTB׍!y)єeTFDeA!@5~zJvwwFteQAFP*#*!A _SFQFTDeT@ 7鏡gίyQ*#T8(A@@/cy)w^&N%D4D(@FP*|_CNEfN,YPTN%@P*.9i;ZGG{7ŚN,q,!ĨJ!P(T򈰒K !a%8BTBD(_ߎڜv9]#]?g_LMNO_application/x-javascript_7http://www.jazz.com/javascripts/prototype.js?1235025574O>bplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_7http://www.jazz.com/javascripts/prototype.js?1235025574./01X$classesZ$classname12UNSURLXNSObject#A/FoH 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKL_Transfer-EncodingWExpires]Cache-Control_Content-EncodingVServer\Content-TypeTDateZConnection]Last-ModifiedXIdentity_Sun, 14 Apr 2019 17:33:36 GMT_max-age=315360000Tgzip\nginx/0.6.30_application/x-javascript_Thu, 16 Apr 2009 17:33:36 GMTZkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary&./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  FKT_bhqz| !&1?Hh| #(,@hNO&/* Prototype JavaScript framework, version 1.5.0_rc1 * (c) 2005 Sam Stephenson * * Prototype is freely distributable under the terms of an MIT-style license. * For details, see the Prototype web site: http://prototype.conio.net/ * /*--------------------------------------------------------------------------*/ var Prototype = { Version: '1.5.0_rc1', BrowserFeatures: { XPath: !!document.evaluate }, ScriptFragment: '(?:)((\n|\r|.)*?)(?:<\/script>)', emptyFunction: function() {}, K: function(x) { return x } } var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } var Abstract = new Object(); Object.extend = function(destination, source) { for (var property in source) { destination[property] = source[property]; } return destination; } Object.extend(Object, { inspect: function(object) { try { if (object == undefined) return 'undefined'; if (object == null) return 'null'; return object.inspect ? object.inspect() : object.toString(); } catch (e) { if (e instanceof RangeError) return '...'; throw e; } }, keys: function(object) { var keys = []; for (var property in object) keys.push(property); return keys; }, values: function(object) { var values = []; for (var property in object) values.push(object[property]); return values; }, clone: function(object) { return Object.extend({}, object); } }); Function.prototype.bind = function() { var __method = this, args = $A(arguments), object = args.shift(); return function() { return __method.apply(object, args.concat($A(arguments))); } } Function.prototype.bindAsEventListener = function(object) { var __method = this, args = $A(arguments), object = args.shift(); return function(event) { return __method.apply(object, [( event || window.event)].concat(args).concat($A(arguments))); } } Object.extend(Number.prototype, { toColorPart: function() { var digits = this.toString(16); if (this < 16) return '0' + digits; return digits; }, succ: function() { return this + 1; }, times: function(iterator) { $R(0, this, true).each(iterator); return this; } }); var Try = { these: function() { var returnValue; for (var i = 0; i < arguments.length; i++) { var lambda = arguments[i]; try { returnValue = lambda(); break; } catch (e) {} } return returnValue; } } /*--------------------------------------------------------------------------*/ var PeriodicalExecuter = Class.create(); PeriodicalExecuter.prototype = { initialize: function(callback, frequency) { this.callback = callback; this.frequency = frequency; this.currentlyExecuting = false; this.registerCallback(); }, registerCallback: function() { this.timer = setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); }, stop: function() { if (!this.timer) return; clearInterval(this.timer); this.timer = null; }, onTimerEvent: function() { if (!this.currentlyExecuting) { try { this.currentlyExecuting = true; this.callback(this); } finally { this.currentlyExecuting = false; } } } } Object.extend(String.prototype, { gsub: function(pattern, replacement) { var result = '', source = this, match; replacement = arguments.callee.prepareReplacement(replacement); while (source.length > 0) { if (match = source.match(pattern)) { result += source.slice(0, match.index); result += (replacement(match) || '').toString(); source = source.slice(match.index + match[0].length); } else { result += source, source = ''; } } return result; }, sub: function(pattern, replacement, count) { replacement = this.gsub.prepareReplacement(replacement); count = count === undefined ? 1 : count; return this.gsub(pattern, function(match) { if (--count < 0) return match[0]; return replacement(match); }); }, scan: function(pattern, iterator) { this.gsub(pattern, iterator); return this; }, truncate: function(length, truncation) { length = length || 30; truncation = truncation === undefined ? '...' : truncation; return this.length > length ? this.slice(0, length - truncation.length) + truncation : this; }, strip: function() { return this.replace(/^\s+/, '').replace(/\s+$/, ''); }, stripTags: function() { return this.replace(/<\/?[^>]+>/gi, ''); }, stripScripts: function() { return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), ''); }, extractScripts: function() { var matchAll = new RegExp(Prototype.ScriptFragment, 'img'); var matchOne = new RegExp(Prototype.ScriptFragment, 'im'); return (this.match(matchAll) || []).map(function(scriptTag) { return (scriptTag.match(matchOne) || ['', ''])[1]; }); }, evalScripts: function() { return this.extractScripts().map(function(script) { return eval(script) }); }, escapeHTML: function() { var div = document.createElement('div'); var text = document.createTextNode(this); div.appendChild(text); return div.innerHTML; }, unescapeHTML: function() { var div = document.createElement('div'); div.innerHTML = this.stripTags(); return div.childNodes[0] ? div.childNodes[0].nodeValue : ''; }, toQueryParams: function() { var pairs = this.match(/^\??(.*)$/)[1].split('&'); return pairs.inject({}, function(params, pairString) { var pair = pairString.split('='); var value = pair[1] ? decodeURIComponent(pair[1]) : undefined; params[decodeURIComponent(pair[0])] = value; return params; }); }, toArray: function() { return this.split(''); }, camelize: function() { var oStringList = this.split('-'); if (oStringList.length == 1) return oStringList[0]; var camelizedString = this.indexOf('-') == 0 ? oStringList[0].charAt(0).toUpperCase() + oStringList[0].substring(1) : oStringList[0]; for (var i = 1, len = oStringList.length; i < len; i++) { var s = oStringList[i]; camelizedString += s.charAt(0).toUpperCase() + s.substring(1); } return camelizedString; }, inspect: function(useDoubleQuotes) { var escapedString = this.replace(/\\/g, '\\\\'); if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; else return "'" + escapedString.replace(/'/g, '\\\'') + "'"; } }); String.prototype.gsub.prepareReplacement = function(replacement) { if (typeof replacement == 'function') return replacement; var template = new Template(replacement); return function(match) { return template.evaluate(match) }; } String.prototype.parseQuery = String.prototype.toQueryParams; var Template = Class.create(); Template.Pattern = /(^|.|\r|\n)(#\{(.*?)\})/; Template.prototype = { initialize: function(template, pattern) { this.template = template.toString(); this.pattern = pattern || Template.Pattern; }, evaluate: function(object) { return this.template.gsub(this.pattern, function(match) { var before = match[1]; if (before == '\\') return match[2]; return before + (object[match[3]] || '').toString(); }); } } var $break = new Object(); var $continue = new Object(); var Enumerable = { each: function(iterator) { var index = 0; try { this._each(function(value) { try { iterator(value, index++); } catch (e) { if (e != $continue) throw e; } }); } catch (e) { if (e != $break) throw e; } }, all: function(iterator) { var result = true; this.each(function(value, index) { result = result && !!(iterator || Prototype.K)(value, index); if (!result) throw $break; }); return result; }, any: function(iterator) { var result = false; this.each(function(value, index) { if (result = !!(iterator || Prototype.K)(value, index)) throw $break; }); return result; }, collect: function(iterator) { var results = []; this.each(function(value, index) { results.push(iterator(value, index)); }); return results; }, detect: function (iterator) { var result; this.each(function(value, index) { if (iterator(value, index)) { result = value; throw $break; } }); return result; }, findAll: function(iterator) { var results = []; this.each(function(value, index) { if (iterator(value, index)) results.push(value); }); return results; }, grep: function(pattern, iterator) { var results = []; this.each(function(value, index) { var stringValue = value.toString(); if (stringValue.match(pattern)) results.push((iterator || Prototype.K)(value, index)); }) return results; }, include: function(object) { var found = false; this.each(function(value) { if (value == object) { found = true; throw $break; } }); return found; }, inject: function(memo, iterator) { this.each(function(value, index) { memo = iterator(memo, value, index); }); return memo; }, invoke: function(method) { var args = $A(arguments).slice(1); return this.collect(function(value) { return value[method].apply(value, args); }); }, max: function(iterator) { var result; this.each(function(value, index) { value = (iterator || Prototype.K)(value, index); if (result == undefined || value >= result) result = value; }); return result; }, min: function(iterator) { var result; this.each(function(value, index) { value = (iterator || Prototype.K)(value, index); if (result == undefined || value < result) result = value; }); return result; }, partition: function(iterator) { var trues = [], falses = []; this.each(function(value, index) { ((iterator || Prototype.K)(value, index) ? trues : falses).push(value); }); return [trues, falses]; }, pluck: function(property) { var results = []; this.each(function(value, index) { results.push(value[property]); }); return results; }, reject: function(iterator) { var results = []; this.each(function(value, index) { if (!iterator(value, index)) results.push(value); }); return results; }, sortBy: function(iterator) { return this.collect(function(value, index) { return {value: value, criteria: iterator(value, index)}; }).sort(function(left, right) { var a = left.criteria, b = right.criteria; return a < b ? -1 : a > b ? 1 : 0; }).pluck('value'); }, toArray: function() { return this.collect(Prototype.K); }, zip: function() { var iterator = Prototype.K, args = $A(arguments); if (typeof args.last() == 'function') iterator = args.pop(); var collections = [this].concat(args).map($A); return this.map(function(value, index) { return iterator(collections.pluck(index)); }); }, inspect: function() { return '#'; } } Object.extend(Enumerable, { map: Enumerable.collect, find: Enumerable.detect, select: Enumerable.findAll, member: Enumerable.include, entries: Enumerable.toArray }); var $A = Array.from = function(iterable) { if (!iterable) return []; if (iterable.toArray) { return iterable.toArray(); } else { var results = []; for (var i = 0; i < iterable.length; i++) results.push(iterable[i]); return results; } } Object.extend(Array.prototype, Enumerable); if (!Array.prototype._reverse) Array.prototype._reverse = Array.prototype.reverse; Object.extend(Array.prototype, { _each: function(iterator) { for (var i = 0; i < this.length; i++) iterator(this[i]); }, clear: function() { this.length = 0; return this; }, first: function() { return this[0]; }, last: function() { return this[this.length - 1]; }, compact: function() { return this.select(function(value) { return value != undefined || value != null; }); }, flatten: function() { return this.inject([], function(array, value) { return array.concat(value && value.constructor == Array ? value.flatten() : [value]); }); }, without: function() { var values = $A(arguments); return this.select(function(value) { return !values.include(value); }); }, indexOf: function(object) { for (var i = 0; i < this.length; i++) if (this[i] == object) return i; return -1; }, reverse: function(inline) { return (inline !== false ? this : this.toArray())._reverse(); }, reduce: function() { return this.length > 1 ? this : this[0]; }, uniq: function() { return this.inject([], function(array, value) { return array.include(value) ? array : array.concat([value]); }); }, inspect: function() { return '[' + this.map(Object.inspect).join(', ') + ']'; } }); var Hash = { _each: function(iterator) { for (var key in this) { var value = this[key]; if (typeof value == 'function') continue; var pair = [key, value]; pair.key = key; pair.value = value; iterator(pair); } }, keys: function() { return this.pluck('key'); }, values: function() { return this.pluck('value'); }, merge: function(hash) { return $H(hash).inject($H(this), function(mergedHash, pair) { mergedHash[pair.key] = pair.value; return mergedHash; }); }, toQueryString: function() { return this.map(function(pair) { return pair.map(encodeURIComponent).join('='); }).join('&'); }, inspect: function() { return '#'; } } function $H(object) { var hash = Object.extend({}, object || {}); Object.extend(hash, Enumerable); Object.extend(hash, Hash); return hash; } ObjectRange = Class.create(); Object.extend(ObjectRange.prototype, Enumerable); Object.extend(ObjectRange.prototype, { initialize: function(start, end, exclusive) { this.start = start; this.end = end; this.exclusive = exclusive; }, _each: function(iterator) { var value = this.start; while (this.include(value)) { iterator(value); value = value.succ(); } }, include: function(value) { if (value < this.start) return false; if (this.exclusive) return value < this.end; return value <= this.end; } }); var $R = function(start, end, exclusive) { return new ObjectRange(start, end, exclusive); } var Ajax = { getTransport: function() { return Try.these( function() {return new XMLHttpRequest()}, function() {return new ActiveXObject('Msxml2.XMLHTTP')}, function() {return new ActiveXObject('Microsoft.XMLHTTP')} ) || false; }, activeRequestCount: 0 } Ajax.Responders = { responders: [], _each: function(iterator) { this.responders._each(iterator); }, register: function(responderToAdd) { if (!this.include(responderToAdd)) this.responders.push(responderToAdd); }, unregister: function(responderToRemove) { this.responders = this.responders.without(responderToRemove); }, dispatch: function(callback, request, transport, json) { this.each(function(responder) { if (responder[callback] && typeof responder[callback] == 'function') { try { responder[callback].apply(responder, [request, transport, json]); } catch (e) {} } }); } }; Object.extend(Ajax.Responders, Enumerable); Ajax.Responders.register({ onCreate: function() { Ajax.activeRequestCount++; }, onComplete: function() { Ajax.activeRequestCount--; } }); Ajax.Base = function() {}; Ajax.Base.prototype = { setOptions: function(options) { this.options = { method: 'post', asynchronous: true, contentType: 'application/x-www-form-urlencoded', parameters: '' } Object.extend(this.options, options || {}); }, responseIsSuccess: function() { return this.transport.status == undefined || this.transport.status == 0 || (this.transport.status >= 200 && this.transport.status < 300); }, responseIsFailure: function() { return !this.responseIsSuccess(); } } Ajax.Request = Class.create(); Ajax.Request.Events = ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Request.prototype = Object.extend(new Ajax.Base(), { initialize: function(url, options) { this.transport = Ajax.getTransport(); this.setOptions(options); this.request(url); }, request: function(url) { var parameters = this.options.parameters || ''; if (parameters.length > 0) parameters += '&_='; /* Simulate other verbs over post */ if (this.options.method != 'get' && this.options.method != 'post') { parameters += (parameters.length > 0 ? '&' : '') + '_method=' + this.options.method; this.options.method = 'post'; } try { this.url = url; if (this.options.method == 'get' && parameters.length > 0) this.url += (this.url.match(/\?/) ? '&' : '?') + parameters; Ajax.Responders.dispatch('onCreate', this, this.transport); this.transport.open(this.options.method, this.url, this.options.asynchronous); if (this.options.asynchronous) setTimeout(function() { this.respondToReadyState(1) }.bind(this), 10); this.transport.onreadystatechange = this.onStateChange.bind(this); this.setRequestHeaders(); var body = this.options.postBody ? this.options.postBody : parameters; this.transport.send(this.options.method == 'post' ? body : null); /* Force Firefox to handle ready state 4 for synchronous requests */ if (!this.options.asynchronous && this.transport.overrideMimeType) this.onStateChange(); } catch (e) { this.dispatchException(e); } }, setRequestHeaders: function() { var requestHeaders = ['X-Requested-With', 'XMLHttpRequest', 'X-Prototype-Version', Prototype.Version, 'Accept', 'text/javascript, text/html, application/xml, text/xml, */*']; if (this.options.method == 'post') { requestHeaders.push('Content-type', this.options.contentType); /* Force "Connection: close" for Mozilla browsers to work around * a bug where XMLHttpReqeuest sends an incorrect Content-length * header. See Mozilla Bugzilla #246651. */ if (this.transport.overrideMimeType) requestHeaders.push('Connection', 'close'); } if (this.options.requestHeaders) requestHeaders.push.apply(requestHeaders, this.options.requestHeaders); for (var i = 0; i < requestHeaders.length; i += 2) this.transport.setRequestHeader(requestHeaders[i], requestHeaders[i+1]); }, onStateChange: function() { var readyState = this.transport.readyState; if (readyState != 1) this.respondToReadyState(this.transport.readyState); }, header: function(name) { try { return this.transport.getResponseHeader(name); } catch (e) {} }, evalJSON: function() { try { return eval('(' + this.header('X-JSON') + ')'); } catch (e) {} }, evalResponse: function() { try { return eval(this.transport.responseText); } catch (e) { this.dispatchException(e); } }, respondToReadyState: function(readyState) { var event = Ajax.Request.Events[readyState]; var transport = this.transport, json = this.evalJSON(); if (event == 'Complete') { try { (this.options['on' + this.transport.status] || this.options['on' + (this.responseIsSuccess() ? 'Success' : 'Failure')] || Prototype.emptyFunction)(transport, json); } catch (e) { this.dispatchException(e); } if ((this.header('Content-type') || '').match(/^text\/javascript/i)) this.evalResponse(); } try { (this.options['on' + event] || Prototype.emptyFunction)(transport, json); Ajax.Responders.dispatch('on' + event, this, transport, json); } catch (e) { this.dispatchException(e); } /* Avoid memory leak in MSIE: clean up the oncomplete event handler */ if (event == 'Complete') this.transport.onreadystatechange = Prototype.emptyFunction; }, dispatchException: function(exception) { (this.options.onException || Prototype.emptyFunction)(this, exception); Ajax.Responders.dispatch('onException', this, exception); } }); Ajax.Updater = Class.create(); Object.extend(Object.extend(Ajax.Updater.prototype, Ajax.Request.prototype), { initialize: function(container, url, options) { this.containers = { success: container.success ? $(container.success) : $(container), failure: container.failure ? $(container.failure) : (container.success ? null : $(container)) } this.transport = Ajax.getTransport(); this.setOptions(options); var onComplete = this.options.onComplete || Prototype.emptyFunction; this.options.onComplete = (function(transport, object) { this.updateContent(); onComplete(transport, object); }).bind(this); this.request(url); }, updateContent: function() { var receiver = this.responseIsSuccess() ? this.containers.success : this.containers.failure; var response = this.transport.responseText; if (!this.options.evalScripts) response = response.stripScripts(); if (receiver) { if (this.options.insertion) { new this.options.insertion(receiver, response); } else { Element.update(receiver, response); } } if (this.responseIsSuccess()) { if (this.onComplete) setTimeout(this.onComplete.bind(this), 10); } } }); Ajax.PeriodicalUpdater = Class.create(); Ajax.PeriodicalUpdater.prototype = Object.extend(new Ajax.Base(), { initialize: function(container, url, options) { this.setOptions(options); this.onComplete = this.options.onComplete; this.frequency = (this.options.frequency || 2); this.decay = (this.options.decay || 1); this.updater = {}; this.container = container; this.url = url; this.start(); }, start: function() { this.options.onComplete = this.updateComplete.bind(this); this.onTimerEvent(); }, stop: function() { this.updater.options.onComplete = undefined; clearTimeout(this.timer); (this.onComplete || Prototype.emptyFunction).apply(this, arguments); }, updateComplete: function(request) { if (this.options.decay) { this.decay = (request.responseText == this.lastText ? this.decay * this.options.decay : 1); this.lastText = request.responseText; } this.timer = setTimeout(this.onTimerEvent.bind(this), this.decay * this.frequency * 1000); }, onTimerEvent: function() { this.updater = new Ajax.Updater(this.container, this.url, this.options); } }); function $() { var results = [], element; for (var i = 0; i < arguments.length; i++) { element = arguments[i]; if (typeof element == 'string') element = document.getElementById(element); results.push(Element.extend(element)); } return results.reduce(); } if (Prototype.BrowserFeatures.XPath) { document._getElementsByXPath = function(expression, parentElement) { var results = []; var query = document.evaluate(expression, $(parentElement) || document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i = 0, len = query.snapshotLength; i < len; i++) results.push(query.snapshotItem(i)); return results; } } document.getElementsByClassName = function(className, parentElement) { if (Prototype.BrowserFeatures.XPath) { var q = ".//*[contains(concat(' ', @class, ' '), ' " + className + " ')]"; return document._getElementsByXPath(q, parentElement); } else { var children = ($(parentElement) || document.body).getElementsByTagName('*'); var elements = [], child; for (var i = 0, len = children.length; i < len; i++) { child = children[i]; if (child.className.length == 0) continue; if (child.className == className || child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)"))) elements.push(Element.extend(child)); } return elements; } } /*--------------------------------------------------------------------------*/ if (!window.Element) var Element = new Object(); Element.extend = function(element) { if (!element) return; if (_nativeExtensions || element.nodeType == 3) return element; if (!element._extended && element.tagName && element != window) { var methods = Object.clone(Element.Methods), cache = Element.extend.cache; if (element.tagName == 'FORM') Object.extend(methods, Form.Methods); if (['INPUT', 'TEXTAREA', 'SELECT'].include(element.tagName)) Object.extend(methods, Form.Element.Methods); for (var property in methods) { var value = methods[property]; if (typeof value == 'function') element[property] = cache.findOrStore(value); } } element._extended = true; return element; } Element.extend.cache = { findOrStore: function(value) { return this[value] = this[value] || function() { return value.apply(null, [this].concat($A(arguments))); } } } Element.Methods = { visible: function(element) { return $(element).style.display != 'none'; }, toggle: function(element) { element = $(element); Element[Element.visible(element) ? 'hide' : 'show'](element); return element; }, hide: function(element) { $(element).style.display = 'none'; return element; }, show: function(element) { $(element).style.display = ''; return element; }, remove: function(element) { element = $(element); element.parentNode.removeChild(element); return element; }, update: function(element, html) { $(element).innerHTML = html.stripScripts(); setTimeout(function() {html.evalScripts()}, 10); return element; }, replace: function(element, html) { element = $(element); if (element.outerHTML) { element.outerHTML = html.stripScripts(); } else { var range = element.ownerDocument.createRange(); range.selectNodeContents(element); element.parentNode.replaceChild( range.createContextualFragment(html.stripScripts()), element); } setTimeout(function() {html.evalScripts()}, 10); return element; }, inspect: function(element) { element = $(element); var result = '<' + element.tagName.toLowerCase(); $H({'id': 'id', 'className': 'class'}).each(function(pair) { var property = pair.first(), attribute = pair.last(); var value = (element[property] || '').toString(); if (value) result += ' ' + attribute + '=' + value.inspect(true); }); return result + '>'; }, recursivelyCollect: function(element, property) { element = $(element); var elements = []; while (element = element[property]) if (element.nodeType == 1) elements.push(Element.extend(element)); return elements; }, ancestors: function(element) { return $(element).recursivelyCollect('parentNode'); }, descendants: function(element) { element = $(element); return $A(element.getElementsByTagName('*')); }, previousSiblings: function(element) { return $(element).recursivelyCollect('previousSibling'); }, nextSiblings: function(element) { return $(element).recursivelyCollect('nextSibling'); }, siblings: function(element) { element = $(element); return element.previousSiblings().reverse().concat(element.nextSiblings()); }, match: function(element, selector) { element = $(element); if (typeof selector == 'string') selector = new Selector(selector); return selector.match(element); }, up: function(element, expression, index) { return Selector.findElement($(element).ancestors(), expression, index); }, down: function(element, expression, index) { return Selector.findElement($(element).descendants(), expression, index); }, previous: function(element, expression, index) { return Selector.findElement($(element).previousSiblings(), expression, index); }, next: function(element, expression, index) { return Selector.findElement($(element).nextSiblings(), expression, index); }, getElementsBySelector: function() { var args = $A(arguments), element = $(args.shift()); return Selector.findChildElements(element, args); }, getElementsByClassName: function(element, className) { element = $(element); return document.getElementsByClassName(className, element); }, getHeight: function(element) { element = $(element); return element.offsetHeight; }, classNames: function(element) { return new Element.ClassNames(element); }, hasClassName: function(element, className) { if (!(element = $(element))) return; return Element.classNames(element).include(className); }, addClassName: function(element, className) { if (!(element = $(element))) return; Element.classNames(element).add(className); return element; }, removeClassName: function(element, className) { if (!(element = $(element))) return; Element.classNames(element).remove(className); return element; }, observe: function() { Event.observe.apply(Event, arguments); return $A(arguments).first(); }, stopObserving: function() { Event.stopObserving.apply(Event, arguments); return $A(arguments).first(); }, // removes whitespace-only text node children cleanWhitespace: function(element) { element = $(element); var node = element.firstChild; while (node) { var nextNode = node.nextSibling; if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) element.removeChild(node); node = nextNode; } return element; }, empty: function(element) { return $(element).innerHTML.match(/^\s*$/); }, childOf: function(element, ancestor) { element = $(element), ancestor = $(ancestor); while (element = element.parentNode) if (element == ancestor) return true; return false; }, scrollTo: function(element) { element = $(element); var x = element.x ? element.x : element.offsetLeft, y = element.y ? element.y : element.offsetTop; window.scrollTo(x, y); return element; }, getStyle: function(element, style) { element = $(element); var value = element.style[style.camelize()]; if (!value) { if (document.defaultView && document.defaultView.getComputedStyle) { var css = document.defaultView.getComputedStyle(element, null); value = css ? css.getPropertyValue(style) : null; } else if (element.currentStyle) { value = element.currentStyle[style.camelize()]; } } if (window.opera && ['left', 'top', 'right', 'bottom'].include(style)) if (Element.getStyle(element, 'position') == 'static') value = 'auto'; return value == 'auto' ? null : value; }, setStyle: function(element, style) { element = $(element); for (var name in style) element.style[name.camelize()] = style[name]; return element; }, getDimensions: function(element) { element = $(element); if (Element.getStyle(element, 'display') != 'none') return {width: element.offsetWidth, height: element.offsetHeight}; // All *Width and *Height properties give 0 on elements with display none, // so enable the element temporarily var els = element.style; var originalVisibility = els.visibility; var originalPosition = els.position; els.visibility = 'hidden'; els.position = 'absolute'; els.display = ''; var originalWidth = element.clientWidth; var originalHeight = element.clientHeight; els.display = 'none'; els.position = originalPosition; els.visibility = originalVisibility; return {width: originalWidth, height: originalHeight}; }, makePositioned: function(element) { element = $(element); var pos = Element.getStyle(element, 'position'); if (pos == 'static' || !pos) { element._madePositioned = true; element.style.position = 'relative'; // Opera returns the offset relative to the positioning context, when an // element is position relative but top and left have not been defined if (window.opera) { element.style.top = 0; element.style.left = 0; } } return element; }, undoPositioned: function(element) { element = $(element); if (element._madePositioned) { element._madePositioned = undefined; element.style.position = element.style.top = element.style.left = element.style.bottom = element.style.right = ''; } return element; }, makeClipping: function(element) { element = $(element); if (element._overflow) return; element._overflow = element.style.overflow || 'auto'; if ((Element.getStyle(element, 'overflow') || 'visible') != 'hidden') element.style.overflow = 'hidden'; return element; }, undoClipping: function(element) { element = $(element); if (!element._overflow) return; element.style.overflow = element._overflow == 'auto' ? '' : element._overflow; element._overflow = null; return element; } } // IE is missing .innerHTML support for TABLE-related elements if(document.all){ Element.Methods.update = function(element, html) { element = $(element); var tagName = element.tagName.toUpperCase(); if (['THEAD','TBODY','TR','TD'].indexOf(tagName) > -1) { var div = document.createElement('div'); switch (tagName) { case 'THEAD': case 'TBODY': div.innerHTML = '' + html.stripScripts() + '
'; depth = 2; break; case 'TR': div.innerHTML = '' + html.stripScripts() + '
'; depth = 3; break; case 'TD': div.innerHTML = '
' + html.stripScripts() + '
'; depth = 4; } $A(element.childNodes).each(function(node){ element.removeChild(node) }); depth.times(function(){ div = div.firstChild }); $A(div.childNodes).each( function(node){ element.appendChild(node) }); } else { element.innerHTML = html.stripScripts(); } setTimeout(function() {html.evalScripts()}, 10); return element; } } Object.extend(Element, Element.Methods); var _nativeExtensions = false; if (!window.HTMLElement && /Konqueror|Safari|KHTML/.test(navigator.userAgent)) { /* Emulate HTMLElement, HTMLFormElement, HTMLInputElement, HTMLTextAreaElement, and HTMLSelectElement in Safari */ ['', 'Form', 'Input', 'TextArea', 'Select'].each(function(tag) { var klass = window['HTML' + tag + 'Element'] = {}; klass.prototype = document.createElement(tag ? tag.toLowerCase() : 'div').__proto__; }); } Element.addMethods = function(methods) { Object.extend(Element.Methods, methods || {}); function copy(methods, destination) { var cache = Element.extend.cache; for (var property in methods) { var value = methods[property]; destination[property] = cache.findOrStore(value); } } if (typeof HTMLElement != 'undefined') { copy(Element.Methods, HTMLElement.prototype); copy(Form.Methods, HTMLFormElement.prototype); [HTMLInputElement, HTMLTextAreaElement, HTMLSelectElement].each(function(klass) { copy(Form.Element.Methods, klass.prototype); }); _nativeExtensions = true; } } var Toggle = new Object(); Toggle.display = Element.toggle; /*--------------------------------------------------------------------------*/ Abstract.Insertion = function(adjacency) { this.adjacency = adjacency; } Abstract.Insertion.prototype = { initialize: function(element, content) { this.element = $(element); this.content = content.stripScripts(); if (this.adjacency && this.element.insertAdjacentHTML) { try { this.element.insertAdjacentHTML(this.adjacency, this.content); } catch (e) { var tagName = this.element.tagName.toLowerCase(); if (tagName == 'tbody' || tagName == 'tr') { this.insertContent(this.contentFromAnonymousTable()); } else { throw e; } } } else { this.range = this.element.ownerDocument.createRange(); if (this.initializeRange) this.initializeRange(); this.insertContent([this.range.createContextualFragment(this.content)]); } setTimeout(function() {content.evalScripts()}, 10); }, contentFromAnonymousTable: function() { var div = document.createElement('div'); div.innerHTML = '' + this.content + '
'; return $A(div.childNodes[0].childNodes[0].childNodes); } } var Insertion = new Object(); Insertion.Before = Class.create(); Insertion.Before.prototype = Object.extend(new Abstract.Insertion('beforeBegin'), { initializeRange: function() { this.range.setStartBefore(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.parentNode.insertBefore(fragment, this.element); }).bind(this)); } }); Insertion.Top = Class.create(); Insertion.Top.prototype = Object.extend(new Abstract.Insertion('afterBegin'), { initializeRange: function() { this.range.selectNodeContents(this.element); this.range.collapse(true); }, insertContent: function(fragments) { fragments.reverse(false).each((function(fragment) { this.element.insertBefore(fragment, this.element.firstChild); }).bind(this)); } }); Insertion.Bottom = Class.create(); Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion('beforeEnd'), { initializeRange: function() { this.range.selectNodeContents(this.element); this.range.collapse(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.appendChild(fragment); }).bind(this)); } }); Insertion.After = Class.create(); Insertion.After.prototype = Object.extend(new Abstract.Insertion('afterEnd'), { initializeRange: function() { this.range.setStartAfter(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.parentNode.insertBefore(fragment, this.element.nextSibling); }).bind(this)); } }); /*--------------------------------------------------------------------------*/ Element.ClassNames = Class.create(); Element.ClassNames.prototype = { initialize: function(element) { this.element = $(element); }, _each: function(iterator) { this.element.className.split(/\s+/).select(function(name) { return name.length > 0; })._each(iterator); }, set: function(className) { this.element.className = className; }, add: function(classNameToAdd) { if (this.include(classNameToAdd)) return; this.set(this.toArray().concat(classNameToAdd).join(' ')); }, remove: function(classNameToRemove) { if (!this.include(classNameToRemove)) return; this.set(this.select(function(className) { return className != classNameToRemove; }).join(' ')); }, toString: function() { return this.toArray().join(' '); } } Object.extend(Element.ClassNames.prototype, Enumerable); var Selector = Class.create(); Selector.prototype = { initialize: function(expression) { this.params = {classNames: []}; this.expression = expression.toString().strip(); this.parseExpression(); this.compileMatcher(); }, parseExpression: function() { function abort(message) { throw 'Parse error in selector: ' + message; } if (this.expression == '') abort('empty expression'); var params = this.params, expr = this.expression, match, modifier, clause, rest; while (match = expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)) { params.attributes = params.attributes || []; params.attributes.push({name: match[2], operator: match[3], value: match[4] || match[5] || ''}); expr = match[1]; } if (expr == '*') return this.params.wildcard = true; while (match = expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)) { modifier = match[1], clause = match[2], rest = match[3]; switch (modifier) { case '#': params.id = clause; break; case '.': params.classNames.push(clause); break; case '': case undefined: params.tagName = clause.toUpperCase(); break; default: abort(expr.inspect()); } expr = rest; } if (expr.length > 0) abort(expr.inspect()); }, buildMatchExpression: function() { var params = this.params, conditions = [], clause; if (params.wildcard) conditions.push('true'); if (clause = params.id) conditions.push('element.id == ' + clause.inspect()); if (clause = params.tagName) conditions.push('element.tagName.toUpperCase() == ' + clause.inspect()); if ((clause = params.classNames).length > 0) for (var i = 0; i < clause.length; i++) conditions.push('Element.hasClassName(element, ' + clause[i].inspect() + ')'); if (clause = params.attributes) { clause.each(function(attribute) { var value = 'element.getAttribute(' + attribute.name.inspect() + ')'; var splitValueBy = function(delimiter) { return value + ' && ' + value + '.split(' + delimiter.inspect() + ')'; } switch (attribute.operator) { case '=': conditions.push(value + ' == ' + attribute.value.inspect()); break; case '~=': conditions.push(splitValueBy(' ') + '.include(' + attribute.value.inspect() + ')'); break; case '|=': conditions.push( splitValueBy('-') + '.first().toUpperCase() == ' + attribute.value.toUpperCase().inspect() ); break; case '!=': conditions.push(value + ' != ' + attribute.value.inspect()); break; case '': case undefined: conditions.push(value + ' != null'); break; default: throw 'Unknown operator ' + attribute.operator + ' in selector'; } }); } return conditions.join(' && '); }, compileMatcher: function() { this.match = new Function('element', 'if (!element.tagName) return false; \ return ' + this.buildMatchExpression()); }, findElements: function(scope) { var element; if (element = $(this.params.id)) if (this.match(element)) if (!scope || Element.childOf(element, scope)) return [element]; scope = (scope || document).getElementsByTagName(this.params.tagName || '*'); var results = []; for (var i = 0; i < scope.length; i++) if (this.match(element = scope[i])) results.push(Element.extend(element)); return results; }, toString: function() { return this.expression; } } Object.extend(Selector, { matchElements: function(elements, expression) { var selector = new Selector(expression); return elements.select(selector.match.bind(selector)); }, findElement: function(elements, expression, index) { if (typeof expression == 'number') index = expression, expression = false; return Selector.matchElements(elements, expression || '*')[index || 0]; }, findChildElements: function(element, expressions) { return expressions.map(function(expression) { return expression.strip().split(/\s+/).inject([null], function(results, expr) { var selector = new Selector(expr); return results.inject([], function(elements, result) { return elements.concat(selector.findElements(result || element)); }); }); }).flatten(); } }); function $$() { return Selector.findChildElements(document, $A(arguments)); } var Form = { reset: function(form) { $(form).reset(); return form; } }; Form.Methods = { serialize: function(form) { return this.serializeElements(Form.getElements($(form))); }, serializeElements: function(elements) { var queryComponents = new Array(); for (var i = 0; i < elements.length; i++) { var queryComponent = Form.Element.serialize(elements[i]); if (queryComponent) queryComponents.push(queryComponent); } return queryComponents.join('&'); }, getElements: function(form) { return $A($(form).getElementsByTagName('*')).inject([], function(elements, child) { if (Form.Element.Serializers[child.tagName.toLowerCase()]) elements.push(Element.extend(child)); return elements; }); }, getInputs: function(form, typeName, name) { form = $(form); var inputs = form.getElementsByTagName('input'); if (!typeName && !name) return inputs; var matchingInputs = new Array(); for (var i = 0; i < inputs.length; i++) { var input = inputs[i]; if ((typeName && input.type != typeName) || (name && input.name != name)) continue; matchingInputs.push(input); } return matchingInputs; }, disable: function(form) { form = $(form); var elements = Form.getElements(form); for (var i = 0; i < elements.length; i++) { var element = elements[i]; element.blur(); element.disabled = 'true'; } return form; }, enable: function(form) { form = $(form); var elements = Form.getElements(form); for (var i = 0; i < elements.length; i++) { var element = elements[i]; element.disabled = ''; } return form; }, findFirstElement: function(form) { return Form.getElements(form).find(function(element) { return element.type != 'hidden' && !element.disabled && ['input', 'select', 'textarea'].include(element.tagName.toLowerCase()); }); }, focusFirstElement: function(form) { form = $(form); Field.activate(Form.findFirstElement(form)); return form; } } Object.extend(Form, Form.Methods); /*--------------------------------------------------------------------------*/ Form.Element = { focus: function(element) { $(element).focus(); return element; }, select: function(element) { $(element).select(); return element; } } Form.Element.Methods = { serialize: function(element) { element = $(element); var method = element.tagName.toLowerCase(); var parameter = Form.Element.Serializers[method](element); if (parameter) { var key = encodeURIComponent(parameter[0]); if (key.length == 0) return; if (parameter[1].constructor != Array) parameter[1] = [parameter[1]]; return parameter[1].map(function(value) { return key + '=' + encodeURIComponent(value); }).join('&'); } }, getValue: function(element) { element = $(element); var method = element.tagName.toLowerCase(); var parameter = Form.Element.Serializers[method](element); if (parameter) return parameter[1]; }, clear: function(element) { $(element).value = ''; return element; }, present: function(element) { return $(element).value != ''; }, activate: function(element) { element = $(element); element.focus(); if (element.select) element.select(); return element; }, disable: function(element) { element = $(element); element.disabled = true; return element; }, enable: function(element) { element = $(element); element.blur(); element.disabled = false; return element; } } Object.extend(Form.Element, Form.Element.Methods); var Field = Form.Element; /*--------------------------------------------------------------------------*/ Form.Element.Serializers = { input: function(element) { switch (element.type.toLowerCase()) { case 'checkbox': case 'radio': return Form.Element.Serializers.inputSelector(element); default: return Form.Element.Serializers.textarea(element); } return false; }, inputSelector: function(element) { if (element.checked) return [element.name, element.value]; }, textarea: function(element) { return [element.name, element.value]; }, select: function(element) { return Form.Element.Serializers[element.type == 'select-one' ? 'selectOne' : 'selectMany'](element); }, selectOne: function(element) { var value = '', opt, index = element.selectedIndex; if (index >= 0) { opt = element.options[index]; value = opt.value || opt.text; } return [element.name, value]; }, selectMany: function(element) { var value = []; for (var i = 0; i < element.length; i++) { var opt = element.options[i]; if (opt.selected) value.push(opt.value || opt.text); } return [element.name, value]; } } /*--------------------------------------------------------------------------*/ var $F = Form.Element.getValue; /*--------------------------------------------------------------------------*/ Abstract.TimedObserver = function() {} Abstract.TimedObserver.prototype = { initialize: function(element, frequency, callback) { this.frequency = frequency; this.element = $(element); this.callback = callback; this.lastValue = this.getValue(); this.registerCallback(); }, registerCallback: function() { setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); }, onTimerEvent: function() { var value = this.getValue(); if (this.lastValue != value) { this.callback(this.element, value); this.lastValue = value; } } } Form.Element.Observer = Class.create(); Form.Element.Observer.prototype = Object.extend(new Abstract.TimedObserver(), { getValue: function() { return Form.Element.getValue(this.element); } }); Form.Observer = Class.create(); Form.Observer.prototype = Object.extend(new Abstract.TimedObserver(), { getValue: function() { return Form.serialize(this.element); } }); /*--------------------------------------------------------------------------*/ Abstract.EventObserver = function() {} Abstract.EventObserver.prototype = { initialize: function(element, callback) { this.element = $(element); this.callback = callback; this.lastValue = this.getValue(); if (this.element.tagName.toLowerCase() == 'form') this.registerFormCallbacks(); else this.registerCallback(this.element); }, onElementEvent: function() { var value = this.getValue(); if (this.lastValue != value) { this.callback(this.element, value); this.lastValue = value; } }, registerFormCallbacks: function() { var elements = Form.getElements(this.element); for (var i = 0; i < elements.length; i++) this.registerCallback(elements[i]); }, registerCallback: function(element) { if (element.type) { switch (element.type.toLowerCase()) { case 'checkbox': case 'radio': Event.observe(element, 'click', this.onElementEvent.bind(this)); break; default: Event.observe(element, 'change', this.onElementEvent.bind(this)); break; } } } } Form.Element.EventObserver = Class.create(); Form.Element.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), { getValue: function() { return Form.Element.getValue(this.element); } }); Form.EventObserver = Class.create(); Form.EventObserver.prototype = Object.extend(new Abstract.EventObserver(), { getValue: function() { return Form.serialize(this.element); } }); if (!window.Event) { var Event = new Object(); } Object.extend(Event, { KEY_BACKSPACE: 8, KEY_TAB: 9, KEY_RETURN: 13, KEY_ESC: 27, KEY_LEFT: 37, KEY_UP: 38, KEY_RIGHT: 39, KEY_DOWN: 40, KEY_DELETE: 46, KEY_HOME: 36, KEY_END: 35, KEY_PAGEUP: 33, KEY_PAGEDOWN: 34, element: function(event) { return event.target || event.srcElement; }, isLeftClick: function(event) { return (((event.which) && (event.which == 1)) || ((event.button) && (event.button == 1))); }, pointerX: function(event) { return event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)); }, pointerY: function(event) { return event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); }, stop: function(event) { if (event.preventDefault) { event.preventDefault(); event.stopPropagation(); } else { event.returnValue = false; event.cancelBubble = true; } }, // find the first node with the given tagName, starting from the // node the event was triggered on; traverses the DOM upwards findElement: function(event, tagName) { var element = Event.element(event); while (element.parentNode && (!element.tagName || (element.tagName.toUpperCase() != tagName.toUpperCase()))) element = element.parentNode; return element; }, observers: false, _observeAndCache: function(element, name, observer, useCapture) { if (!this.observers) this.observers = []; if (element.addEventListener) { this.observers.push([element, name, observer, useCapture]); element.addEventListener(name, observer, useCapture); } else if (element.attachEvent) { this.observers.push([element, name, observer, useCapture]); element.attachEvent('on' + name, observer); } }, unloadCache: function() { if (!Event.observers) return; for (var i = 0; i < Event.observers.length; i++) { Event.stopObserving.apply(this, Event.observers[i]); Event.observers[i][0] = null; } Event.observers = false; }, observe: function(element, name, observer, useCapture) { element = $(element); useCapture = useCapture || false; if (name == 'keypress' && (navigator.appVersion.match(/Konqueror|Safari|KHTML/) || element.attachEvent)) name = 'keydown'; Event._observeAndCache(element, name, observer, useCapture); }, stopObserving: function(element, name, observer, useCapture) { element = $(element); useCapture = useCapture || false; if (name == 'keypress' && (navigator.appVersion.match(/Konqueror|Safari|KHTML/) || element.detachEvent)) name = 'keydown'; if (element.removeEventListener) { element.removeEventListener(name, observer, useCapture); } else if (element.detachEvent) { try { element.detachEvent('on' + name, observer); } catch (e) {} } } }); /* prevent memory leaks in IE */ if (navigator.appVersion.match(/\bMSIE\b/)) Event.observe(window, 'unload', Event.unloadCache, false); var Position = { // set to true if needed, warning: firefox performance problems // NOT neeeded for page scrolling, only if draggable contained in // scrollable elements includeScrollOffsets: false, // must be called before calling withinIncludingScrolloffset, every time the // page is scrolled prepare: function() { this.deltaX = window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0; this.deltaY = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; }, realOffset: function(element) { var valueT = 0, valueL = 0; do { valueT += element.scrollTop || 0; valueL += element.scrollLeft || 0; element = element.parentNode; } while (element); return [valueL, valueT]; }, cumulativeOffset: function(element) { var valueT = 0, valueL = 0; do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; element = element.offsetParent; } while (element); return [valueL, valueT]; }, positionedOffset: function(element) { var valueT = 0, valueL = 0; do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; element = element.offsetParent; if (element) { if(element.tagName=='BODY') break; var p = Element.getStyle(element, 'position'); if (p == 'relative' || p == 'absolute') break; } } while (element); return [valueL, valueT]; }, offsetParent: function(element) { if (element.offsetParent) return element.offsetParent; if (element == document.body) return element; while ((element = element.parentNode) && element != document.body) if (Element.getStyle(element, 'position') != 'static') return element; return document.body; }, // caches x/y coordinate pair to use with overlap within: function(element, x, y) { if (this.includeScrollOffsets) return this.withinIncludingScrolloffsets(element, x, y); this.xcomp = x; this.ycomp = y; this.offset = this.cumulativeOffset(element); return (y >= this.offset[1] && y < this.offset[1] + element.offsetHeight && x >= this.offset[0] && x < this.offset[0] + element.offsetWidth); }, withinIncludingScrolloffsets: function(element, x, y) { var offsetcache = this.realOffset(element); this.xcomp = x + offsetcache[0] - this.deltaX; this.ycomp = y + offsetcache[1] - this.deltaY; this.offset = this.cumulativeOffset(element); return (this.ycomp >= this.offset[1] && this.ycomp < this.offset[1] + element.offsetHeight && this.xcomp >= this.offset[0] && this.xcomp < this.offset[0] + element.offsetWidth); }, // within must be called directly before overlap: function(mode, element) { if (!mode) return 0; if (mode == 'vertical') return ((this.offset[1] + element.offsetHeight) - this.ycomp) / element.offsetHeight; if (mode == 'horizontal') return ((this.offset[0] + element.offsetWidth) - this.xcomp) / element.offsetWidth; }, page: function(forElement) { var valueT = 0, valueL = 0; var element = forElement; do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; // Safari fix if (element.offsetParent==document.body) if (Element.getStyle(element,'position')=='absolute') break; } while (element = element.offsetParent); element = forElement; do { if (!window.opera || element.tagName=='BODY') { valueT -= element.scrollTop || 0; valueL -= element.scrollLeft || 0; } } while (element = element.parentNode); return [valueL, valueT]; }, clone: function(source, target) { var options = Object.extend({ setLeft: true, setTop: true, setWidth: true, setHeight: true, offsetTop: 0, offsetLeft: 0 }, arguments[2] || {}) // find page position of source source = $(source); var p = Position.page(source); // find coordinate system to use target = $(target); var delta = [0, 0]; var parent = null; // delta [0,0] will do fine with position: fixed elements, // position:absolute needs offsetParent deltas if (Element.getStyle(target,'position') == 'absolute') { parent = Position.offsetParent(target); delta = Position.page(parent); } // correct by body offsets (fixes Safari) if (parent == document.body) { delta[0] -= document.body.offsetLeft; delta[1] -= document.body.offsetTop; } // set position if(options.setLeft) target.style.left = (p[0] - delta[0] + options.offsetLeft) + 'px'; if(options.setTop) target.style.top = (p[1] - delta[1] + options.offsetTop) + 'px'; if(options.setWidth) target.style.width = source.offsetWidth + 'px'; if(options.setHeight) target.style.height = source.offsetHeight + 'px'; }, absolutize: function(element) { element = $(element); if (element.style.position == 'absolute') return; Position.prepare(); var offsets = Position.positionedOffset(element); var top = offsets[1]; var left = offsets[0]; var width = element.clientWidth; var height = element.clientHeight; element._originalLeft = left - parseFloat(element.style.left || 0); element._originalTop = top - parseFloat(element.style.top || 0); element._originalWidth = element.style.width; element._originalHeight = element.style.height; element.style.position = 'absolute'; element.style.top = top + 'px';; element.style.left = left + 'px';; element.style.width = width + 'px';; element.style.height = height + 'px';; }, relativize: function(element) { element = $(element); if (element.style.position == 'relative') return; Position.prepare(); element.style.position = 'relative'; var top = parseFloat(element.style.top || 0) - (element._originalTop || 0); var left = parseFloat(element.style.left || 0) - (element._originalLeft || 0); element.style.top = top + 'px'; element.style.left = left + 'px'; element.style.height = element._originalHeight; element.style.width = element._originalWidth; } } // Safari returns margins on body which is incorrect if the child is absolutely // positioned. For performance reasons, redefine Position.cumulativeOffset for // KHTML/WebKit only. if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) { Position.cumulativeOffset = function(element) { var valueT = 0, valueL = 0; do { valueT += element.offsetTop || 0; valueL += element.offsetLeft || 0; if (element.offsetParent == document.body) if (Element.getStyle(element, 'position') == 'absolute') break; element = element.offsetParent; } while (element); return [valueL, valueT]; } } Element.addMethods();LQRS_4http://www.jazz.com/javascripts/cookie.js?1235025574O;bplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_4http://www.jazz.com/javascripts/cookie.js?1235025574./01X$classesZ$classname12UNSURLXNSObject#A/FT 6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKL_Transfer-EncodingWExpires]Cache-Control_Content-EncodingVServer\Content-TypeTDateZConnection]Last-ModifiedXIdentity_Sun, 14 Apr 2019 17:33:36 GMT_max-age=315360000Tgzip\nginx/0.6.30_application/x-javascript_Thu, 16 Apr 2009 17:33:36 GMTZkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  CHQ\_enwy #.<Eey~ %)=hKOvar Cookie = { version: '0.7', cookies: {}, _each: function(iterator) { $H(this.cookies).each(iterator); }, getAll: function() { this.cookies = {}; $A(document.cookie.split('; ')).each(function(cookie) { var seperator = cookie.indexOf('='); this.cookies[cookie.substring(0, seperator)] = unescape(cookie.substring(seperator + 1, cookie.length)); }.bind(this)); return this.cookies; }, read: function() { var cookies = $A(arguments), results = []; this.getAll(); cookies.each(function(name) { if (this.cookies[name]) results.push(this.cookies[name]); else results.push(null); }.bind(this)); return results.length > 1 ? results : results[0]; }, write: function(cookies, options) { if (cookies.constructor == Object && cookies.name) cookies = [cookies]; if (cookies.constructor == Array) { $A(cookies).each(function(cookie) { this._write(cookie.name, cookie.value, cookie.expires, cookie.path, cookie.domain); }.bind(this)); }else { options = options || {expires: false, path: '', domain: ''}; for (name in cookies){ this._write(name, cookies[name], options.expires, options.path, options.domain); } } }, _write: function(name, value, expires, path, domain) { if (name.indexOf('=') != -1) return; var cookieString = name + '=' + escape(value); if (expires) cookieString += '; expires=' + expires.toGMTString(); if (path) cookieString += '; path=' + path; if (domain) cookieString += '; domain=' + domain; document.cookie = cookieString; }, erase: function(cookies) { var cookiesToErase = {}; $A(arguments).each(function(cookie) { cookiesToErase[cookie] = ''; }); this.write(cookiesToErase, {expires: (new Date((new Date()).getTime() - 1e11))}); this.getAll(); }, eraseAll: function() { this.erase.apply(this, $H(this.getAll()).keys()); } }; Object.extend(Cookie, { get: Cookie.read, set: Cookie.write, add: Cookie.read, remove: Cookie.erase, removeAll: Cookie.eraseAll, wipe: Cookie.erase, wipeAll: Cookie.eraseAll, destroy: Cookie.erase, destroyAll: Cookie.eraseAll }); LUVW_4http://www.jazz.com/javascripts/lowpro.js?1235025574O;bplist00 X$versionT$topY$archiverX$objects_WebResourceResponse_NSKeyedArchiver &,-345MNOPQRSTUVWXYZ[\]^_cdU$null  !"#$%V$classR$3R$8S$10S$11R$5R$6R$4R$7R$2R$9R$0R$1 '()$+WNS.base[NS.relative_4http://www.jazz.com/javascripts/lowpro.js?1235025574./01X$classesZ$classname12UNSURLXNSObject#A/F  6789CWNS.keysZNS.objects:;<=>?@AB DEFGHIJKL_Transfer-EncodingWExpires]Cache-Control_Content-EncodingVServer\Content-TypeTDateZConnection]Last-ModifiedXIdentity_Sun, 14 Apr 2019 17:33:36 GMT_max-age=315360000Tgzip\nginx/0.6.30_application/x-javascript_Thu, 16 Apr 2009 17:33:36 GMTZkeep-alive_Thu, 19 Feb 2009 06:39:34 GMT./`aab2_NSMutableDictionary\NSDictionary$./effg2_NSHTTPURLResponse]NSURLResponse)27:PRd  CHQ\_enwy #.<Eey~ %)=hKO$LowPro = {}; LowPro.Version = '0.1'; // Adapted from DOM Ready extension by Dan Webb // http://www.vivabit.com/bollocks/2006/06/21/a-dom-ready-extension-for-prototype // which was based on work by Matthias Miller, Dean Edwards and John Resig // // Usage: // // Event.onReady(callbackFunction); Object.extend(Event, { _domReady : function() { if (arguments.callee.done) return; arguments.callee.done = true; if (Event._timer) clearInterval(Event._timer); Event._readyCallbacks.each(function(f) { f() }); Event._readyCallbacks = null; }, onReady : function(f) { if (!this._readyCallbacks) { var domReady = this._domReady; if (domReady.done) return f(); if (document.addEventListener) document.addEventListener("DOMContentLoaded", domReady, false); /*@cc_on @*/ /*@if (@_win32) document.write("