carettah-0.2.0/0000755000175000017500000000000012150100015012641 5ustar kiwamukiwamucarettah-0.2.0/Config.hs0000644000175000017500000001245012150100015014404 0ustar kiwamukiwamumodule Config (Config(..), Options(..), CarettahState(..), gCfg, defaultOptions, curPage, nextPage, prevPage, topPage, endPage, setWiiHandle, updateWiiBtnFlag, updateSlides, queryCarettahState, updateStartTime, updateRenderdTime, elapsedSecFromStart, updateSpeechMinutes, updateMarkdownFname) where import Data.IORef import Data.Time import System.IO.Unsafe (unsafePerformIO) import Control.Monad import Control.Monad.Reader import qualified Graphics.Rendering.Cairo as C import System.CWiid data Options = Options { optWiimote :: Bool , optPdfOutput :: Maybe FilePath , optTime :: Maybe Double , optSlideInfo :: Bool , optNewTemp :: Bool } deriving Show defaultOptions :: Options defaultOptions = Options { optWiimote = False , optPdfOutput = Nothing , optTime = Just 5 , optSlideInfo = False , optNewTemp = False } data WiiHandle = NoWiiHandle | WiiHandle CWiidWiimote data CarettahState = CarettahState { page :: Int, slides :: [[Double -> C.Render Double]], startTime :: UTCTime, renderdTime :: UTCTime, wiiHandle :: WiiHandle, wiiBtnFlag :: CWiidBtnFlag, speechMinutes :: Double, markdownFname :: String } carettahState :: IORef CarettahState carettahState = unsafePerformIO $ newIORef CarettahState { page = 0, slides = undefined, startTime = undefined, renderdTime = undefined, wiiHandle = NoWiiHandle, wiiBtnFlag = CWiidBtnFlag 0 , speechMinutes = 5, markdownFname = "notfound.md"} updateCarettahState :: MonadIO m => (CarettahState -> CarettahState) -> m () updateCarettahState fn = liftIO $! atomicModifyIORef carettahState $ \st -> (fn st, ()) queryCarettahState :: MonadIO m => (CarettahState -> a) -> m a queryCarettahState fn = liftM fn $ liftIO $! readIORef carettahState updatePage :: MonadIO m => (Int -> Int) -> m () updatePage fn = updateCarettahState (\s -> s { page = fn $ page s }) curPage, nextPage, prevPage, topPage, endPage :: MonadIO m => m () curPage = do s <- queryCarettahState slides let maxpage = length s - 1 updatePage (\p -> if p >= maxpage then maxpage else p) nextPage = do s <- queryCarettahState slides let maxpage = length s - 1 updatePage (\p -> if p >= maxpage then maxpage else p + 1) prevPage = updatePage (\p -> if p == 0 then 0 else p - 1) topPage = updatePage $ const 0 endPage = do s <- queryCarettahState slides updatePage $ const (length s - 1) updateSlides :: MonadIO m => ([[Double -> C.Render Double]] -> [[Double -> C.Render Double]]) -> m () updateSlides fn = updateCarettahState (\s -> s { slides = fn $ slides s }) updateStartTime :: IO () updateStartTime = do t <- getCurrentTime updateCarettahState (\s -> s { startTime = t }) updateRenderdTime :: IO () updateRenderdTime = do t <- getCurrentTime updateCarettahState (\s -> s { renderdTime = t }) elapsedSecFromStart :: IO Double elapsedSecFromStart = do n <- getCurrentTime s <- queryCarettahState startTime let d = diffUTCTime n s return $ (fromRational . toRational) d setWiiHandle :: Bool -> IO () setWiiHandle won | won = do putStrLn "Put Wiimote in discoverable mode now (press 1+2)..." wm <- cwiidOpen case wm of Nothing -> putStrLn "not found..." Just wmj -> do putStrLn "found!" void $ cwiidSetRptMode wmj void $ cwiidSetLed wmj updateCarettahState (\s -> s { wiiHandle = WiiHandle wmj }) | otherwise = return () updateWiiBtnFlag :: IO CWiidBtnFlag updateWiiBtnFlag = do wh <- queryCarettahState wiiHandle let go NoWiiHandle = return $ CWiidBtnFlag 0 go (WiiHandle wm) = do bs <- cwiidGetBtnState wm updateCarettahState (\s -> s { wiiBtnFlag = bs }) return bs go wh updateSpeechMinutes :: MonadIO m => (Double -> Double) -> m () updateSpeechMinutes fn = updateCarettahState (\s -> s { speechMinutes = fn $ speechMinutes s }) updateMarkdownFname :: MonadIO m => (String -> String) -> m () updateMarkdownFname fn = updateCarettahState (\s -> s { markdownFname = fn $ markdownFname s }) -- constant value data Config = Config { --- posX,posY,fsizeの値は640x480の画面サイズが基準 canvasW :: Int, canvasH :: Int, alphaBackG :: Double, textTitleY :: Double, textTitleSize :: Double, textContextY :: Double, textContextSize :: Double, textTitleCoverY :: Double, textTitleCoverSize :: Double, textContextX :: Double, textContextCoverY :: Double, textContextCoverSize :: Double, textCodeBlockSize :: Double, textCodeBlockOfs :: Double, turtleSize :: Double, waveSize :: Double, waveCharMax :: Double } gCfg :: Config gCfg = Config { canvasW = 640, canvasH = 480, alphaBackG = 0.3, textTitleCoverY = 170, textTitleCoverSize = 30, textContextCoverY = 300, textContextCoverSize = 28, textTitleY = 35, textTitleSize = 30, textContextX = 40, textContextY = 90, textContextSize = 22, textCodeBlockSize = 12, textCodeBlockOfs = 10, turtleSize = 40, waveSize = 20, waveCharMax = 37 -- xxxxxx 本来はwaveSizeから検出すべき手で数えんなよwwww } carettah-0.2.0/WrapPaths.hs0000644000175000017500000000040312150100015015103 0ustar kiwamukiwamumodule WrapPaths (wrapGetDataFileName, wrapVersion) where import Data.Version import Paths_carettah (getDataFileName, version) wrapGetDataFileName :: FilePath -> IO FilePath wrapGetDataFileName = getDataFileName wrapVersion :: Version wrapVersion = version carettah-0.2.0/Setup.hs0000644000175000017500000000005612150100015014276 0ustar kiwamukiwamuimport Distribution.Simple main = defaultMain carettah-0.2.0/Carettah.hs0000644000175000017500000002117412150100015014735 0ustar kiwamukiwamumodule Main where import System.Environment import System.Mem import System.IO import System.Console.GetOpt import System.Exit import Data.Time import Data.Maybe import Data.Version (showVersion) import System.FilePath ((),(<.>)) import System.Directory (copyFile) import Control.Monad import Control.Monad.Reader import qualified Graphics.UI.Gtk as G import qualified Graphics.Rendering.Cairo as C import qualified Text.Pandoc as P import System.CWiid -- import Config import Render import WrapPaths markdown :: String -> P.Pandoc markdown = P.readMarkdown P.def{ P.readerStandalone = True } splitBlocks :: P.Pandoc -> [[P.Block]] splitBlocks (P.Pandoc _ blocks) = go blocks where go (P.Header 1 _ h:xs) = let (b1, b2) = break check xs in (P.Header 1 P.nullAttr h:b1):go b2 go _ = [] check (P.Header 1 _ _) = True check _ = False backgroundTop :: [P.Block] -> [P.Block] backgroundTop blocks = filter go blocks ++ filter (not . go) blocks where go (P.Para [P.Image [P.Str "background"] _]) = True go _ = False inlinesToString :: [P.Inline] -> String inlinesToString = foldr go "" where go (P.Str s) a = s ++ a go P.Space a = ' ' : a go x _ = show x -- 二枚目以降のスライドをRender blockToSlide :: [P.Block] -> [Double -> C.Render Double] blockToSlide = map go where ag = alphaBackG gCfg tty = textTitleY gCfg tts = textTitleSize gCfg tcx = textContextX gCfg tcs = textContextSize gCfg tcbs = textCodeBlockSize gCfg tcbo = textCodeBlockOfs gCfg go :: P.Block -> Double -> C.Render Double go (P.Para [P.Image [P.Str "background"] (pngfile, _)]) = \y -> renderPngFit ag pngfile >> return y go (P.Para [P.Image [P.Str "inline"] (pngfile, _)]) = \y -> renderPngInline (CCenter, CPosition y) (CFit, CFit) 1 pngfile go (P.Header 1 _ strs) = \y -> renderLayoutM (CCenter, CPosition tty) tts (inlinesToString strs) >> return y go (P.BulletList plains) = \y -> yposSequence y $ map go' plains where go' [P.Plain strs] = \ypos -> renderLayoutM (CPosition tcx, CPosition ypos) tcs ("☆ " ++ inlinesToString strs) go' x = error $ show x -- 一部のみをサポート go (P.CodeBlock attr ss) = \y -> renderLayoutG attr (CPosition $ tcx + tcbo, CPosition y) tcbs ss go (P.Para strs) = \y -> renderLayoutM (CPosition tcx, CPosition y) tcs (inlinesToString strs) go x = error $ show x -- 一部のみをサポート -- スライド表紙をRender coverSlide :: [P.Block] -> [Double -> C.Render Double] coverSlide = map go where ag = alphaBackG gCfg ttcy = textTitleCoverY gCfg ttcs = textTitleCoverSize gCfg tccy = textContextCoverY gCfg tccs = textContextCoverSize gCfg go :: P.Block -> Double -> C.Render Double go (P.Para [P.Image [P.Str "background"] (pngfile, _)]) = \y -> renderPngFit ag pngfile >> return y go (P.Header 1 _ strs) = \y -> renderLayoutM (CCenter, CPosition ttcy) ttcs (inlinesToString strs) >> return y go (P.Para strs) = \y -> renderLayoutM (CCenter, CPosition tccy) tccs (inlinesToString strs) >> return y go x = error $ show x -- 一部のみをサポート updateCanvas :: G.DrawingArea -> IO () updateCanvas canvas = do n <- queryCarettahState page s <- queryCarettahState slides win <- G.widgetGetDrawWindow canvas (width, height) <- G.widgetGetSize canvas G.renderWithDrawable win $ renderSlide s n width height updateRenderdTime performGC options :: [OptDescr (Options -> Options)] options = [ Option "w" ["wiimote"] (NoArg (\ opts -> opts { optWiimote = True })) "use wiimote" , Option "o" ["output-filename"] (OptArg ((\ f opts -> opts { optPdfOutput = Just f }) . fromMaybe "output.pdf") "FILE") "output PDF_FILE" , Option "t" ["time"] (OptArg ((\ f opts -> opts { optTime = Just $ read f }) . fromMaybe "5") "TIME(minute)") "set presentation time with minutes" , Option "i" ["info"] (NoArg (\ opts -> opts { optSlideInfo = True })) "show slide infomation" , Option "n" ["new-slide"] (NoArg (\ opts -> opts { optNewTemp = True })) "create a new slide file and open it" ] carettahOpts :: [String] -> IO (Options, [String]) carettahOpts argv = let header = "\ncarettah version " ++ showVersion wrapVersion ++ "\n" ++ "Usage: carettah [OPTION...] FILE" in case getOpt Permute options argv of (_,[],[] ) -> hPutStrLn stderr (usageInfo header options) >> exitSuccess (o,n,[] ) -> return (foldl (flip id) defaultOptions o, n) (_,_,errs) -> hPutStrLn stderr (concat errs ++ usageInfo header options) >> exitFailure outputPDF :: String -> IO () outputPDF pdf = do s <- queryCarettahState slides let iw = canvasW gCfg ih = canvasH gCfg dw = toDouble iw dh = toDouble ih C.withPDFSurface pdf dw dh $ flip C.renderWith . sequence_ $ fmap (\a -> renderSlide s a iw ih >> C.showPage) [0..(length s - 1)] startPresentation :: Bool -> Double -> IO () startPresentation wiiOn presenTime = do -- setup setWiiHandle wiiOn updateSpeechMinutes $ const presenTime -- start GUI void G.initGUI window <- G.windowNew canvas <- G.drawingAreaNew G.widgetSetSizeRequest window (canvasW gCfg) (canvasH gCfg) -- key event void $ window `G.on` G.keyPressEvent $ G.tryEvent $ do keyName <- G.eventKeyName liftIO $ case keyName of "f" -> G.windowFullscreen window "F" -> G.windowUnfullscreen window "q" -> G.widgetDestroy window "j" -> nextPage >> G.widgetQueueDraw canvas "k" -> prevPage >> G.widgetQueueDraw canvas "g" -> topPage >> G.widgetQueueDraw canvas "G" -> endPage >> G.widgetQueueDraw canvas "r" -> do md <- queryCarettahState markdownFname loadMarkdown md curPage >> G.widgetQueueDraw canvas _ -> return () void $ G.onDestroy window G.mainQuit void $ G.onExpose canvas $ const (updateCanvas canvas >> return True) void $ G.timeoutAdd (do rtime <- queryCarettahState renderdTime ntime <- getCurrentTime let dtime :: Double dtime = (fromRational . toRational) $ diffUTCTime ntime rtime if dtime > 5 then G.widgetQueueDraw canvas >> return True else do bf <- queryCarettahState wiiBtnFlag af <- updateWiiBtnFlag let bs = af `diffCwiidBtnFlag` bf go b | b == cwiidBtnA = nextPage >> G.widgetQueueDraw canvas | b == cwiidBtnB = prevPage >> G.widgetQueueDraw canvas | b == cwiidBtnUp = topPage >> G.widgetQueueDraw canvas | b == cwiidBtnDown = endPage >> G.widgetQueueDraw canvas | b == cwiidBtnPlus = G.windowFullscreen window | b == cwiidBtnMinus = G.windowUnfullscreen window | otherwise = return () go bs return True) 50 G.set window [G.containerChild G.:= canvas] G.widgetShowAll window updateStartTime updateRenderdTime G.mainGUI loadMarkdown :: String -> IO () loadMarkdown fn = do s <- readFile fn let z = zip (coverSlide:repeat blockToSlide) (splitBlocks $ markdown s) updateSlides $ const $ map (\p -> fst p . backgroundTop $ snd p) z main :: IO () main = do -- init updateStartTime updateRenderdTime -- getopts (opts, filen:_) <- carettahOpts =<< getArgs -- create file if -n option case opts of (Options {optNewTemp = True}) -> do tf <- wrapGetDataFileName $ "data" "turtle" <.> "png" copyFile tf ("turtle" <.> "png") df <- wrapGetDataFileName $ "data" "debian" <.> "png" copyFile df ("debian" <.> "png") writeFile filen ns where ns = "\ \# Presentation Title\n\ \![background](debian.png)\n\n\ \Your Name\n\n\ \# Slide Title\n\ \* item1\n\ \* item2\n\ \* item3\n\n\ \![inline](turtle.png)\n" _ -> return () -- setup slide updateMarkdownFname $ const filen loadMarkdown filen -- start case opts of (Options {optSlideInfo = True}) -> do s <- queryCarettahState slides putStrLn $ "Page: " ++ show (length s) (Options {optPdfOutput = Just pdf}) -> outputPDF pdf (Options {optWiimote = wiiOn, optTime = Just presenTime}) -> startPresentation wiiOn presenTime _ -> error "NOTREACHED" carettah-0.2.0/data/0000755000175000017500000000000012150100015013552 5ustar kiwamukiwamucarettah-0.2.0/data/turtle.png0000644000175000017500000004351312150100015015605 0ustar kiwamukiwamuPNG  IHDRgAMA aPLTE    Q$P'!(*V,r/a6 7:8ADGOQW\]`o`Bac5edjj.OlWvzI|;_~`~bgoav{^hҺȧIJ¦٤Ӝ̒ީǑÊܾsі֚ƓӶwӴoˉŬp˪fʆšW¡`|wyĀ|yvuQWxOHrbiJBAi=Y<::7}6z3y2w1u0t.r-o+o+Vpl(k'j'k*g$f&ffffe)d#d"Gcya `"_^I]j\Z@ZPWUc: '3=\2$.7S<tRNS0# )+-037;@DHLPTZ_diouy~* |,V>r)FvXKq9mbKGDH IDATxyPTW1?*gdު7 ILHPcП " 0@`Z@dU! B@,EEe5ƌY~s{Ͻ}oo󾿧f g=^YX躵WZAaV]?(fde}eY!$еVݛ:sr222vm۶mm۶Irn7Ao`Q{(oټyߘmF۲e . UG ]juaXIAތo*VZ lݪAeh{77l,1ض},ի @UA*++ f`,؆߼sWVF 0X՗UUUݰsNԴ}f=5lܹaoa NNUkUVU ~NF@BIPN,~L`Xȉ tUPEYeMMMEaR8\vFTo۲Y u P-hI)-T(UaCF!APj lMmM!HPYDp-[mҿmq'g`%-٠B5VUڻ7]v2 C@>KaA=v׻( ^ }z&,cCƆ]D40mT/I۶ʠ^PvxS~c}mYš{eC8fe̤ߩ3 0< ڠUUakrvX- 8 J W 4V#ddd32 *kKʂV=8 -nl,ܵ F@FZ Ey,p;$ FJ z˲X j]{)]Ȼ9!C&MU(m-#J?kCdU8~$?6{we_+.. h&/10[D ܛP~ޜC asTV4Eˣom,6+,` wүĜ.˷3u Į]"H.DN!@@U} 4hqkmeETm2BνKҿE_>wq]]Tv((Y'_SXZQuo  пnz1/v́RN S 2I*9Dd5ڕ5 ]VXRo 1J3eE2 lۙMJuF$RV _P3u~MM >-(a`lmcO^ПC6ĨzO6Kl_s_f@C[[|Y__Uᅠ ''"ƨPPXJe.~J {_)7NʧiVh KA8+ rJd1osRфu~ʪ: Y?lj˹ӧEmǺ2 A &2-l9-;C + eˊ765OlsgΈ::Z599ePK@+9 I?`(mUThɇ 455<$L{omm.+(8VG 1Zh3E*ekO!97gȈՃHSPסASsg?{8M u b QUزd$ OELr[Q )3OFAsg>@E hhii,(z kAsPC3/fzXC% q%+TC4)ѓ,*nmd7>/;/+tt` !%nPAII% #`#_BziEpG(|Vɇ#Y3_ (/;/_(vh`I=T8Aqzܮil)6z@vp6|+h ?E _[Z$gΜi@r˜Y pt܎#Զ ,y ơ@A$@V]I +)cÏmm͂g; /^$>`LbZ][@2q[NV[0H 4ul_@ƯDA\tƒ2R(4ri6X%7Y]c ͫo2+˘zQ>3oo?-?~]^ ˌXVvChZƿ.) B*E++eVͭQ _,oxˁO}UeRSDp4PSp_mCڒJvJjK_no_\fGz]H|O7w^\qD{8&5+F?߁.GׯOPnߺn^B=}}===U%@@L(u,O$Mh74njkVIOOgWW׮޼M|qfKsK'{שּׂiaЌrke}J05ժ}#y :AI_}ݯ_{E Nܼ x)07hhNDh$WY-k'~H4բzcA]]=p _\|:X ?pD-*QA` CAB-.}=D}^>D?}_`ōk[7Xw Й6U6$ J `%uj^PאY#X3n FƔD ?z5 WVWVwAQ4`<͵o@--?R3|(7oc+^|`47\"-[pTj,$ d "PWiG62֟T/+Wzݺ =[<?t5tqYZv9aX`{k kmPW˧Z/qSL(֭aMe !M^*^W$FA sk^NҌLMLr]:Z_x @۔@.ζtaX OBA@.k`PWۨL;z &Y nߺ.ɿus+]}\G D-hj|Pˉm߾7"F-J7;Zû-˿u[xWgB;&ܼG*;돁nD g mnDGFEi4Ywt\aYRZ|&ޤR?Źz7 4s?mp-A EĢZy̓B3gM37prՑP ` zHuNpZ6lި4.8M"@DFF_F747;!cko ˗mMg zŔ&0@к=2"<%k'j9?Gv;L:v+$ W,~WuX=);N8}/ dтpڑ"pB*"*:::*rZC9JgAOwu*oqD? ~/&P ;Ѓ —}p8µȨpsQ)<:K5Ͷǖf(M~]XimY>N](l|wNj[g3-?\;#o7,VHNش)Ǧ.2T+G9KPFgiaOƬ?wB5+{r'iDXMN .@CquಥK. ndLqOw@cۍptH٧j+*.?ǘ1su^j3 ț `U7yjϹdԇ6rIkkt~. 4JH@7)*\z:b #?Ac Շ{cb̖ " ypY/B*W|p~".x WNCA;Cݠ70p2GEGl@.tLfj!ٓ~g.zT>nJƆ/x: ~K~[ PE2[j6~D,xT;l2"*l1\V:s>^zed_<ܹsQMM VA`QfkF J(V{MZtH',=ixrc3l I;w~{x]!h>ͮlp*1Zb"hcI }0` 2XbuS uͽ\,=QD>5\hm_~c$ ͏ʐ07hw~4ZM[6Fn$ E FVʘ65{SO:^z.u~{?̑ @QP $mBbb7FFIHЏ`nŇt+W[lV]Dʧӝ;7ߨs?퍍Adu"p1fhw/Ʀ}vvJx}GT#ƍR (  3cH`090*/?;;d!h})µ76C'j1Iӏ 0hFxIA ,P]F) ЦNoB09sz߼.mz(i^}zf.qN@\rC ;#nHY񦨍l;Hk,+=BI. gbkߠ>80hqc?4Ph`WnCqj5E`f1@ @\ _Қw)Y$s:u^^5>PF$QdAsG`.1dn ^{u3/g/x4vII55vg~ 2J1lߺ4wQnU\ܽє ExV+xJ !+/q=7޹K` (NMߝP 21P2ۯ3hl Oa8U^@I /AE8(cs kn B"PXoM*cݠ~|( IBiA S,[PL: G~陙@A[0-;X ̕Hp~Hw]‍QR( "c`wq 4*An 񽱖ԁtd@j%|>;W_3B{xSP0.j8@x?uY-Q7Wd F#nr- qT7U~Z.s-D};tv#n p@ .̈́_tի Y6> x{ Iv6m^8:b,$BVc⎳Ӫirjm )  R#@XH4 =e. \B[Zݾ}Oq,da_QLDfQ`)>hLlh?:<_"8o#GcDoѯ֭@:B 'DESd .'Xr8ךo߲~>am0mO`l|l {-&yu|X}MҌN|l$s@`9IT/]'xGIȪƅot?)DiiFLq{ B8mGhب*;˶q˖.H{1fyU#_of6[P4[J4+u0ŨOhH@\  @4T/wRHr˖Xz:>6:^A'UՏo?⇆  ͖VtOe@? &5r&|d8lKNcH!4{B&~v`6Izk(=[B *G͎gB;d-9eŋlӎ 8f+9M bR@E` IDAT\ƊFX;$@%KR%'D碔T1)nW/x~ ZrIǡ&sf1x 2 E;\9Ғ%i񉱜! "؊d6`x zEpՁ~%^ Rp`5** Ȕ2 Szzt`F+ ˫9#rufeb_Hlեy| [11 To+./V~x_~.ޝbMNJJJN]~ Xx"L!@@TW<-[w[((hP yEhٙwG iEY !0Ӏ JS pteyEYeRĘje pl\D$'V^Ny?HRvg]vUC*F@T(^^l+TN ր\bE~'%E&d1re]@r~DPT],/>|8$+SIɩ;b4I. 35]^4I dVdܕ+G@qִD:1Vdp@P]^$/Ƽ;==-%%eGrVK )%3(cC`KT*Ky Fx໹7մ7 @@ @s"Q>Xv:lGr$ǖF@*ƒ`7a"3pT*a3!8xԏntT 4Ϧ!p Y?(>,'&r;Q$c#wz1./E'6x߁WFveGO}¹C } hx?h!˱ KK Re!@/},f) d X+A0"`߁j9A$kaHvX1 72|ʍ#8Hr @O  '):HbSG>.B+`JJa)@п:x>"J@@-t\{Pu27"X+'1@] {0! i$RxDD)[1^923ff28SI0 P?8@1IE#Y(O@L*5,+G‚ D Bcr!1 M@ç>~f YL H$N1O+;OWW۫_gӒ$J`G6p鑺C V\ [XF,;I)GR12LgA"y@0C+;'zby $HO!v*p$ni(m.|W*SxkE fdV |F)hZ$"p"JL=mIܔvDr^SfC.pd%l5ߕRzDAut$! Vcwp\^zi `5?D$ ),sRq$GޣN?CB ]5"A "4~=—*S~@hG sq:Z=ApޞT 7?e/ȁq @"~Ә 3hXj#U"_T4q*߶Ub &7S2Y, )ړJ>rdY0 ae=YgF;K"AX耻gj}\X@c\& T=^)(!P57u`(|p@,0i% -= !"gL~aI?8JJ=yac(@"@ZfkE ⬆(]~?P͔xy Fu;EnG ;RUuӀ^獁AZ~ ~?Y,~/ؘE HQ'\nE4) 3n|㫽E\@$ B?c}-MlKOf@%T9ծ{{@Jٞ8v$A 7 `{A>_el"¿yΆ;rڿ {0཰ > B(iWs\v|`3 * >a PV pG5 ig|y-Kdl8 0~KvE, X9`"U1,؀P{u.[vi8|E cƌu $Q"U$d[Bd /#,N~u"b-\[`>QhtzXFs> Lg=&l /(//JSۢ>[0λ#!S tR v=hTR_in)/KS*Ν@`Ĉ#h^)R`@jEUOlىsZh!6lp@!f Dwȑ n3`=؊T| ˋJ:{Nې!C"@#=%byPLCXJe@pP/̾^<\/{z^sz @@0uGNr-LkAOŢ$&7Gvyrnvc驫8w~A8=PI }nA"PI h6C^˖G'ʯ}9&0iG`(m$LrppcP4e H N!RdرO|{ɓ&>(6DRLg.V)c4pʕ/KW@@6u2 yh0m!&Uy>7`y5,x';sl?ӦLXoutU81А<#]t5c}8?fLǦ"lq<\ mG"sn>y<8:a  ~Pr5eo ݪa'0yP b7]@@ʂ%_B,ҋ)A33s}@7 s ?s{/>;i}-mp!7EEE'&dAݑQ xg ?s`/<S' < ]@JwƉu6o2P ~XA|?Yȩ s<9u"fkĀ#8 8YhO `d#f  ,dx'I FrL35{<W^,0eZ1` (!\U! jŀ0Є)?5_~{l]7X4'! F XTA`>{F4'7!Ə1G&O{g+|mE |^b`F )@V @p"On6Ca!K/{/^Yf1YBLqvyP] XOlƐ 1iO<5}sϿ ?'LyP@G,]0fu;߸$3f̘>|2_}9x;g%'h-01 hQ7]`G,0qǞx)'xOfIuvzhwn6CdG&L2uc`ӦN2w@:)P' +$%0bؐ0qdI&N;_znaPU .*#K'@?+G :dCA;߮!N83vN t\!Q &6k? 2MɂF4(]*]X~7#6 ~B3~\7 I1 BZ 6C7$(A=j#O?cZԯrr(dp{w '_Fc ΛlS5C< ~93/1(!6zw}#4_{A/6\ #vLe~VB9a@~7]_>hޛo n>[Z]8օIJB <;OčF}Lb4d ?춊7^)rR, :kI \, )vFq7 Zc*灃+:20MZ]glOu/~6 hј4c`\O.J믻5Lˀ'igL{k7Xk~ND" :8A2HI%1sB o ]hL!Sb ;п3SIPC ,2ƀsR Xn!g P!f wɽ~$ƌUbZuX찳uby&s89.":bʍ!G17Xg9+=p9.2 CdupT/[-n \NP^'՜Bh)Wo8=1wArVhj8Ap@t y):8F)ϋ( X9^WN V@:R7 `Q5-?aR-nA*+$3K*=<9Zaqtb%c:UVltJ.}n0a!t ~NO5,pC HO$^34t7puP<<̂<u ֆn|kG]N$"bEPI92tZ D0 -6Jh]W\ HQpX \`;Is_΋1tbg%tdڹ#Zts.TsR,ZxK.[(WƁ1zWAsV9 hO 0Svkڻ%ݫ |t <R%.`.  Pݏ]Yo/r^eAv_~qu!. ~&ߙߚ׿:Hޠ §Pk&7.`ުHYM_tʀc"b2k I Wp H, |R=_$'L~trgPgg[>! iVd2@tA >z[,Ծ7_7Qf[o\ZY3Q3w\8tC>,'8 ~u%ӟ}SI7zЖl|,p B/ n)`曳9:&q/1S0SO\@"1??o̜=Oz1\j3qR(>g4gZ1nnUH|[ @/>״@qIULk%eً^IL_B@+J] uvwNSx'[kT`Ϲ ̰#Iz=S=`l ~09Ot=,(;4$+?&;7}R:I>)@MNNl<`B,DaW\207M}0DNAhc\,90̓8=ZC*'h:Dr8c>kWkuxw Ǝqi R ȧ,7^G ֬&Py@zz[lE}4{[\fHr`vn>~ )n49"zwMdSxuekS1H@=_;} u۬yx0{¤k'5ZA@%v(Ҁ{3xN oP{VfF1zn' bHA~`0H> Ha]\=c&ܕjZL> =v  {}Q:q?es`+Eqqlyn%#ы~@X¢oJ10AqKM 0h"W*뜈]Į #4ꀼ)QkhH?|H\;+OznG5~N @  Pj2C¤0==ty /o&U@#G#9`,GGF {k@ _2NMO0Z0^|W^y_z2'4mLؓOGoUYΌ`2.g^xY @C53Ej^|?I6]:'4'g}3yǧ,8I LB=@š <2>Dg{晧XFb)A?N_ăf3cħ |ǦMRS}8" 0ǟ苔N`O&ОjsQ}Dv8yiA_tuB &OBm2~#DI]6tC<:E 8J >:GVN UW hV}0v<jma𓅵>X@nÇ ShǺtH @"0zK6}Rn}LncR1×⧋kr^5W=Dٓ~gz GKFt*U$1!vF} @z1joݧW=p_Ş>IENDB`carettah-0.2.0/data/debian.png0000644000175000017500000021774112150100015015516 0ustar kiwamukiwamuPNG  IHDRwd,IgAMA aPLTEȿõɵ|}trrrwporhcfefdc^_`[YUVURVLKEHPB@BA@@`;<:8797971;5434150000.+Z./*)*))'n))'$'+'#5'%&*$#"!I"!\!"  "  "6j    E q!Z7GbKGDHtEXtTitle'tEXtAuthorH tEXtDescription !# tEXtCopyright:tEXtE-mail}tEXtURLx IDATx̽mLi?Jfgӽ!`^e!\Yht!7_HF!F[UԵ&" ӺGHHb$@,Y"ۭ{SUvUlHoK9s<`lmrVwJNNNb\7й+p>K0Y]#@BX]"xxE"&ʑm4K$W Ik,qS2 +~<5@TrwCy'UaAcҹ/^hBM!hjeQ P+'\p)% UL鳣RL^k{\lH1CvaP2O(i|hx;'B{sY \?PuJߤRh1Zj#%<µt`?[2iPI+}GN]o9KA.gMGOtJ.a>)75r@|5W5RKtS/ z7zZ+ H]j7=TBl_Xh$GJxwLɽ-YU~7b&w7GTA[UJUtY AW{铐 :GZ‚ŋӋ]Pt$AI8 (&#-%j4L40a Eà&‡$*b$-gT&roq=| R R:P#'EK}].ܞKM͇ADԠ*|06(a[aO'zmQu:.]}-~d kA?Hbw_J_9,0yϷH@@ 8 27V6|i]~umvf.|70A:F$8/?GZU.b%xǪhVeh+mhܣ~V*ĪͩL$|yIMXO_V)HR\ KS@ݲ!cGͤjY6Nэ]=UsrM\CEԚw)ZO>/MLۄd1VDl|#;K%y )F@ZɁ KP|M z̛|"t礛Bt W$a|r^?J2m~ |C]^vSMM'X,,P||t8QiQ>&.C(^+t+AW&&"B ki'\ا?ye|r_Ž 2#v,#B \:G@Xc4+We Ku `&}-2ᘁT 0coPEtbBqA1}$z`>%kIp5FIUd%U̙Hnw@WuÕ,;ODij&G9cԠ?WTOUp+SD鹬f1EqI]r[:$%pEXBM9//c"'kP^{U2Dh'#V! G@˫7,> ,eIqE.$gXePk d{#Y1q&8Ƿʘ[HAdbu i~VGb2|^^DXyU?86EDZ:??1M>NaAe'2s+UvwХrLㅺ8 s]\اn1"䕩9u# y4G. |iE8 f} @F1 9a|]NǨ尧gʋBb4DCVƋ4-{#h% #'1M=+xPaP:30IUUcTڱIrǚ)=*2oGНQ5H%.Y%:HɤLk2pBlK2}>t_>`+LZ=UMT~ Vz4UyYJpXwPLh%D Pݗ~iG}tTF /]':#esU$5$IR H>)."Evx_cjo>AtS$D<‘@m"2k}-e#z34e"kLQvq֙23P=wF2G'4үHC(zNK=\ꠢU02?Zw8W:"@"PRI1@>+,\n#E\ir_GVW@A/ De1AW!.%z-nCPc}+@>ҊAB~Y:X TQ;KU #ǎ?IKxIOUJ$d)?X9h,^ 訮N{o +OhՂɐ#+'%Уۍ&*C%%ZA<9㢙F=[U`b33am^R5vFc}Q+%򃚠ZSUIq'TԢAZ@YX w<AhXW>m^57cjl.b'BJ7~^%(L5N~^DH˓|XA>Ita~;~X|W2+E؃D.*U ˶A~D$6"[7z!0}G#4Z>΂iޑ}EiUIoV9C2j*}Sw楐Ip+K? _l|G1Aߎv*CGt Gv{EvxoPPanΩVFq7P-Ժ/'?FK5L+ʚ[cސR:-XԹ189x7f 1;ong^Έo 9Dڿr'D?=tju\dIA?zL0{RlfWU˚8# *f{C[Qv:(P1f{Lȼ㥶#V-c{&|A1(4IB]/9K -(Vs7u))w۬=n#yĄyN3Eg lwa xTЗRHLx?:fw[YG͘Fh/k7x٢Lvfkq#yKs chaix<.K k8|Snl'7iS.c}^@ e#R/y "o!oTL'ሌcwqcZn4_lwksAo\Xc\.\_7y͌G4]-!->shu\aL򴸻+v#^+iTWM=/N2.gnXӼ"ѽ#zǛc̸fΪ³.e^jcW)j v|<:PXXt'ȨK7툞@@,zPsyeBK|;$NI)LBe۽;Bol^X٦ jޱN,YQXά,l|;TKaaŠ)ӏJtQeBI 9ŞB$׬)R`uUU,M.o"tb#p.1z'T]`ͼwGz #SkN5Mܖy29:\cSp3;Qً)"a[dRJd\X{$UՔ+* *zc|̕m9ŕ v;*v OIqӼ`^V^Elӎ yWkWw,92z6m&h, ߫ZHye:x=lS\"nQʍDDw+Vtƪ1!Cc5?<8fѐϿ!ohx9y0s]k&{d򚰺Ȅ g{^pھXuViuМDZggF|Gɱq*Dŗ?%7zEȪ\8I#@?jHI0e: !so 3slXuLs}ZٜqqtAfUMMmM5Ěz=(eޚ YC{#{y9 A,,| +@s32;L?у]ciuM$.(wzb8ehMܦΖ׮e >!b6&FS~v3y9&з<q?L߱ң8+^n]j`_UH6Y~(x[ja5ӃP[Q]~?R;:H Yt:޿o>xtlz]7*5ayǘn n.Go7O2az,//sv'>w8YoƱk<SȨᆙ;fr;r\~ʢF'lsS tniTB3Pqt;`,/auʲ貰Y[}2iYw>\]{n`~Ems߯X4W< x;imߧiV\0 *$ ;˯i&pYgnM_/i/}^geliC9{xO ~ ( |p{%53q00vaaV[l{P-.;nǘqzxB@i]ZINB:n_1BoӑLPo]b(vtOL&j-J]76,%˲wpkyό}}5rT@2w)οϯiڽn7R%,ɶzᔝGrlYUUW?pxh ,&wɚ Ƞ1 55z?jQ>{Cؑ6ό;l6nj=Fw΍55=N^8M)j:zp0{t[Q\PPTQc2s}`/ϯxC^wwFf3lqR6fv kZD\k؞Wr㟉بKEV.3cf# p!AY,׉ w;RHL{kMيR t*Z%_7`=||<!ۘuNN9gMIvݻwS59م=vʶkuu0A)ja0Ǐ {=DAG!??=<> غyq`iӇ9zt?=Ey-*Ο/+;i2~Lfz/rqD HgZo`P IDAT{Hmࢼ+#y!4Ɛ|]0SuT%&kDd'N s OMG[UW3=ߖA;.2Ñ$ï_}e0~ @oN#݇a%J4'y|A6UoJfK'TygvbuV71/xX Z֟;3vmfuA1-\9}mwCE S++vOXOL:$ϝou57765uuֆvu}f,7Vhn"w=<:ٶ>@N<;a<]>0m^9`#63fy߷Uef-ZqPeVEShϠUKX ϧI+荜u":OCG# xnD\ơ &sb!6ՒO)B^G^YY3:q;MOȎV\r1[w埛z!Nc W;\/BNatoߡqsHv0$ ?_^(9_&y;^+4=&GBr; Z/q(++]\az,W%#rbN;sd.l !y75^k)Z'HvCjBSOjy/;z.=|O]dxMܽ>ڵΦ_Q.'O2/y/Az?pLsQW | V?u۱jt23{Cϛ{,圏.7~(i64+'dgzN+ט'<Ǖ!ZoEvRVA%dzꚚ3M=ߕqgdL] =Mm=Ļ7]i [/ݶ{7" |m i~SSZ AmpRt`Kߥ֧JuggM d #QG*Gwhb&W4mX"H3{fɴV pA +Mܞݵ3ByOWi`hc`xፎM :An_ɓ''{oVEEΗ{6'NI],G]o ۵┢Y=;㉝GPO$wgÒaco,JBW06<ܘsZU,.r .Av!m(p̿=~n\23^%^_C_nmosp}sWdM=mm(:G`2z:ڍ7n߸-ٍnmc&.޶Spe!v;cph'H9:×M(?Hfv=#+no{~pLPa*K ˛HJ>5S+N -ݲ> =YJ>4m6gn<\5;6n90 ^):6x:W+ >88 ih&kB*ijA{zFPGk=7=<]^YqPv/{.ƣ+qO}w0&⴩3L}OB%FMf[;/7k ݟmM*ƄRRo2-syo]stm-0[;ԭ檎^gmM: 4y /')L @PNb?P͓~ dwQSKKCC^=ի%S$A\p!ciܜ}YS.w,лbuiu6OHS4fhУ$d}(ڠ^m4IB։,㲰5YVtH.Zy]ev y=^X|t_S9ip̥w#ovWW"a5 hGƒoS~Oi*pܷ{ɿAWnvb+K+ΗXëEgVi2^Z*_><Cm&jJs 1sgp^Q',+LGM08oeJ̡l19MO_#^`x$(_ OwwV\t7w(Q.b %O}RwH2T$.8@_)p~͎;nw.[~P8}ճ)@#3Dлfkkj<I'1۳Ff~߲P3[z=ne+~~%!1b[PwbsѮbU1c__M3ՑNjKҶJa{GCņ#E6ik|7趫 RΟC٘L@pǤ ubZΪX__O>U-z԰ZIiY AOc3oz(52|0b}+ xsۼ0'h-`dabSq:Âl/7u!F簲}LOXw5?̕[{*U(436=_4_hNR`%3 A_*ڭ]yI"]Xp#<D=? y~K~ 9Ѐ.5_n2dzU TXAyWZ^V]fa}{4蚢ޯ +0Vz٭ ㇇9 3Z~֒cyNtlAWj`}9ÿ\$Kp"p1mC op묀xOgSfw!T/"O8զ|E"K%ۻE?[un@tU]|u4POD+se^^4CA*pyZL[zx_{vôc.7(zaVX^q:!r$՚7BgpǮ恼O 2Xq*aGꮗ.U6_D77$Gbkq: ]y!1!A@(o$]{c@uak!}ˡWOk@‹/B25=h.@?=囪(6f#q{>y*<ۛ괏Glut~f!豲v01RD\HՔiyr@p\#/t!uD\hq\E I#IL'd׈N@'s~t{ow.7SkZk!|zT]d ]iiw&. 剕3^0צ]z+tjR!b}E9fc 'LNhMh^|6\9ϝ='r;yj($p$ЇڪLPCCz 5Ӿ~!K,/-[ey@ޜ ]zX_pq]xf5f94_l48yzS]J*?YdRv!!y,GgKu5uzS\vke>='WgЅ7^!H7a%zxwn5z'zkWx-,#9ѽE/=/7'h4Iɧih~.z]+d;gwܯ]T|6}_?ׇ+ Y3g2VVV6\2~{_\cZ$ W|#+f~; h?lR;?-y M#葋DХ=spFƌB6:fIj!d{eZ.Y}aID_y'Lj[a0]kjjiz0/CVQ$dB@m''LLJ:}:QO> O:i/]ß'moXdon2I)Šip髻 /uO?gOO&OO&|_hT |<333#秲z)._We} V8;h>Fv1㸱eL졣-.Әb0 dWv }mƙ/Ac`# RCU텦:ykWZ rny@o}'uz}.%%E#?x )ɧYyΏ5DѕHdM:ͦ*E|櫥W3S`TIѕ!t70 . t)ÁaCGsO9h_PG {"?bnU6"lnޱ<`ι|b8f01dIK; P!ܘ{$hWh$\A!'m-8v߮BR~^@ 'yR2`GNΟ͑z}ƜsHdeXR+G#u,V7,.vqKAv3[G7LHM@\{پ#{\y~<s?OtImӿRo6JtiZeS9)hȳSkhuR{ogٙʷkr='$g!gΤeddfb,΂e*Ir`7 {mmu 8遹TW^ZDB):OR3óH z%&3tI?Y" C*Θ[~TRJn߽}0 >e >_iv.5U,D8K9޷JkRXGp`0:} 堍]*)x)i^@is&ٟ~Zgdd 13dܓ]  $_쪭ɕv, hy!-/1dxY!sƤT)%ЌxؓI ĸQUul}ҧ ):x .{!G[y.𪶯'e!?}Vyj† dpc pC/H> 'xv_xx՟-s޲+k.q~3QҌyI9pv]0y r؞aDgH]Y\ 9t"C|A8=4oh׾7cR#s= dti `zQB=E_PYk2d곻$kag̱ӆc +%Xd,L u$ iYZ΅5^l|ŪZk!#?W%i{\ vׯ߸6TǂEBw74U. =ׯסt=O ן0n?=$+SqYmGOdjC.g9ˮikHrDi㝔~]JKg&O$-uo۾Hv|#oa[ HP¿4$k QfO6 -&斖177jI^s&^$D}F+$BJ3Uuta1bsPJXީ^X'fhKHNq9A$q%wo\ _Eѽyݡr2ReRN S9oLwG JЇD~z d]R:'=Kd:?y*w}altooy)jo`NLKA8E-)zZL']ZT,U!%(Hچ^;O~< u:¢|>#l̔R}i/c^UNDޤ@f! PnO6#P}@6 X!ըo>Ы7 ))]4'EO 8zegRѽ''OLh.QIPA%N57gpk5LӒAP`͐q04ȹ8X3t/+BBmí{%s #ud")r+bcw tJ!BIV~K絢,d/^Q( \o\ߵ,ӡCOizfPĄ)>^aNYwl~erON|0~u3t t!\ 4I#>}zuL'~nЧS(PX '3M{sdZ7=4}ZfPIUu!yK3ZdGV쀻qgK P^pO-=_G- mȢjXKԯgeH";37{T2Ļ(5]-ҳ@Hx{.IӢ}&ⶅGؾrܞe"+ѠK%BK:Y9f|$@$1G4I࢔x1i.}̨Zv5I 4pi:ceDY}2,dfC';$g <'o $=Gj-7IksIٹѼ(hm04O6*:Emm;;[\|gbzt| A~Q~^\R^yݫX Bgdؒ\]ӡg?KMէhxti]"qI'T1ߣ.'Q&λ|ˮ[ 9էO H|6/@_bm\~~l, qΘo4ZCz Qa玑$x+UM Z::@‘Zi!Υs'!"KMFCni֌}Xoon$/j}V$%99HAG>ޤXQtJ =A@䈽{CCfh5:q6h7ȷtՌFVJtɭL3Ŵܴvᓂ|3Yg B Nm@/v"F󑴳%cZ 9dd CE_8;WӄsdP{z嚊 2VQQS*DAHC8#@|x^YY}68#;}UsOd$͓īdɉ'oa7>tu͇¼7֚D" t' " (8XKgw]*}OS7ti!- F=%15!58;UL_U2pz5L!_Zۃrj0\~.;NF$  2c?݅kz;PSM x6Wd Fz8 nQOLlz c߽}YŌ SGS{jbNO.^'BׯǗ &堻l7>:8Pj@w03oHO o?@ghd|~a!|r;<=t2`LTRl'S3uInd/l\gMw-[/wfffgde.xEHAvpLYPA!Ž7+)c/tJqwqt7(ds? /w* ;}@7tlrq,b7bdG:1У(egq;93>5 M /:I X7,kyL}as)嬳5BO'r[(ϱ۵$?t灄3ddɖ̓pbm3vԵ:p KAI 3srOu)3=:l:Nկ5!,jji%[ם>ڈ?Kԟ_}C\{:x ͵8P47US;s6݉ܛ "rGc!R$wGhzGO9jz2v@΍ɺ 54D_e׀gyV\O?@]|X5H +YzD*V^Ҵ"tRX> WS3&^qGHZZ/A [U XBu2%3+77G.-|;}q6ؐ/_Շ/_\ .=Ő v .~;Ӫ{tHOo3ݘnLI$+ U֑p\Ō֋  ^RJrө)mU w 3i]z\K/ݾq V.7^:qY}LDz$O}ˮ?t G7Ӯ(>iIOac32tue9a;^ⴚũg9=R9A!&PXLD\bvY.%d^ $+伣xIKj(: 她O?#i)-Uܘ gԂm]"|o. ?Kv DESIstrcZjfb^P/vR+L8b\9'V/ J ! u\ʁ.̹Yw?\ /6w-૥uɩpOtcȱ?h7QQ8E/o{~1T~eQzJ;Jt Q@v&RlaPOIIOHi!dWͭή?`2[g-B]L]!`>iGoa7vttN BpՈe]Y=oc87Ҍm/_P+,| .5+D SϤ&ɅD>L0rեŻ/!rkwzut}p qDopWtpHЧ9!^%K$A@4=qSP**"X@ly鹵>}BNo#dOK,:7N9Xv?e4d-wz\g! q,` r5\Xi~VX~k_F@TR;( U][Cj]`9@N"/mi ){h*GzF晬(˯޽iP򕆥_>zWkIGu'(ۿ/2eP;e8c' D]ۃ7axiLDj2YX]5؊d:I 0ej癭_ٷ'GUdNǒYFFR] dBFRA~0//)Q Zy> Cһgfck\Ztv_=vHz[\ nNqb]XWIny@N #{V߾1`=q˗C.ۙi-u{? 矟>?}TpniݹT .+{nO+ȹ/51dyv.ޟqGa‰to=YDt麟-8, 6ޮ6YT~2vK,ؗ.^i.2ΦvݱQйsɩ B J}R):d0 X kɋ@ϋ@BINNnV}0+aȱޗL/-~{zPp }+`YgR!'I$\%ߌ{N8/T Xf g-,BI' ,wC1@'Go,-Hy.og[لDb0OO5 OK3I纅]_xx3ILZKOz, +5U׹dE%lBȁ?m.| @;aaњQuzdF#}mr<*HBP#Bei%28Riy>3k! >yWrNb:.m]q9yyiEE(dN%(*Qd{[{ڰ8/)LЕ?yxwӰ}mZ< )dw0^߈mkA(|D2F,^wtb?=!-g߼_vF^x+(!TCݮө LS{˃7xӍ'߀x;l"kFkvzG#=Zp 3̋m/՞M*ٹ /fIIc(@Yje*zX1Xxzt8LO2lK "Go79o[:"sB+*\lqFccD> NLo}3V8ΜH?u{.'߸E_>!|\/"+w?xumב(]/r:#?ϏƓ'/=~B5 Tjw3v6OUkW8rmy)iG\l J {C^ Jѳrty.7t+/G1'rr =gm͌j%&=3my8>{KŇw ~3\>yys4oe "SW2Ţ׏9Wbx/H4_&9>+=/:E8o&IF1nG.tN j7z-5ʼ⾙/nGO|툷Yby@J]n.4F:{#j|,9Vە KrNҙlp%+ou3{H֋sy~!#LF1"ڙ3+uJC3y[E^vˍ? Z[Zyr8[&cB41 url$_G NU:+7*ryq)ތ/vʌYGRe~GEWk#kM&;z`ؐY1ZIa*]At= (v* 鰌~U!WHPK*B֙PAҕ Uxvw8/'fT@_w ~T`mεE}Has3r}7usȕ bٽ*e׉ʏ]]g`BOEo[_|սqo6);& z Xd{Ēk+0̕Z5z: Sy WGn,?d~7q+Q l津@Cǃ1boR_qJS$ĉIדl\K #rJ)nЇgzۛ/慌&j cXO |lQ)E IDAT$nK uĪH":WF] TPYW`&)Oݣs7Y.ٔz#]ju Ad ~k.y?ۜ:"^oӒ(5tcX`r:4>b4onxNBt,l՚>jh3RĥBgI#D)'9i/NPv4a;L{sx1Q.4J N73^qP)yo*>FA7q@hK+JjmѓCv[DW#k>As#/r_G7b=yb@It:|&wzpa#y?se;۳̳a%|4 :UZn Hk{gۧ@7 Ɓ_~\LhU;l#=|ldjaZTkk^s2:3s&h:>t-8 80;63ކI  jDœ16 d삀Kny@W)JTPghjt ͜3uB-F.Sp*i!W0*^_bѓ|q tlr Ǿ\4zz(=-^'u.@Uߠg07t(,s<Y~hĻL_Z/ Xn0ux{ʫk䱩ՇVt$n{M/3n\n¢QV`eɹ|v$lQI-Ht]>*/hͣ!'Gs>K0&ɖ7j:lAl.kQI7(l8:QWz> bhDPhӫsY`1{%=8tb ēGt.%o#譗Dh/0W9GJJaNYzVYG\^ӧ}?k|p݉kUbb5D`go_xg+`/1KԤsŔ`e9˰vjz<>pl9kYd 7{;Z|%CjqViu~rnZ~Q8j!9F*kγg5\JHQwb7'0]Y9莄nQp徛Gfj iyFh9{=٦9 sf-f]}s|8gho`KV=}G7 L{ƍo_~韾ݬ>\ s_MZtbkͭgK 88Fa2Lkv s-:jIYW9oAA/)O 8QI{:@A5*m޺nKʡ] Vsjojjr4vV:VH\<]4LWkإ,!m ʔh蘃Ew0=w8CQǓD* `{XÖ9<`Q,fx`v88Z{{[88`Й\V b뽼:{Β&SKljB!w "IG17Ik ׫3ODQe+\a0暻7KsҭlA-4u]a~OxedsgC sڪ+?| ̽OGF+!X\z͠sm`NH6PˎFچ.c=M=asiFZ//)&sRRFJ4z9+1qak\gUc~3gkj75Ù5Ug+Rb1ڏBr`)YZ]9wQێX {S.ɔS% 7$O}CNY\\xߺw2?ԑfVﻗ{[/W,?uk޸'Sx~}/t*YoZ؟}P@ 8g-"'Ex;=H:+qIjB ]C&UNːl]:tsZ/W*J"Rc]ϝM[d :!`pkL:G$[=aSRpLU֤lt&g*ȻCC#b m@'U[.;@pco=.,ox/,|_L䜶]]XqG\ <~ݟW V;RpAI6 uk| wgx8;CUR k] "t9t!`BEDɿf'W!jU( Tv7pxQ9ak7bm\˵UWU)@u’&:peTz w`}6mT fCp`&]B!M"߀7;:ŃsP&}׷/x) j<,#z`s_`1ٿxާ7>=^Rhf9҇v65}WGq>_NTz}Oυ}a97]5,QC_˰TXE"6|9t֗& z#&dw<))%* XRO%|b棾՚ X9d,,<-ys2^,1\C%2ط6'"FI ?MOсS*VoaĻ瞚*n}ß_<b%8ȁ).;%3wu{>AOX1 m}v~gRDcK>,GK0/WUB"aaC@081ې q\|{sP#h4uGrqvl҉<2:š t*3S&GsX0Vk c5a(R$͠z^3 ߫m܃I' +.%xT #m<^K;@/A`5*9S-Cf?&ZCdAZ`5Hl27CիϷGe:z@ ^5|qMMNg\ ?is.Px#8Q x+jH&K"=a>d9IǠ~w{"n:9iv'[oG.b[^rys#su P30\9jwBRPdƢJ?es^({ 8s3f6 .BO7^XG.AX_s`խ sf Ee9Q9f븻F"Þ@!9ӥ3G͔R4SFS7Q/c+Me<9@o4^Brȿ~tk3O#I: k5Jdջ}1!5Ͼ|G}^N8@UU+` O.V%z%&e%!~D#YǃRP𔲦 sk Cf0ڤSG609 bޘlm=,PCH%BwmkC;gz@'U(NpN\Yei~:j6b 12 6 \װ>l,yr0x%;z.|ݷ"+~nI!N5攮yrog0&_<{o}'OގSdc}.N713涶%Ex. t['{*l=in'W#6:]&C.۠U!jE?QҮQTj֤3z[?)PtNs^Á|ʮյ ON/̀Wȥ,ƍKo鉋w%QJ 7qq]E_̧ VDsoΝEQ[vJܓ^z^5_x䙝ngߵZn╭~;swq[JzNz퉻:޿֌h|Jg7G;ʩtjcDQ-v<C34hДӣ&ID$i,],z.谓؜3(~ D6BM'ϙ%`J2,):ԥ_ ꙙXJ)ߏk wq|3_)#3ɷwP(t8]یW&H Vd{q6,*Pj\x}uZӶ@? {z>`06'Zvbq"Ps2RO߶AWՐKsrfU1%nabŨQ`Uu:3)TRo4*͹tS,=ok6pY|ۄ@<<+_)LLut+Bhnڛ{̊E->kn!~-,*6m|˟X  }ݞؚLO:Rg|8LnOOkwyȜv+k_<=ph`ǿy;<7~YEqj<ZA','\š;V.+',qoq̩KNNnrF;@/pց.GW1NONi|"aZP8 zp΁O:-Z&WkK5lvqGڪW R..$?.+3+Srğ7> {>f.,D^pa.pukP~;y2t^=U z+f/\>G rXyCaò& g\暊izwmc [l5;L~ ϓA!G ]0ۙyRl~eꍝefqӗȧɥ : ͗z19p47! N&g 0kX %ʁ5s;:33@WP(x<90on5աD]p WUTX$!]Lxqu߈U`dQj\via3[`(›=$$Y5a_ .u9jH[Sm3zƦ9l&͍::Fŀ53P|cI~^)d#'G-x :[e[{sf<B @7܃Ȍl,[rWJx rT&bg~᛽76D[@dk=;:V˽'Qή>1o=oY~b֒#CRˁ>TM%jRS)z)-t!pQ79uƮB*P&}!sf!M+]6l49m6ͽm=W $?\)ſptK}!F6y!h.J)H2)Jƪ"'PtU7Ĥ#ꝭc1py yJ&^k`o׷)JMzs){po?_;ߧ DTŖ_Ujm<H&?{dԂg(^LE9wv:* gM1[GrqevrMG XADE'c'h JY;;;+Gֆ+!յ&RBpJ\ĜZm)()9]zjtF^Vv"2L xY# lg>ʧJKK+ 2.;Lp.wTώ"t_j1'efUϔ oR/5V;qG5ي1+s9\ZZr뎃n7x qؙFO6[-IakKWCIiUJCTtW=Ew/^X={KHZuT[M:bYf())5*tFS~eGW/<7?_~̟b2I=%]/"w9\{ J\.GD]A^+'tҳzARaGwootT8T飖|̙!J,-=aX $גs5ż(5{.^⪒BP"ʒ˒Il&ȒJ+`ĮcX1/3K_緞y>5$^#гav,V#62xaWgmj&CsBu8~180t]t<\M-xҎmM??)..Z JВ}a gЂ w0 ~=l+@oEW|<q ٶ`ꇗ7Ub;!qfp"'cH𤰍>iS=m;] ss5twawo߾{P p45Iu>î>h!7;f0Hk5@i)g/k{"ơEeVSQXLIRG>"?Nʅ{н8{-]w_]/b$$$@řܑw lޖU{?і#KaVURZQPF琕gv>X|zqqq3Leq褘"7e7 TNvrat^ajA|wn șYNKQ–\K#zBbO\vfG7 q͍BbL(q"D(!PBb$]_ <*)uתHg~~mdzZ ra_q$>l_|_L,rR?Co<kqKdhV<Ӏ3zn|7ބMc̭`u| A VK]܌P馡Ty\UrӃuh*J Uw}8Xi0JsB/[5yh75e':6]{+fM@z|k]N: Afbr# ޹‘Lx3\9{7#orΞ'o VW~1vt :޽{yF|7556ՑJkꪳ j?K3U`JYb ~ԋKd]%Bbg ѱ52Eb 1V=Lw lo޿gW $Zez7? x@ʧ{^ũOOh펇[ɕo| BU(r<藍T'FVܯuJ)Ȭq̃DvM?@{fߤ ɭ϶5bR]C:0 NLt TzrO=yG(HG ]o0@aH}"?B_pչ6&:lÏSkkoa~YWY)5vvj/2*Uٖ#NdŖWzO\;wuk^W&sI&-y}ȹ.M,cluJ.X)^ tx0vrf b%CDiNFƂ?:RO[(pZ7 9Ϳ < ־0q}qkkK#AǶ8b'؛`z629L$lt5;˹V?eg+zz G[Nܸ:)Gl$xsy׾^"\z s+}A'K9pa ^ $R b|Kձ.D蕋J+0 }87#!Y8< qăg<? .4T]KfG[[ׅ3f~(wy|~ y'1^8bǤ> w߾vk{;-q; 50n-i!چ ׎{s[CKg//ktiYQOzDȓT$Uut4 Vo2g"n>' <8}зMV1Gr(So|Y"܏-Ыc }l,j 8bC$7o*ʄPi_]c?sކyxdD7uսvY&JUIlo|b6oƁš k?1117^js `_N>yb^2Td4dkg/]z+yKqj?l֕õ/1g$>.Cs}j^z"._-B{HJqB)Hęߏމckµ^IMDp~u=?t<fS)}[/nο}]N(U@Ld@-%2e^n^ ǎ[mn*fUU_Pou?{wz7odo.M'g]h[Η { z0ؿAǿ)aD/q՝wWtO=5Y=nkzP*k{;zON>=}e{b{ٳoz tvutCa'vǯ 8K%8N܊jIòF^>WŹ:A»\OD#Y3KXG,;EI߇9H$>3EhLVԵ'C%xj3hGǰL%1; -WI->8w<\.]"hxSd/\*+-/!zZoJ3%W)LDG]-y<)" [J*Ow܉cyiD›la6|so_ȇ^"\dbrrM<^ޏtM jXTY~!q 1t)F&7xi`<6u^l*-(((@ϝ8{O.  ta?V#x5g+ =͹Ejjnq6?I/Q_ R|cpz4:ۻA9?3Sy|i.KwJ9xml0<8<_GK)mmr ;p\%m_Me0[[ox tu\ T 0]zaGSNmGVnNF{ U9' j؈%FGcFk2h8(ˏU|ANAH{AIv E>ޝxgiY-iyp2.>IAz5i2J a;Q-td蛑nzRsTPjV_ *gƖ'COw6Dlݜ\ٽňI}Hm\г)ϞXu[װ)hURŏLVMfۅdg"4W鲂|U0NNsgO.!+yz4fdߌ}uy#?jTA j5&w>lFJJ9N]|-@WAiW6h'~3]ٞ܊=fE6}*dj3}A ^eq{W.7/Lu9=2No= |T [̃ Y_<#wF)6+`MtQ".N)YJFÚyRT?i@gYDG^) EI" QG/;84I{ǽ7lS=Ogg9iA Bǿk~ Nba1LR.1q;Ź@]U))6&&r&i9Me%\Q>R/)+)#يQa&`+rNd;s l娲>zxr> IDAT 8DG:Ģ RWvHKԎ(ES7 C_1߽{w#бi*;_5|fVӯ[qb?PVǃse#8 &]PKTîȃ N{zg__(cë c#랑]OݐiH&'oݾw9w:3\{TR9Z}:jZUx3JY5nLpʒƵȎvd2QX%|AQIAAA<{b!iĜ.LneQb ~DĕP)I89XƃO㢔p TTT![meB ǹ^E2$bYλ0D@k'=d5|:w stuCXUU/_TK o\VTkF!%1ғ&<zH&D$*3MfA~EE{>Ycɸ[9s\^O 0eBDש &*9*>j+eJ DIBK_ bu < w#;6C>%CW|jӯʝOl'Xt}:Xܜ݌onymJđ:R_$$TN9lsMȞqHȧD[%6 vYfoax[i|kED 4h6wκe" 7$g$>n+К!SP7[yBH&DI">*6w_9 8=ʜk9G}/Z +֖igooyXy湵(q>_zL16$Fl"9R QAVH(I: %KiMBۄ #Q-WId0znpGxp돲K*Bq(s3:Cts #Աq;OHpruDS:cOjt!/HEW`~&ve~{xpw }Uc폎_U+S:\ {, ,핕nO/891sSI Ly љ9v$BhT2ZAjG dI90RBŀ\SB~ZH3\\!˷ZL:aZ~XȘ ,syBD#bҫP-e;q~ 7<36z C=IV"N̽UC_T2tօcă/ FE)fہCģoQc0/0=] VDFGMF\v*= %$CO2d_\}r)Au/DԝdH5 ]{w8z{鎰tOxʷ_EٽkqŁ&F9g _ ޙx98E,{jJɡvXY^Bїay.טmPiTKR<(҆O24:ǒRR=.K9&Ep/&2X%)hIYKμ%yh'bZVuJzH(Q!*u>8v0nl{3W'M q|D/y\-s:|Nb?T q>=Ż4H]&T6ꌬsv*]voTL[v\KJ'%Xu&ߡXK:la0E?'>+]ϕ'ߣP&vpd;ǦӪ;2~lZpmGC?]1Q:%xr )wXLB{v\jHM8i2/WWi@ 3y9|oNGlkrrP%oYB Drj"q)Ճknկ+A=2 n`,W 'v^%U S#|*@,.Nl{hHtz;cQ|lcIq_MMBC^QQ1 ;~{H1^' 2TL,JLtTjkhNa,&7yz8v8tףl4; }3.2Ǯʼnp2tIGglnv=IVT ?yhpعi{4Gk4j4dGR)xJR xZ$>N} ߓU;v?ԭO O,d\p*;W|ؿ:| =١dw xFkrv{egle15_]O8s4s#/cDa!euIN6Μ{fAfV3I揷 [lʍ3$U~O_S*Ʌ8C$Km!k_%{Y gH}UPϬ|Hصi|,Yco|7%4~/캿);Q3PKlMu.1]qutyKyTG=Sܖtu4v$ͺ`lz2R"{g!YBoѿѱ#^-,Vzuʰ^_WَW tV!2{͆ss M*WSӻ) T't|6qhPf_4={Pg7l`q#WI{IZ 5tA. n"pA4 ڌ\!Uٱ3Dw?ΜD 욚ڻԤKJ,}yB2{y[ DM=}. B\?^arJK[b塎%P\+nlIvoq ڬwWWw0c1,MNK3ޢܥF7tZvΏϾas+DmQ[_gon=ɱqcY KL艬 .st~&o7h_7Ħ^E3':c;tuFz __r9R\.Xw1osaՁeeEN׶*ndx|ٟo~;=wGa9OCfy:n+})훃V"/&112d03:0E{یBBU܆:{5%ܯ0e=z 7A8ӛoZncјʜ={\vqqٝ'O=]Nf*%(+̓Mς6td/v_Ĕ䄘P'S G\BYބA_a{[&?CHQ8=|,*C_^~On?Y^퍱?<~xS헆N!s7S5Xo 8ݕڍzrdgO͛khk>M8Za>cPf&ˠ3*$[hjYb]90̜aNq-X>zmXwpWCx<=w?|ݯj2e3V߹*s4kƷ7ƾ,e]65[kMn|hQ_7w7?ZkN 駏=/-_€'b\ CK6d ߢ xxn9'`2/N̎./,JKafŸţ/@ʽ;|kp!H{ nrr1SLReDC!OY6/ڃ b\%>n nCe\f<x{[a tl7G! =z/?Ìo{Y͏={Ѽk\ ޽7ɉyI%Մg^uK1]faܽ=6uo"_BQO$w:ip ^[lMMNJEEб۪)v{\GZ~CK#k7Fﯷ%H?рdޓG?|O_(>)k_$;Oo•+fq}谎-gvOYWW>;澭XhG{yoѦ5͞k\zm<L}nGTqkϕN$56:2fo{m[VI:/>7e~'wu;7:e:0{Ggԩn_MX [^=tYx'n z/''mMMJ-lrSSty(v֮5|zp׾CqX=hڪ"$q.z120;sL,rK)ޓ/Ows;]cu报Qٓ>yyxH3w>g?y[7=591q3dQtK7lQsa =AMRo]R} 2sq8l-q^ w8`>+זWVW/-=b?{|׾/ټzʄh1Sz"5 cǯ}DB,$$s O'x9;Yb; :7d$oJohu˦ C[FM-[/Cwsx'6߁z]NžaPoK(f^[V4=O};{oAYv.JS斚T͏_st;c1$er蓣'}j%^Tx3 cTxeˑi Y(ubs}u#Ús/T+k" ŚyqexhvmޟXD8Odpp?~s?. ߵL g6rnˏk@>y| ɴ+=bSv:z{+[s?7]zG֤8?nDy"=Pu̚Dow6P0H4w"̓siZ].܇nqZ^?}mmbb'[mu|266㛯~cl,g15A{U? e=Ǜ27-ݟ1oyPv_б*~}Oq[_JHٗ D\-2x=2bƵ1DsiNofG&Ffg U'3첵z_9 @߽{88K& Ϲ?Z gVi5W!Nf{,kr tʫgK)87vN njwãZg9>T.;a#}^%t;scdhz R6yd=">;~@ C gwO~Wfkr7i ^G;r;wE{odcV0jl*n1G?Ժ4ruʬr7Zsbsy9z k2'W:gf6 8n_mS73gЧBs6#M,rbh:㍍c{B@g}WxMMۙiXvzAN{~y Tfc~Pk:*d|N;jsmxRnMIwX~ Pp. 兮#χgAƍ kkl>O#tx60?E?gmQq'wvX=tNӱvf>=󫐏d$mMJGppgjYͳ\L:tg_!&Ddk_ׄwW^g&'VWQ-a"-ô/ +?}*r~23^ $s=OcZX@wO:b A}%!.ɿe>9M/u1&*𬊭IqN%fѥK|?8ؤ|CG~Ci=cscIٵQ F=#8o:g~WTތ ]=e1) '9N}lxO WstC=&&n896U)Dute^S!)xx)ޛRRtu_yW aWtwW͕5.g)[3wfv(ꈰg<.%y߭񾹑ϗ!1-)|Fxx?C罖/~;XЕ7a txf78KM^i9'$eNϝȣ2b|\I IDAToɈIIωƭNa[iƘ4G`:ie,Z>_FK33nNq 5jI?!K#Ø[ߢ6ktV|}ܷN}Q3?\1̜BғUWܝ1þ _)bq1qIIΕlM.fp;_=<&tE&=`C=[fKzͦ]ϴ]p2N[~}l]wQ&ރ9xĄjƧx#T~+=Neln5ʍXYB._(g/z",CB1CuV#eƜEr:hplnV3&oehP-Q)@= E& ^kt((?;9){XE䶙!{\&8T۽NM7:6wpy}[`6~Ga`^ Q~aX/Is"+CTCkJ&ydWs7zǻcHE. ǓdnMܹcGO@`@pflv=d'ik**Z5F%u[ϽYD .ŗC|2 Y҃_|` iw[,nh|b7KKQ0gֳchN{+/DeZo :1Crϖs=wBB7Fw 3_T&Z |ans=|06=J5&珦"c%u)0As?%O4l֋O$ qQQ> a~қ#-xWk&~Y~I{S"~|VbIea{hGg׮O,-M,)\.M|hwݙw܀~G jv>\{oVT9Bα',4p;3wEg?<%:wT!x{RRJLG1>>5eYc Q\/JO| ] Х/\X4xcC7ZbEEc 'H 1v`'ᡣAA\9v0cOْ:">N'`D\8$r4wY.}^ smCmsX-QV+|b!@sm/t:̝n%嵫07*ymBu@"-ꉯOľT)ރv(!gl ׎+ <nGF==1>> '*vG.ĉN+HFQII}y6{dL̦(3u:i72`i9Wήp@p{ 0k o/gG Cvqڽ`Vc۹k82ʱJ`&e<yn2fzӟe\KEP {{x?G$_Fh3'S..cPhrc/Z-6ru/+>oVX:(}5| َ C.>Y[Y9ti:ÍMt/Z#AK08hup~ bd?pPY7>x |#bbd hvY] rVd X+ύ ;6OŅ8ܮ ?f-m{tbtTشpcgԅ 63qWpSzQ/yk\+͎-.^DGGAFcu+yiI㢹-u(JߏHwwnKQ\8acY->74) ~>c?q9S Y}fvãɿ8&&P`n'{gշf5؛6x GlaXYX2@ ;VP{V%2=?Ǒuû/i'ŽW),|oA<>5wGU/i9@_O#ўMHpd,q3wq33wܧς''0g?@4(6oj{k{:]cu6 ^ÿreȞQmFn2 bMQ,-7ңt,/Kjl#Y]nU:\EYCLKp|-,<>7ON1s^ucqՕiăK𧡆ۧ !ȯTc"Gس}Ըhw7nYNs8`|a!Xn {ҐƾL$H clh݆mv 'Vv  ſ<64p}Dx=&>1u:zSg!k%Gt}rnbsD(?fHZnTu;_: ~ُ\ͿֱcY;bcbc}D w׋,06l$fa6/m'qC7\ ==(|#?>]X,,zi|<ȅ/iC$fҟɸgZذhfne3UmjoXs++scςaM`阹E#wjEޢ09..9s{>CP]r,asOG韦Yx[AMEuZn㣃?'qY얭AYʿ0~ 76+ykn u/-gdd|d@c()#^1+VW᳕'gs6Y#(Y{cө6G.KtA#TV͋۶&DGz?Ip "^ۭL {WbIbY!iQZ؊Z}~VfCw wYrD ?7;gFG{g-P>6OY{dlѡ6 nF^\\/=_SL niercrQޟ`^^.Qign0vdg9Yaj7ٳ=-g9cbDDF+B |(-Cr{wnMغ% ^&j{6X@]99k6}{skttbqʳrs8W? _͢ 9s&u}ݘZ??WSee7;^&*G"n?3xEԡg&D1w H=᦭9'uի?RIp7݁0m" E(&}5>o-[HvѓC5v 8 Ź7! d?T yQ+П~q1\}^`WWg5틈f:|bl|.ܹ?a>zSoٓ}uLر#{]'ՋxGF䟵mḵaZ_v1[cfz gWW&bty"weGG+3v^e94:[`iYt?|ClS΢E_6ǎmOs"=d ;[S&n/sn&Nc1Tt3:6ikۜ /ouc|whm\kR_b.T^ПjiЃ.*c_'_\!. 322Yd -ɄX֎C;Bȟ?9Tu{7dmKpǠ v, ~׼Vc_Jy) =(X7/]flJÊnbOw_j@ .p#ȷ#tiYf*Ԅm7e02ysȩߢM.,c2"=GFJNо/gWgGgO9q_mY0v.be}'v0W} I:LS=lTlOKv[nr{Iv6)q^Tt8Dr6֌!EGحis?.uտ/D{z];44̯]<#?c;Yx,=H'F\TO>t`\.J8ɜ//Y]^Y8rP&`1sgƞwA%$ƦΝ;z|;c!u&j7읾OǏٖ㱢FKXVgDKi/o߾mx8\^7UQL;B:: HԜ/m`m׆:M5Sg مӭ"T,ѩS'؏0ͣ;jplJ(_Ẁ$nkp,vN'ԹLdvCw 1?ApGW;ƞ/gdmwOV_/,,+?>wT_mL N#k0N*_XRݺu[hcokǯ]EqtG2; {:噼5UVafDZghK|Rߩ"= gAW/zY0 n~xybPg9^79F"XAO߹+Mp%o'މ>H0ջo[ǰ)w~|AzbdGt?|8O'=q2GNԽڦk:z?kF ~:&m15Hy4J,,./[}ѸP-05S#uJ2اn`W,HkSdszT䦨(aUhP;0ᙓ8O?=^B?#S` }s:pOGGЌyjխŪ[]([CMM;>MEZ1cGX~;< @F|̜9w]͝<2<;48;teQq"Qb)~qјTb;$pX?$bu k&I.ùK +cO{. u_pK^+♨ ۇ mzdqsX袡:)75aQm_]of>::<274:89w$J"n_tT|,ـ%g}~ȩ> 86N2c>mΦ$= .l_;;.]~ܙp5GDޮ@__zc_yGw5#|Qw՞Ċu|Hjhٯ[Q^Eod4(bqX~端Cp'l'կ9|9w=z/GNnVոEuJ9-bMWCݍ퍍/!u\g{pӘk#A'bsj 7ipͮ9v{[<;ʟs-H/ׄ4?=3Y]_g*sh"_2o_/`sn{dt-gjْ(3~u5^4yc0' z7w;2$u8yJ8ij>gb + t-36W  ,^ LK_Y^]+aEGBإCp'QO1{?JDSYҟshG{qSYs=v ~uXxcP{sssSG{GAmt ,΍35' CnMM]PFBnՀ-+íxYTu}Lv.RYtl/*<;Y݁'CsO?KdklKKtZ-6x`V\97{~=uljo6U4v"ގ &\Y(~]ma{XS"?w# ;Wx3aI蚘7݇ī7xa>M缅'N%a?2B:yZ" ew*ڰ :F IDAT?55vu]+Rc˅ t|t^>>s%JG~tzSwYSD)F@bbbzzu~Uo+`3jvvd~A|uvqny;.^Gx҅gf׏rR~;v_mWfzʖR`mDzNvVz&o?ᆆֶ斖v嗐zG%M~ҷqeumWc&OtP-O7 vL8tXv1CaI1H}? }3WHs\^cwKl\6y' Sx##c#nSC> Ką:];2RSRRG{YkjfξJsn{z[*mnki5jkcЙ8u"ssv }i|D| ̸xl} rpF :|N{'ьMذ e}4(ꨴ̝* ӿ~4b(C~%3#-9)1$R J&_ k̼z.__Ꜹ7΂`vzرn5_\7 ĜU^Bߐ~Pr.vuBz9T׵xeOK VguρS84̆[A<%:+c&4!Wɝ#tcKEQp6ޚfqd;wIiʖ uMMM[`565A4oh`ƴKweX#\f+԰E~ǡOi33Cm \smiZ O0"9m5B}i̿|NakG|hץΎޞ{wJAx<ԏrCJP dj?#C5(%o'2!8#o@_T[___wRo| @k /(^*iްHN&K7&!;TMy~f3stw2wa58 <7d}D^ki:;=IZ @Fp"qs=69-CbOSMȾ4^3S-|sNLr,ӥeUMuo{+6Lc~p.Mi:^V {Sv׀vsFl 7w 0$j;(0 }vM;Ю,~؝$l͝x&#u=1!"T{Cր܁ȝvqբCo= >9AǘތNv\Bȋ"Lݱ3str=T Eحit~9޸3n27m<etvHG:Kbν2az_ή ;)rj];#׋Pwgq6iTʛ+m 6xuk;NX!;>ҒںƺZ^׀-{gB콵켍seV Tk//э(',_WU<yt5W#w?·_Wc.*.%dRs^AƜwϺ/uuAR_UsH_Lm(li@Ol聝_MCNt%޺[lU55uA]zBD x&kD:c072IYq|EDow$`03%ׅ%sV|U啙V!8˚/K[x ?klj*Eڽ+آ,JlEFJk%x|^鰋&9묭 :ڂҊںښ h6 =i8^g!˚v'}d}bLT{OO?7t:z˗ŢF2T[Z.4tnY=i-ɩXIٺ9>Ex"xrZ]TmZ!N R|)陿޹/o})PRZU WTTWTT ^Z9Q‰ \s5&dn#>(vQ y:m]s8n_0syvW%e-aþZșkԍbX<ntZ-- EryȆj|*gVn:K#MO/+{x/O6u,/PURSU؋+kѼKyWwr{b쭭Jgֈ!ySpWF.Ć~%o ۀH>nb äBlԙ|@点;AcvBg\ן?_ ZJJ:L:g{&@۽xŒۜ؄i~㕽`]x08T|dɼ3euUU*@^Mșsf/ut÷  K@UWHkȇf p֩\gBA Ϝ Rr ]y~?Ņ8>a=ݝb`3koinH郻mh˯;G篜:8- ڪ^`~۫o?vV;[p&//PR] LKkѼKʫKJ+])=QL]  m:t:F~ʭ5u*l,Azrq:thӬ:'̜A6ǠpCgFɡS.woo'lgp:_|}M})mm.jr+ߞOP*~}޽ǧ*+O/,*,ԢPmX)+3eelILIVM-/ uFL.ȫn9ZKl~M9²b(ĩw6vdAN.U:s w:krs2x)8r^/9;<~75 ?), ^>:w+y3++9rTbmyL@eiaeڢ3%%gϔKV0vچ k>ɢ"|;Qw0oj+rz-1XLFΡK~П/`9Ʃ9~&j}]F~…FTp&hXd8:ykjTW¿(;VVW_ yŁrȩk@_1@*:v8?P(.,l-kh();SWZVp$P 3hMh(qQpgbN;s& K⺍_8ҧB_ /M.Ȳ =?W2sUK;]f}ZRvVA#Oj 8JH@V⪨ G(..+k*>rdSŁ"BH{˛ \t{ 6O#{v9!/A՚if菌~}2\ Qwq23sCp}CA;U9z}G|%@U(*zЮk*)UZ^y<./*-**-/( 0_ LIu<gJ @ගS".їPRfzk]פ|(հ-0SwFFVFnSӵW<5 {mѥgG-gVfx!9vEjƐ#ͷ#N5hGto.4ߗ9h:Wwr 'C9h:L#iT퐑c0?LWTV^N߃ŕRL/ 4\j4 ?@x@mȞm>Y}^mq!7&nI6|ll2RCȂ<H.2۹K2 r8~ (ӂGI9Er <׳hԲؚ*sqLF̻.sGn5!߸mq329Xc,/5VH{+%%f(@Xgϔv/rs4PxDg# yxyZU5zϕw3iMRG&P݆&-Ba''<톆{<: J23lr6H1lX\R[NJDxy7t l!tpGRinr=)9¼@Ii~~&7ر\;y2~uͅ #ܭ219m'ֵ$xt6y.8Ԋ!tc rN;`9^[]N\ur-ұ«[ Sov\@ KJ*omvN1J +~2W\Wppyy`V_p^Uu܍Fkhvt$yU J뾤1aKn[ZtM+)6Z{}==A\0E&N{y1*SؘV 4eEsUڇ{߿I{JϜ  ўJ! <f%Bx,@pתռnFt[&t] /7F}I9$xvמzЃgCq|}FxvPDu8շ3pW3̜Bz5R'w"h1Raa-duR-݇~yu_n۷+'+?| ]_2Pͼ PP$e>- ǫ^@/⊎d<:YQ%i3#RѵTF׵[nA_X`}.Q½OK÷c%o`ҵQSo :zu\2M?=hhՀ*FD.24dce8P~$͚yۿk=S{.*Tʐ^dA 7ByAn%EEZK .{Ns zެ h(QMoN_<#멩1C_t'Xq̎tIDATՙe:OǦ9[la;yO~k+DiJP%={E9ZPn(K_~r /8gs+NǕ{<O 7_$ ~Rܽ^cLtyJ W4ͮ|; [Z;X}Χd16Gn JUw}C_s3đcV*i15ϛHq-MqUpo:Er\:]N<ܷ':Bdռ7]Љ.;XML^-&SlLwTCU]w [i]cj䔫!s,[J$7V~>x:B-#/ o쌊<(Z/\o:kQeו9^C&] @uI8wf+3l"j8F8i-XyTH\m2;m( B9JgɕG@yfy 5&W׃ {ERғ+װF uƩI61/"vH0ϰ)5& Anu4?Wv!,og[?$J g˹|#Ћ{B`@NjJ<ŶMA~i\^@XtaLƳ[yNzMHςfs0<^-=]99iyAMt>:@2.]@ogZvcQ| ^_ɧj+i*Y(/bDZ9py%%yy'!9C^'9 bQ~B :]y~*0w.tko05|c3\yϵ8rTR-[oֱEQ h6U_kHդ5IT9diUUBӿ/9v0sx-0{c,wRBLV='Ԙϧ VEi8ب23XcI:T4aQڛEõTVvp{8(w(=+sq AHmeQ+FMEX{ b09hn0Z5rޝĺ [~ߤk ̵Yk/˂szYlQx-]oIm@WDޙLAg'M+g}n̂p(ık :F* ^+|94wn讙;סI AKlO0Bf?ڍzҢjLTԀs9W*GXͮmy5Tk[6}2 tmr5]ry@BTjvJX /gZ,dlw5oqhͳ"-#UŽɍ,x,pC']`Gkʘ/c%2ц\ӫuY/*t8>)7Qb/ta=t }e,j~~YΩ(tfm5jG׎l3m``eWIk sª4Y`K?Η3D@5y.)Kk2.I0f`d,!dTFvvS:PC<[rWE<0]u5-M<jܬKMշ ?9&,4 &r^.l|n\K!]|I20Z t6&rզP/n s꼌jOKU(4ׯj j,=W FIbx@Rja\~;.䙅:`[Qր+%resԦ+="coQuJ,gW39~$\hbq/n:Dsڦ&k*tFlXHՑӐ>aR3 sguOȆt֯ڻ ๽t"rhq _||2FG{]T"m^>vAÿd:;ROTv8,ȹC5: .&dQ| 2LyE)nAV& ]m.݉xj5azo<*L$pLNjYi1o U/%k[0jÕ-1}s& }QX:Ѝ L†V~& J_r?Z{i)3b:"`T4!y'.ۥmF;Ez(y\t\ɫN^6J5f'ֈ& mU6*t5:U-3}X۶g-wD[hAjQ}b+jiR'kFnF~yş~$/ c1^Gwboxh k]s xA +GTD yf5 .ev=L|s: :,'pdxC/Wd,G)S^H;xˏ'}8{9FRxXajt`iE儹k)]]kpЧ﫷3bo/]NrW͆dJYV,2^?m!X~'>7ǹY#t<{c^$w;> ?̔fը'XP*wEVXb\"˫Nav>93^[Y" yzmj2{fz5%kFK4OvIM6@/竚N4#v@WfdN3S &4vq't6tc]BW{,4*:65D<I*|DEE Z)%8-2|7B7珞QY͝v-/[gS.WZ%D^,=lCiV֠++oPͽTksptЧtkpJv#q^X/syEnZr(扴=d7F! @W[S^MWh"e]$VQeתq:>Q}4;vNٸ9;.QddSlWWͶo׏ "~O,V;oec8&@8RdLmcGL^hK'38 :k@x4U#T5!6x_ۼ5:!xs7 ;er~M2Q#N-A|pQXA=BFSULˬ̰J,C]]i'5a8 Z ;W|*$dk^H.` ->|yAy6,+"hEB@I̾YUtt}P9oav#] 71;Wd;IM5y^sng'?V)Ic/6tw!0/񤼯(0~P_dr D獋9%W kjA'/.޷p=殆tj2rh ͂iBVeq5ysŞscyanbc'Bc?ggo{4prtWF62YST33{8BAomYZ\ (Y@@뱋qнre<nJggzv<3Gl_y!c?wA^Pj1Aeu3jhǫ^q\Y6J]^YFƗ Z?:!ĵ0rBcd_,^x_`oؾ>KT~Ŷq3yuUB^TYYS't.*/ h|>7[d?WfD]{Бc*L٬~*+f[9jNNJ=:tx]Хoӯ|Ctz&`t Ss7)ۆؿv>^{ԃ5k0ۇ{GꄴY$ t4p!g{ eA70n08ܔSt4& \aaAWC_v0? L+ym y*K๛9=WV]ACI:q:n&Mw2w 8=}+o;wc&ѷWGU^T6 7\=7nv7Gx}*/Ϭed 2,ne[UvYsP?]?yߜ;#z*@wF?;s5fW!Ge kYi,p !`$.z dā~MWK?AُsnbI{)I!\w^{mfoCR/n}q%LR S>TJ~jReBPJ@krdw7*B2ԥ%A'&/Pږ Q^N";j{f6ԭ IS.ǁOk>g= A+ wh'Y̦4oòx@-϶и >ޙw,FڋwIQ(j;7zC^ہCO[^kqݵHRG1Q!>|v>#@D}B @F6XQZ&k۞"EJtAH!Q1ͧ'iW!.s&U;ZFةP Ѡ鯷/–~sDe_@O d;Q)kbmt pܙ-~,'ݾ%`iNҙ4>  ҞkrMӄ[F?̜4#Z-28i",uF*R2]#.$6d\#%P{ Fsh d(sѻV n;mq~@c`irX ֛]nͧӟm.ٜ4 hV}Lq!7]4~Z]O0W[ڧj&n~ 6z|:wou _f0Ukq=^@zA0T)w\axl0Utl&&eĹ{3w pVi6Mp&mOќ>L{A*HyC^w)]0DF Fݮ&h׍+O`Rt3M5y%_?'N7Y'qtӄ㓴h(\RUTљG-a!H[Mg p"۞l⓭yTnnM+l>ϟ8e Nd ]A׫); #̧3pw;Oj9ej=/yw.>~ o_ #c=4}\Nk4G7u(0YoCMSƖj :<@WБdւs2m˰-`̫nb<$u> kکaVQR#w̍jdtgEBM^A@_cg@Q;AK҈$3qY*w3`9~("^-iK댱cB7#,iofSftAkG!('nVA%LZJ2tSo?SOk!G kƞ7w{ ?ܙeNe-(״49[1fL` d3zTE5QYi/omΝAc'SA}Ʒ8:ֆ$_]ݺ&?̜w^c(A xEPLuۣ0Y#l;ȁ~_uApwq;|Uʈ)'pju C?[K[;!}|lJYB ic IcF_2QKK-//-qxB@f_JmrW)c<;B^l(oW|˘U詥6/&-=TU9ȩ{fsLF[s0cҧug9Υ&pe L X<0j U*h}v4l-La+Su]wK{Oc{jt & *U;҈;{O9H< Ȅt7Y@g+\=k#cb墼}vSuoلzPĠtQ4N>[ *tq/!15:xji8fIo뺚=NTo陽&[{{+4p;3aMsW #OaeIENDB`carettah-0.2.0/data/notfound.png0000644000175000017500000034752012150100015016127 0ustar kiwamukiwamuPNG  IHDRwd,IPLTEػطƳ֩ϯ̪߭䱾ǬԦ޲Ϝޥѝ٣ɦٞќϚʛǙϞɘϔĊ{qtfzqv|j|hymxfxwvz\vdtZu`sVrZojorho_pSpVmQmqlcal{Yljm]jPhUh_hmKhjgYWfyDfOdDcTbsXbQSa~]aeK_x^]^`^X]^JM]TH]nI\W\XV\`m\aR[H>ZyHYcIWMTWLVWS2U?UnJU?HVDDTUVS\LSXTSBbRPDRI>Q_GPePPOLP9?OE8NiINEKML3MuJL?EL:CLNDK@EKV@J;:JS?IB@87@.?@2;?2;?71?Q5>19>>4=63=,:<02<@!;d9;58;-7;3:v0:069-/9+68138+38(589/6436-26/)6F-6'14'13,02(.1*.1'+1,+1'G03^09,.$+-'-B,g(, ),%&+%6*&)j&( $'\'/J'*S&.R&+C&)"%$E[$4Q$7L#)=#$ "&P? nbKGDbZq IDATxڜ[L[ٺIb&&vLiccc`6ml U!QETT$Q* ZGt9:nY*Ny(-ՊZ m~Zlu_ƘsdnHOoYo߾y>o݃R6H/eXCws1x<Ȇp+0±)''&0G"p,FpOfI9R8V2N=80ށg擺1oLDpI?LF5|O>o{}>[^[[S`p|ll|||l-|j|<8NCcب:|922&^ի׮]R9~%._0{{{/+`T⃽B~W9@͋r6őYHzNssst1Xϧ3S;.'Rӗ d`Ghz/vs&@JN6!*SLL8׀Nnd2,.f8l@ @n#Ax4"GbH0%93_j:~͛7u̯]Ji'3+kUB~ƣG???od~pP*W2K"GstQӛS;6 #oN1i(1,;pKSR/ϣ^ƪI p搶NSgtN U pKIK$Sx9_/|ŏ،L q [CG]'; *::G:r7nyOnwϟ?~wGHa|(+A3bDYAee46ݙfx*]E:j<8>I- 9i1Rr(*!w ͛UO???>x:;+["4xa5 :Ϣ|eL#s$."`x J>p^?ʺCob̙8`N-čE+( Qj&CŽoO%|f&t!pV=:OV,8ɸ<3f=-M`\ԙs)VFSї #gċ"m=~?~]˕ϻGiUr.<8IXrt3>ytr5aМQ''؛%_uL@E]J,Ҫ.'my\^ǣݣd= St&\c,h&',9B"9w .oNaq J>&]agŮT-o^Ԭں{wWd^ϟz[fײ#ғx,>'7 ՇnYr"L1voM^iڃb-^a-xr18ey^ۇѦK~S2Zm]ʱVVWWׅ0nllB]\:P(-%.e}nrD>;Ge\x{i C"*H {WY 5" #Yg##&^hqli(㴰pYt!zppRxzgQny0N, us]1F;cVW}k~޳ALW͵k;zzvYEB 3kK>x dէGRK,隂W#t!`U,y b;ŽA_-}='D2Q{k\ZDoI/z4&N\c./a'pmLDbSAa9?z>s\4^&ܓTµN_H%tFuW74>|CH&"ӋQ5UsWWo%6+[93f^p^yh}́g :nȏgң8uY~6CT ]]b-&ȡv~wkq R 3++Uϝ\% {iN/s"@',VM٩)JѠfGp, (H/.mlnlId$%+#"^5*,8#t&>)uc ~277׳KoDDGnӮ#D}~7.UN@#@tǴQka!݄瘣j'⥚&]8sJ04YM/iwTRo 1g)Ɇ)b~6:Zv` K3 ɭ^?/c'LJ4L6^x"L98+Pk$a#""8G"?xS,4ؤlG8L[L,n(zǍ7Wqa: r>ө]B߭5{v)k:о_Q;K(AD*0_LKmNAQ-y]U$;H,: o&*NH,^;]̄—_.^!2C?!g *$Ӧ#Q՞3oCIo Wߐo Wn4 c֯9rPȚ]6_l/?p`}bXnXD s0iY" *d|33v(Am _Y} 8J2̄S bs6( 4;AA NF\ gXB1n) kOi*@zagsi5HE`Rͱxss#,y77n A~=dIcތ&^ft~`$bjHr)Nlϥ]YzѭYӨ,fWӲXE?9K4>B&'r-tb<$33w|BÃ& ijyyvXfILo\O#]!rB~x"!D_G,IW7vk5:|f١^9:,跓_' 4A*-H<(s&U4%'0Ƕ>;Ui04xBXe!DG^281B33oI85ć!ϠB+t0!pxbrR~9~S!8DBwWQx_:~"4!:f(Vux+3Y8 *ct@Uu8"9rѭi\K39U?M_TH6:rrZ-]kNMI褱c볨C0y;> P^8.ʊH$Z/%#}#k YP̀F+5|QD"A8RL(+$>@GLAdD^~`_"5gDEj`f&:n,U^-0]=8J'stאwev{'NЅOqR1)qߔޒ)枦z"ӎ6ML>^ò$@̼@q?ܸQl/D XTUʗЌJuqSDd-9g\aa~{@ZC( 8S:Ov8F}BFGraϹpq18RzC5%9]wI:ag:6X R ~Bc\G>-& E0#=%4Y݊:e=xcɋ6(ZIM+K3&sd4ziA>6wҴp'!@mrh&SJ<ȘQpN lؠȧ'0w LN@!OK`΅& H>QxtTF17q ;::(BSN: 餳9QF`W-MEQV8$βrʽRS}OAe21߂aY1)'RM+%Aϯdɍb$99H@\N {r.EHc0 JOF#(t) p|\3e~|1%1(ˆY̓seHs||~LO$| QFmƍOۥz{y[s&\)BgNPu^9:S0bcDE;&lLN z]@TVgeb^̠6a)WH]`&7:9oTx%ʝC3ÏkG'ǹ$D;RWI+s?'S֛2^Of|ny)ˉ 8yEOT|98H6> ^D$?<#@ tl߾=: Wg :^qF1}< yjEfßI7F4QE !f==TC][{NJbu.p5Qrj퓡k+Eq'uJpߑވL=^VJ?$U7ۍ*Uս~Ɖt.?q7|vgc&Bpv{ۿ?, G艾rC̷:ȆS#*tZ::Z[ZZK,pR Tɞ6ъzTm+-<>+q8Z@ClCIt@=9M25(}؆ LǒLעNRn=lpǐ+d. ,DSpLӣݸ3+m8J.hx黀 OFd2pqp:A]'CZ_k9 r]4Ä16{ձqt= >T,naLXz1H%2gwݳz7)@VL(V.$2J$iS>F X8Vŗ| |ǸXl"訔raCJ`i $݆y }:3"@0 Цz:5?0̽ u0k.:mh@Q:*6N/c-F_5 \>6 疰'#{&8D' >-YᚍqB72A_RkBjIORFd=uT~_-8B<DICGp=BJCk6(:|aۭ DN$V|$-7tbyiq #<\zr)[?$7)ؒ_c2Aa 8 6H6QkQgDĝRu:&g0J6Nͷt X8*D1r+,D"dr2'3q}R'W :ƿ3ޟ?oo@Bu6|I = ># lbriw*@]A^<97P-gvOЇ4IЇHա%v8"liBq uym}C=K|_;5uݗŒ') ]v |p!YT?3phcCV =),Jl ،/rv\2vt[¦OF9T*|9Я`2KP5G n] daԀrr2AohuY]"{5ªS ףpk89ٕ#MWh1ؚk44G2asʎ BfKTBa <>=8/FWGذ\fC }|(0|qlpX1inllm>j77@Mxš| y<.l=(>?98]NӅsd ʜ:z uU΅>GLA7ב)uT gs]n]eM?/ !9NfAUܨR։ Ug01> 71tVDHCj7O=wG+(Oy.B=DCO: 7\оr? FOOg{`Z]cp&iIq9}8< giK$=|I$hQ>p3sZEhz7niC !]_|dMCKy*zKtx-3Txo P9ܾXag ~X=Zc>:;¿}ߝ.\m6{\5l zmM#ao-wZ@{[:D,_8(f <{py=Dޠ0p>su{ \ojpɘ&zFk`/JZ\;'\p^4._.PUWniE o~XK?ɿVn IDATV}$1g4(76=R y.B/,f>%@=9k TN%[GFI}\S^-ƥKػN2&tPa$l0~w_~uV[BoEq?)D<(t[ t(9v1c[9yn'.V@D[w[I[el wdx Ȼ9N '_H1_-mrXo%Y:DߛT{\fX%u>auϏ_5q^G|Hj/;Q3t_BxGGŬ?1V?|gSWEtv#\Z"SBÀ8Y>|8*>w;#zN۷r>ľURu8uu=*i{99lƑ9 AssLF^u_zU;rj;93L}M{U}\8JyG33JSmlDfK2/Aԭ:WA)NZGGpHd NV\6.b ˃e&EҚj.;] G`4?\n6TjCW\y>焋:"Gv}8^BAAGH/$`ɛЕ /Qߓ?Up̿_kL NjiI%Vj%(h5><1%O;팈$( 3uU hc:2RVbi|ͬCp\@9IWS Kq MD׶> Ysu?7-SCFQމ9sFKYAS-ִГ &C`bX^F>/̸w/םcV#y۫[qLu;&&{M-;uHl4I9rΏj-+FmBA7A|_W߄- Wڎr1-H˕x VeKXEs뺼u.\6L C gx*;%]T0y+FSIiGNufM'jٌvV`!>8N@ ~'^`V(NGpWgGD|~{;Z:L̅yQDޭ^sU)HΒB5Fq;u-5 i; Jx|Z_gY^o¯-t<-&)(]8S[E΍ˀ!sB  ;TʉwR&FE rq*bn1`v,¢kڏ8RbP|sXUC|BpKC Zhεt$s~9˺L(5_'{q]10 +תki4B@.Wbw5#Z)=] VGC>;Qd0gT~Ri*  Z{0t4Apr (ތnrH4nG@ۢX,T@vxGLW/&jcHˇȂGMV%Q,B9o`ݥWWk%oy's/vִuu6*uWm09^R)'h/@j:7+YW3PKcV'=/[PYys#EHǼCQ˲ ~ NRົPKZBɞ1|g;9Bj D@Maև{žqLƿ2/8QFaH]iUb^ lХz>9ψ,]]&b*J찙=[BU:泴8QֹL.GiX!+ʨdzIqT:o& ݕkV.X$7c܄ 0/8t|Kfdasii6#DꮱH"wW^pG5ʹ|wVUj ͹໎3[=o-bLr( YTtNtpއpϫˏc:.^wn9Aб&e}p#w`4n L >ָMFX~<3JWf.WT׃|,>)^ā5;ؘF >Lݮ4>.sOH;beyǁD4e@eG0~tBAUTS.J5?C-5ul\}Iffg%z{xMQ|yy&κIZw>-9.9r\xJ:Uz?]Pd[;Qs|vA+^6u$w߽z4NNprbFv.ؗ3SGo~\ ʬolDچ}f Y,6j" k ;7NlDJd]143g2Y0yuw&G1TK;#hB/dlj'zMg21?HAq5D -_큮o"&Ӓ0rL.FgfxsJFF'൩> QqZ-0߈џQ=Eյ6lnӄ(G>#]pG\=bWw6VT"TGv` B34A6y>a@.2KG.|E7o#F+s1XE2ꨋN~Q78 S[֌w\JyE Cnq^vXEe"eɳj7j)9H3g0;@ԁ:REn"E-h#ߎ)!>ի'(C= q+.&JTo@sSD.Xw߿WJ0{ZhN+&V[hv^yzc&oކryGN@G]x:SS>WecT2FtJg4|3ybWW$ %Xqqq@_x] W j3|<9c ֌ &v)n1SJAq<@cSpkвV/bFd?=йkvz8Z秚v㺻 O)+;:XwkZө ^n Չ u h_­-H. Ur#0o ziZuZ>uү|B/wiaڡx[ARak4Od X݊ٻuܳY,ۡZ6ɮnft(A7\̧sVc#DTrkehEI2%a6YNn0Z,.p( :,)OY?K A(nWVkɵ\:_:?S`oDx^tt n,tTNZ ܕY8fzV6qbE]炋 ١3r+aR`7de>̘#;v7}i3e#K#vlᘋPPvCVNYR'AwV#f䰲^#h;@71t~f&»́Ϟ1 X z;^۩+SK?9$tjC M9B' de^3@9M 3Z=U._,gӯnr TMEW Tb&JUoZ~gdoq˩Dx:a;vΒE%ӝ_*(.{8dhhN8Yfi3h tE ^<ټb83'{lyzdÊX:޹{"taOdvntȬ%Y!玘xjq\a^vѠ#N$Bb.QNi4yB`PBOcyQ9Hҙ1JhnG*[ծ9~A_$}!gx?a^?yfQ;+NwlgN`$w"ew؝ፓ\?6+˽s5H{84؀b^}AM|^0Ll}o_x{Ep-)yp 뽱3zop*@_:69O zh/}FkwdͭN$5v2.sлD.yYvpn(vŻƉ͸'8R)bs}Er9˶lr g2σfh`W8{̩x"d2'v Ϟon> <\9?u]4 Lk/Vzxx߻IGnz uC ΏuEK_i37a-: 7[k}xdjT;X::&N+2*w*iWl=.[$P NFYsxNk"}iȀGwB%srxr1by+y\̥}#Gu~>vX-PAmu#t.bo8\ګGkJhfaGyWrך|=w-,3ߚ={kP63@9K* /rnly []jZ6Ż:QwH_ 5| 27O4b࿛4߾Y{5Ro“Vgޚ9 (uキAL҄9Eh9NQ;PxQHeێI^]_$tDnkuc ߠub;$d>ۜ?;~rAjn r6 0Pϣ;}_2n<\yp>>Vzxilq?xXLZwSD4mx0a}iG@3`FG޸<іʛl ŵSf'䲻lH_.fxN]o8#u6oDf-\IoȶP-bMm$$\@՜9\ݭT+|UyuSҾFtFjN@ʓ}b<,ފ9i @l'D(f f(G+FOq-އߚ\~f{^|~bRe L\3t:Iq>.Ea^$&>5%biŠ(Q܋][ : qy XkmO:s9iN|eVOQz[I,̬on8} "TJW^CY^psz)wo=^;Smhi%ٿH]}샡lx:6jSfIn h+jɅWIvUZ~f\}*N֭zZZ:zlo5El*N-m-$: Dį,"JA'J 3ƮL;%@*fN>xŨ(ƨ8z BkY@3;qS9Ix\_}eW1ew _aWq [g'li[;.b;Ƨɹ* q7ʛc~Y+W]I&Aw₼.XኖVNZZcll &#l(&3&"fP!<.a 7Qlfo3-.d s,/Xf6SP[z|?npZ8;!c3Rsܨ |RX#;{M,l:E_5U&d*Ҭ5:̃&DMiND+ToOos+Ի];']`#,Hwk'AI( lyeе׏w7蜋sQTz+7.d@- ;R t3+0m,13XٙBcKn'$X8 L WXж)k%X\X6sevzZ)"kI6:f?]Em7\^jo_SSj\0&880KjrTk ?bӃlՔб/jt1A;h*`$/yMaԋ$~$8zu:p{GvZGh6MbVvX4N/M ?C=53B.3j6sՉ7n"N?SV |sshLFTs{D_Ru75ҟC9wY aˢ uotLE@1TN#_iՓ-SϒKLxv_7,\9PJʰu.o-{su z>Suwuȉ;RBWd fϷ}\}s_r78^_΄n{/k-Љ6/~IHHqtLszWx؃P_AԮw~~眜q̺S>6X <pz]r!z whY[eI]^O7E$w/HW*}8FsѦerq47ͻt%&,ßLڕMv@dK[W1l}**> —w~闿'R Gd'N^ ~*@OkɕhF,wDs& ' R87vTK.WW[QM?2v~XE3:N)E]wPO&Zbb95r7ZnVy|S?t.Cd1tZpaX7PiKge\7EN$r - 'vS[4?~q⥊`֋tvmԹ$_+ETDklAbhl|njRw Ml>\*D5j t<.^[/I"-cۭ 9 O h]L6Y語|8FPYi_p:"BGR( HXr?1"G#|F:Z~]Ck}cۚ;~9]I;GmNTi6ӹ3k@ g@Zb\T_C9&Y/ %]Ï\M?+_"<72c=bb9Jg٭<(B/, {SuDMuM}8ekdfdxTp)) ;mTĶub3 T@iq쓩"pW}1\=mLK #.H$yM+u9XH]:r<ܬ]pGh:QkH}\U[BM^u_DC";4Ky"h1]0&RbNN&ȧ&oN5Z>8hIݭIYPvmzg Ѕ'FZ*RikN8PY7lP }-r?xbs)^M55~{8W`Z.Jh8x%}7 ;Ƒul;3&m6FLb; 2{Pd3p302QfRVRݱҀ,Tnqvk0)vq.Q$s' j2;hӑvc'u'VPxoNn@JšoW0=rOQ5@G&rjWk'9сG6xOhT' O O_˹H ނ&Zu6Tt&]}NNfűS,Jس}\K30;fnfzŞ,; |+.1bPɮuc<ݑ aC+wTuR9vr8F3@ߺ*q567=U-4GOvh>ZsUӺpZx3r]N}hlmPHPzWp]7n}B_m%:gfc˿C^ي-3y >A 6t`"t<2.kil4XysLb.v7,c Khn׃.Yu o}؉ IWAkq>)Vۯޚh!lsttk]=jMj _IN^*a4I^O .!<=&:J[tʽQPEMXWp_>Ӭ\r~"ex|ip [3Tes߹f>h½%Ax[MG 5j&u$` {/淞"t@{$W?6FR2W^ư9Dxn~ABo},#'nG][?4tNΎv3Wr7kTu@r_rouoC(`>9U[5{X??R3`2`~dK!Rȑ>軻_ΠFn.YXa4a7YYA/?_6`o1^~vKfea&+w߽} ^ 6vٳ+]n=NjDȐ?8MgS}X.fJi} ⌼Gti"(ґf:zw@5 T_i` }Rءr!N&יQ Srfŝ+?AhW>DLU*S zwqfd= `_nt۵Zr.8b͛}_6\pxOyWx1[4QW7o޼rmu;@Wvv4d'_Mέ- &Fm‹{^et:w f=^_zC4_K=\6ɘ{:XgM$"ikDtA1*qݯ[mwc3KXVEI+FI nSEY6+B>Jvlz} vXMawyWJZ,6̇‹ul |!NC ʽx!p1o'!I/ 4D&COpt"rJuhb%ר/[7:;*>W}9N B/uu&ih-lĞi9:jim\WKiF_ScY4_}= =o!LRaBjٮ ]Q@^h( ^c}"gנdʹO (-F6:(r/F;y\zqܺ9}9.[("vdύ$"#". 9o&e\@ q{oG6=UJbV7cեY9H,Z*mueCdуa 5ȫ;{nePh<90֎lϫNJ֏gaFʃgM/ ߙAxI,a>zAn/= lBW\>r= CW, %_hфE(?*yɜp n^ŷuWlR; Wy!2jT٩u $ZzFeNbFs .+RUޑs2+9KAzdrƊ_KJyxn64v{+i*+§!cjo/:MP:~Z9͂q:e0RB-N^wEt[]}D/hݸ f{څɹvwz% HMt,Enp!Jjgc%7FܼqcvdJ25z+hw9Smbbio*<hoh4ne@"SZOlÂk&R**4w f+GvR~ltݛfU|n_+}) 7E2ot۷/:8rP]ۃi}W1l_g8 :FfWRz .%WW{-n-WW;Im0A[ qrUӣ7ܩ͝foUw׹!fA3 zNkXg>Yz}EliME߇\ Z B,;Y/Un1=,2@^A[o w>W0>ihĶLwj/h#U!"/HT0X[+c[Qoa=CКz""Ekr9 ;a}k}޵`y$=9pKBHB~/q2IniA@?NqQ|ayyy;~&i"{Ag%tTnd^rl2tb1:' b)[ 2ZNyM5t1&HpbG~vQXc^v6i+_c@eWͽJˠg!5IJ< %|S=7 \@wT7B8m0A$cSRs:hcϸi9bǽ%9;ѹ[%A$ix?, UAeg|K>oO9Dc˩ r!`!RzbLDRIsf|Ǟ.c M\&ZJia6cjmxe9d渔uYحӽb$r0/"?%ZR[R;@wWX[.%и3å9i~ IDATJ(H 9t?3^8ZL^+G^O_lMI$F36|I)"gggs԰ 'ŞX^)y;`qYJ~. pl:v>Xq!2MpNnohpvN D0>ۆ:ʼn,{s)hK@pf꺐'1!vb,Z}9A{+KlAλx";L]bmZOKYϺ:Fu~IyuYY,x//oϰD(·7 dCR\|gO֦40*w[hxzxɴ#<<<~C瑩 p?sP'ٲX.y:iNN*iIЖIb'ۜp<^(ߓPR\^[]^X)+ pNiyIv-ggD氖-)9e,Ks%:(;&AVs9|Qjqq'J 0^|?$2ForI_j꥖ %L=?e&_d=XNY(eR@ y5#2ח!}f!n;kYbm70oѺŗK \bݙ%n HΧVmɒ7v$FSRYW.--+. D6*3-}MsƓbYI3 6403޾wANq9)Œ\UI 9?+e%Yi/w@IeqTRŽ|O5@R/b$R@>JV3SS1ҚH|`&$ q¾![ 'Y YzĆ_^_ye/C\mM=;3gv.`,bۘED'FEInYյk:g<'DxgUT&H{rQitHlb3:KN]urx'~yC%ɰ/KΦsĶnAa|TQ2t!pUJ,fqW/_LiFp) V/  4\3+JqZ{Kg1Z,&$ƎY1!(BS,=lo!sPgbQ'^133,c-g\:Sމ#'Nw֩SΡUq֮B<CНEً=*U\UAE/\9A?$}!-d[LTwZ؅;Iޤܼ\Z^9tXvv#x }($dҢ"lVۏqt$UęcR$cT&ivSz6}xtIa,l9zj>/i\&;!CpIʳ)\5&2`9r$32'{8~A^ ρM­@O^%aٕl+K1oa4<9r_LYCנA߽;|ju$}dž}}C#nZo|}#<rl {#nc ȦXdix} r;vb8.G+˥NăP12^w?ȽMZFg /7BY6#OrřQ̓߂v"$.a|Fivh d!+4@ X\e2.-J 7׍!}7zr]Z(}%_?.Q&;9IegHQ~4|;G0}+FI;`Z`0~Mb\ڻC;70xb{ ֿv ^e1*N c!_j`]mJ^bQSKt@5<hӇ* Hb'JM~<'Á4Kԇ(|ֲs ֩{DA0g<~ݙ$QX(+㻧lrOLա=k$ ៞Bu'pT4{`OV82K)[A51gN7$_˼Ekc8%|cT߳.f0rKxXK:kז6$9{Pϳ[ӝixŏ@#.Yk\WY.4݉{BR+l_ t6:Cc;~fP%O1 ,&bnf<طA{(/T;ɸzq+գm9rtEճ?cq&.:,JKaK/$*..n޵y-*\. <=UNf|GFd9zޛjk.颫fgf{3idt]ƀt#%N|a,AƉ M%g{4gmb{>J;f@ iLaPFLc3,,-M$ubYw'$vzα i~Ktڂ"N.B;½Q`M3J 𢝄xX7 Sw}=]{.F@Xu :9%sI;?#Ow+IqS¬~+c*1`Sȋ竈1$X3­uȄ>z2N_:טIʖLx6-GSe;[e࿭Y-Xм/4\6F 9uP&HAX;qEIBCy4?u4Ba(|q [t\D C7C _؈ v[qRXA{ 0 D$ \rG,Tb̴V8/YDmɲl,v >ͱqprg!1ms:ni&n $녇lN</w 5og -}؞VybF*<B&"Odg{6;@([<+hQP,tQdh2 Mige %m;ȳ|fFP{ZX<D8X.8ۓc!MlT6̐XJt=i폭fҿFoå$T-qq[~5IbӗE'+$PzjxtFG#9_m M0'cɭu瑷({Sޚ99 bcc###a, gPT0:4s'Ayҟ?ݑmnٵeI9C\\V96dZ`h7ȹ\5K,1LkPwٓiXڊR1UI|u5.$sV|7sjg{xw沝u/D-ll_0agra2`5E/K-\ {ȊJH 2e#LvIޝcsHp76ts1U<9[w*~2<翺tMB2y%qXCnd<17{{xr*;;#&-Q"$3mO|ё ήRى9M[ijR6Չ6n$Z7[nNNsatrP򱇭n.`27.?C>&m=:R &.^hۿ?%Gq3DϘ9Wx$?O\Rb"Nޗ @2ޑ0%K9:L_x́(ya?'蠩y6tX;v؊Ѕ%~\8Ζ08^zg oj d;4҉mD]պW/'˖ֿt!,${9S*fqX2)qė,*xFA;뜈KV %$_¶`%HJJIgMUB렘uU ]B<՝z+C+̏MZ#UvfxUQӐ?ytl}ܵÒ+6^,b`k23N+u?žte6"L|ithݪM9QS jMz ̈́ۮ-[?[$}W~O ͕ cS9~>6֥+a#zZǂ,a PGirLq_l:/\0bgwgŪO/a`b)`c;[aK<s}8uE$"h]QA|ౣx84`@"rX%iuUgo-)KLH۱-,8$$p; ,5ky z~Kg>8/c0$mݞ9faBz{+hל@<okujWޛ6~ۑxTCwuAtaa_< ( 5>$]KԬt811]j|)MÔ_( (X7nG̓Yyv= K! pQ:'fjbWn96[%Ҏ42{/O K;E>(3y%QY8nN ΈvcR)ߓ!rp|s#gܵWtXr'a 2G&=) _% 'IgҺ*sSS7 Λ]ڲf% l?fе `<;3@'Wy,m_L$yS(ANLij , r 3bZ!&v#ERY+\\]7ĈR!\[xjxF+m5P' "f?لr1819ؚ&͛2= ;2=Lڡԅ(vcϑi 0 aeCd=\_s_[n۪#ľ݀5x_eiN2,V7t{ jkY`^b}-WG{#_ó6CDaNfzVg IFlZuDoOgLLz{y&dI _Kg#{_s`o>ܒ 1EN]e'0/vݝLF[r{{0m zkZ %7Qe&vF#siugwyaG$*?g=6w˞KVXd+LwZ0[op#G4wSH0ՙL(_M@_ƴ,kܬI l.|G'G-6ݗ@vuȡ m-C\n 1 ⬒牂Cv xʗrK>9\l/+JN,n~PVV,`c3M%u^ԨSo~>nȾ<.NNHW,8"",,L+Gza;YBfT{hl]:ŠM1L`{ :xBr e@'/<,Ήt6c]_n=W~ 76;}`tl-,@>['麟0}o;\װЙV+WzH:8=bg}]h{sl?\Kܻqŋ8m˪|>++m֖ݫ/\.-:_ѡ6Cmbze!'p'H8ʵ?;{¢wF G"۶ %FQe![)KaIMl0%%Ŝa/.ɀʏs侴WػJD IDATi rH0ė1Xf3gm–#pC`rVV^VJ0gk83O{Ӵ#RL㦜\aýjU7.]qڝ/޹}K˃·^;z4%ܗ6gzqRr`YZ#.@uը2L"h[. s AwgmmI-ɣp9|+<_]$; ,q,W0k:۱Ͱ!"uGoc }yp\֬[㲊)rzV'ԝoڅW++"垻}ҍwVTݸyݛw/ TQqͻU kwkӰRMv.Y>oϒ׷BIz0s m9l:![<Q%~f1lyLbp~q˸LM3sʔQlg5תc*ol޼uxwjǬ@:߸/[ 0?Kw]RuUԲ._vTQWsI320 ^TQS_HWܬ.`VwT;ׯ8_ǙF23Sc<@Q*N  a +AA{D[$Ɗ<]G:s< 2: %"pgڹc{+|wYAXx54L^^#٪ul1MuL{C$%xs+i'a% <=<99asݻ3H_^.'-殼î.`E߫zpڗ 7M5𭷵ͺUܭ[k*`\vڍ (Ȇ+>|)rFqJ .,#+" 8df?A?I@v:o$|g^jU X ƹ[|6,d$t,b7_s8^~юMw$v]D@_7j™PL[D w^t<nq\,NHȺQYi!rr^|%zO1LNؗ*…/QUs]*-m$㛠֯\׀/\v ySHoo㊊{P74T֚A_v|?e}tY OKKt]pr?<Ŭ -pQC%V8XB/6mK0Οީw'~"Rqe >gxyv`Aw8Y"GKNB{t6zvg׽lYЗe %<\pGS;>ۜuvOޝ~8iO$d]^UU%jim(ʞ7޸{ 亭FM/rҥ֦^Nk D.G᳭.n\ʩ Ν:Nãraɴ[ N$ev%^°`nۃ˓t,Tv ֜^tL[:k]\j ;; )$ /*{Ca.ր)we:C~ VeH*NafJ}Y%%ygr JGK*((mnmU(TZZҢliijjim"W44ַ\vƍrNUțnިmj֚t:Nޭl]vƝssk)9nΘH)>|"ܑ]"(Ivpk .*FoLl|4sC!xнt+[f-R>'XF;#A14~%Lo %N䄬1dž@9޸βl_6jM稟=$"㣇3MZHAurIؕ''>Pt>-鰤…ͽJ4Z-}m]];UjM[[ߐVV_u`tH߫^ׯmmWFF4=x L]wʪՊުRIVjR->!8ARە­[AGFdL;=;Y';,dFt79i3&0↠ouQqT+<;p&dON-'2t@w,yl C6Z|=Beٔ5!d>6}jLA_ӗ/ˊ:WqXFQYS#wn^kFZJJ@]C_kkȨz܆qR]4Ih]@nWU4 NU_q~8ةΞhՃR;\=+s>=~|o;2?adm۷mݺ=RqsPL4F'b"mu;|ż% 䜜rH о\il,"|tKl ř 3 z&"S[mU<"] ;<095!%3)wHkص]Nٹ';AS(Xo0( z0a4Q+o*C=]:F@F 7nV ;]$􏤜|둂 y6>=33==-)E{Q6|ݑ=n{ \whMmͺ"ǹU j5Mi燐z1 1\睿ӑK*yxzz 5 U@ %2{|ݜ Ux )L G -T6Bgg JM+~?|At.{biQG`= щS:vY2Rtja҄Q uUTT}?z\$:,ܧ.6k)e0u IxS`ZtqBoyk:JijVժK7k|t}P;R?UZsRZ?;~?H;S@MZ|m I;/n5aHYN\t=niA:pSn\o8gW0V;N?~ ߞƒ?}+@>x]Ldq. FsbhujYmǝɗzh[@'fb~I>x_v](NH͊ {wf͑*566J2PI9a\m^tԉ>gޮ4SVF2:<= ̺E*㯗l]oz4{ZMި׌ַiL3CjNiԩ[ZekSkEiAB1zl:'ʎe}ٹO?=v(mۣw$?4YiPiyvo'E<wXw`&舝.nIK9Kq 'g,bZ:@ %k| RԴi2M<Ǘ0';x:1p"N ["*p/` n Oؿo(fc}B`Bja{w'旔iz;z;&&%8/f>rxFƑkW vJgR&:/+T)ʆ{׮ܽ{\EEMR[V׌j&m?U'* XIWt:-ͧsS>9ٹ\eB`p{8$$(wt0eR:Do$|8Q"||wSsD`A;m1$0$=9/5M(7<9E>!V%@nG7t2) Aw LD7l3pNyA KKC'++"D8hjڭh~p;ZGFTʾ;w>;u*#ed8>5=a2:D<'lMMFXۨ΃Kz@ywjѮwtjNt`0)JP[IN5֥457WoƁ˟(6˃14 PdsFd>cU hv z;;^ƉCI{xŅ/y;3$nI% @k`M)&ǟ>) &{) =7zzr=шo@K{b둎YP9eppͻcIKjkJK/7VזKe㍍`Kk:}mCm}}j#j856Kn֍'FR5҃{{xmDb4(lb xcquZw<@&$hQ?uv)Hs\S̢eP-B"'<,sG;N}U⼒yyI*˫Z.9RDйgqgggI(*Md+s8>^) |(gG ے[bJY ㍾aC\+<@!N8ę }r~uS^P<[@+jֆAyK* _@{Ot}EngՏ+KYhFI$I~bbrx11c#*| Ej׳1߱5fw}z bqbGd̓-pqS5̻A;9Ԃ'\-Ur-WUڂnۿ~zqm 7T-xkCtNr`wڕ$ڻ+( C/JIΡwKd';VVy?}T;P$y @#B>IABa4톱{ho㯄؃(M##c;R _p/_-y>6m 87`}V859ЃZn_F=dˎ؄1f gyyyD S6hږNQWJԤ\)זq"Iji' J6*`<0Ò==9'O)NUi jH2Wo6uUtp1A56`O?k߫3NN`;_/u5][;"~zew}Ȩ]gS|nT8CE a,R|'vq_7x?~tޭ?~ߗJE?qAPˤؖDz7|Ë> bCaEbMw❆GUe g̓XQ $:0蝱)[##v]߰qㆍ![KgfJ?|bsgwS> Yɠ5LZ2Ԫ}Cj4y#Ҫf4>;q̴A3ujqb<133!T0]TtcWLQ H6ԔqK@?0d6v#&ʄf>@]=eP?}}q}Ï_j35iC aHggA??`< aN"###̙ƫ?/_ܼt+W. ˷~9| >u[?~_Ix;܅BY,E Wx(ѯḊ+`|0)ҶT|"o~kSJ*gb3ys=n\.Eszx[bIL=566$<@)TOIQR5(&V!uk (&IgRkFQ.Iе9}*eVف%\m&a#)#pp lƍ`Ѝ @82j֨oU)u@WMiTnP2#>:詨hVT~@^t[_}aUwRk=o'9hطlD DǫXR 1YaHb J. n_u߾tOez7?;?޺W 2^ #-Ǵl~=/,uz4xX@ j7=q݋.^v£Fxɼ3yyA04 9g2]==< =<{cb%$frf4y> w&JU4?Nu0Ei}lMS\=Վ>\ IDATr"vWkRMMF3:ZC33S&sьvlQ 6BW@lhR. gpLS瞶ч]jJg1:~*Dצxכ]u5(G x_H0,4Ǐo!eiѷ_}&Eo{n.-Evr"iZVUئ>b*.ʨi>6[^qk^~7JJ7^-Zp$[Z{$)Ma[OX q1BK&%LM?IuKJRWsa!cZi't*k ?UU]qkT3k0A? OG>N[즧Af x\S8q85w26ŔѨU*!@[7 ;׌tj`C*$xD g8ՠ]L&eQ@c7"Tkz&[` &iA$ .bI-dY`C[#*VLzAFT~~=_߮-?{x^ljD[1# ( 먢p$;-תLަwkݽvJN>pV׶WPUۘ}#I識uO9Jxz8acQ\*Czz~VLVQY^ZY ߓ;15z{- Mu~SkdFgmQ;6퀳 㔉H<=`@t4`e235;|ĩ&c CmMCJ F@ ׌?4ߣ=k IDTyx `Y=nC[Ojjb̨Wi&U P妽$rtoݺ5 -'F Z SzaW e[g/ڵ{@?o\6Ȏ,,4:YBI0E=yeU-FM5UU5woT՘ԽG4޹| YN?lܰu&g&/^-CrP8\OuaFwC}*t nToߕjV=95:1v[j$k`M)f?'ޡ;2aٙIؔެTi1BXZ=Z3:8=5} ͌I>ħ0 z=RQy@Y͆1hP`m[Hg4VF:9QP"^<ᥛԝʎƇo7|۷h*+OEw!VIvƮ %q;ki4^T/8P}4557t5#&]ͽf-_ӯJzG.(͕e5U-%bCj./cؔk@dh:UD*e/jt:p&ӎu{Zmm=ix~1瀴iOzZa۳g 6=4hD,Qp1N@o`<009E20ģ-d„2=?7|QHvuW6ŝ-f! SaÆ>堲{Dv޽??~VzN<⿍(xq!% $xٳ -hhiTȻ&mg t/.jkR$+`:E܏46?hQ6:q=7Yohqjp64~ ##CfPրZڏ|p&lg3Yv |3Q 5ΠV 6;3Kϑi'O74R BML'ɱȔc:Fu<H}[;1I4 }Q(}[I 0M}SA~ ~[~᷏n`4K@ hf R mѬH@TsWV)FS28ׇ9?xW:? o-h,`//\>ZAC`ckr}ǫΜ4ύ&@!Uuӓ#C`AUG Ԉ3ʞu);tba4 n `C@)ggrh3dcLu*|Q Lـ3PV t=1+F*IS cGzP err`N: 8A $@( @okS?F}CVQyER+Z06@諉(Hf *MH47_ ^aSA۩6[ԂATݽy:k[Z:;;1"WU#reme\~;_ԮV#mBWSCCjnqBפ4\˳:Ԅ`0*{ѬC73|7LΒ2>EΓ֔q $HO$~t@ca ^ T=P:b&)@U@62@o4"AuLm6J`0j>,|?X-TӦSkDɠ_g{Uͥi܅s&l I$lёka$Dwy*⟛5(MzTʾn 8<:ySOO,儦JgZ{5ihT[?ЦSwn*u`(Z_ߧSi}PAn߸'yw½ZS3_ '%`Sjf-cal$ĉSbHbmQ^v]Uz lhwzZDgq";YqlW6V6J| G2NcWzSZ<2R>IaO@d 8lĨ GY@AG0g *ȀwLc)נit P3>ⓒ:;gϞ%";7o|g񲧵&JSFx26hמ}u4j̗:_54{f~ՏDdFFmԆ#&r*x7[19BPJDNK`$H`,!dd r#AHB1WM isy5t O"Wx9R5Z`0.D##ot(4B#t<i"+#QL"=zP(?.^[ߙ[Tnj$I1z;!uѡHȈE+lP `ш;/d76byX!D6~]8ȟE Fgt+r3͝8>l}}$A|ǕW,u.~K'r,65szez~H_B5 ;%;X~d= ~}ybV1OOwvOʼn8{f+0_x^{5L\{A.?ڤIF3rd.d__D\\G&b "/Qv%EkG "Z?~sLT~$*~2$>e I>UduDuAeY PX_Ba#?`Hvim[18DYgq`m5 >>S;G;;Դ?p}K! | ͠ϋg]FiZ"S&{ y@qƝ'\}ťL$)ѵuw#pV:Fd}M>BJ5^v^ĵʥG'IϿq(Ƿoݺw?^y|fFF?w>N$|ʃH(kr;9tEʏ?|#S({/ȉe\KR7FkUJDt~g(jhƭY%'6P1kyS!(pdRӯ_ꫯ~_[DVaQVgVYr|pUxtrhrrdlfnٳAk*'zp6XwZX/?|R)i.\U҉ L/X;m:t0HWDЭNE>;83;4@3-4Gb(}x$B֍U#l9E}Ղ㩹@0aF\؈ >)ox :]loxՀ/&f;kэl٨\{ݕ9q|y$KMyIwVhJwXA*|=2`-;fk#cS5Ζ.|kW9\WQPR.RZԫc/Z@`zdpP 0OÈ(G_*3\.cee&'{طP+$eQ_|Ax||ܓiҭGBldd6- C/+̾Z,ο:X+ yL~$̄~I3(: %il S.MgMD"/WHRI7ZaU[8 6~*| @Oͽ5u,쿨R >l|\Çum tր4upaˈȇ, NxP|.vG'fO(<5A6~>G1o@zY?:X^g]wMA1v\H_^/#xe Dq@ 8k Wk| nfs'fk둗f]FxXA;1Ĺ.+; IDATYClD&#/.NyX.ƧfGC> o<E^~Dב5O47֖ U/ Njչv2qSúڞzC9Z)>O#`ojm=쳺'}^(zE8pJ]5FclA]6Ul+u8k23kj/(Yf'lf_E_:DP +&^Ef¾q зN1q,UrS{sw"ڷV{w$?/gCdn22n}wqT#S=݉+L<|٘#LMLȓ'i7uħp|t|VJ1؏hcxa9Jk 6F{幉Naɴo_wLC6w^έ"=ZsJ1$65u{)_^7?N{56Uiu` \.O03=XKKm[MM0uVYFd1``W}} /{:: .Lx=jO2XJc>;L:`Cel./y:lċfP2uf1qAŚLڋ G>^ ZM:n7i uuurRҖDS\hzn&t@@WP\\ :}qqee^~vAS Ocd6tznA ~606 ⺽6v\fΌ #Õ&DZ_5_VDRӏszAXbQh`` ch7264o7[}fGUh@ͻ$LREna3й{W "QPW.4L4%?lß/~ŗ++wKVJحF'{G+"tJDwwh{qG>u.SłLeln// H80/pDVqqL7g"ZHñp0K\t|*64b2OJm JDʐTh-zY_Lu޺bD]PYP ٩k7x>0ZV-X,i=X_TS89grH(i:2ox}#}Qiq۷o77oo-9z]< آ.[G%SܼqF;o߾C߿\P.~W.$ӟᾈ :?/|Y(@xQB9@w.^xw)ظ˗/^}M JOye#nވJעíٽTzOo_qacg'Ѹlt#lez\VZnW UZm- XX\mȯLZP I H tt'-` 3ȩ J7 Fcj&`@ϧ?;ڢ|>13?KERe$jlfz59v N@0ݷ0sEY7sAo5nǷ͐PPxAx _bll¥\8_x!|ŋ.PxrP(M "5Q(`*lQqTX5n"~8f Mf#i2J.69O7o~(Re*+U@R.Ԥ#C`v1 )@/`7$СŐJ:[f`UyAyNTuLWLa ,d^R:Vb..*.VPp9ՔO :| aH+!>3{{~-Rͽ͌nAS=7ItM 06I?9_;w/H??&sןG/_WM_~j `#F<| -_[W lGb).)'w6VǴ!xFG{xlvUYUeZbɤ-++fRb^?> bިZ]>c.>5ue%q ggw/Ih3FB_ Akr<2t*sTff&^-C~qo{hh\|K-9AOH{3#zJq=0QJΗ_=>*=???). r}O*Յ7={;铋?ͭ\X> lo><]t^#pC!CiavCcRyv|]1V[@353|UuzP1wC:[WqXZYu >/#(1`f`3J3AF V2}f}{+$SS,+#?d^ƍlJw7'\.xvx7\b/S$Iג_(EM ] Ͻ}?|7g_~+_ TýXxK/ŞE~>G<_ۈ.p˃ikaiR96=a֏:g矶y;;#~EawɃ+*jRVRgUlqZu٤j5=g <LLZFlCༀJ1+yk)'t630f2o$^t 79xH.#\,NMd:row RPGAwo(w'oQ#a5k3rx|IBT Ly!ѕǟ#RW/k¯J _~˿?|~&ӬGx\xwo/q%Yi{δZ^Zz>bt6ZXX]-?_Xءyw$xp;lY2væGJjX+V:>Ęnn A?睟MaX6C]G|te9[\<3[Z3lC&u|S8SS uv,"y1bիb1/N]z w M0r;%T͛S߲mkiT ݮg~  n2rJKa>; ={!4wן}*,ZsE7I?U~Ż7nٹZ j(R,.c n)$wAf[EccWKK/Jox3XiboiRE=1&[,@`5;XHllRGXeP{̡sqҝ߁~ th!a86ؒňd>NNʁZ ujȾ=)2l~&[+|KJɹG;ߑ' ['>a~sK \9.B/^~G'">$ >;TԀR gJKbJ,̂bK gJ:$ZSi&.+-R#e@LFVA8 ׼<%bQ#E0X9P'`@pd樞JI>z*V*"51:jk! 5+ಞQ'>t݊2󋊒As% &ZSc5[,;Q"ʼn䔲IJ0X,?%K[{6޿{=l{Bזw4nm$Ar  dB /J2FNg/KPG))+7=u#->^)O~)'$~Rs^ *Z^N!z}A%ZF§f $3D]Ser|烚7AKʊ|Ĥ//"z%X/ljKEK}~ݓ7n՗UX;K*J !?z=B*绰S˳5JFͧBE(Ltᢆ&5#3ya4>'z#}~Aqa|AӮViAv.h J঺b ̂d2iu0Ho0楣qK)ufU; ox]Vn |J2?ԻB]Q^Rc~ጽgOsoޢ@'HD"b:9"v`>/>Z)J* ŋMSҒ;OH!Y'&WW<9$UO?yt۷#D i ʓG44WMG@hPf3y>3$`qhi F>|HiU|63}{"@gTYT]xNu{ݩ~P&-'B!gYWbnG&;,=eRV2C=AIMM5a!;\;3?(P#^ceXŜ4٨C7Tu 0rZ]5vsUP&DwfLwWձ5\  &@Lg,X * vl\GC::=R}eg*BAG#{mgBdOh+C\Q=6xq&Ytξl7(xV]<&}ߢRRQέ[99OJ}[I?VVђn%nB1q>gݙ%|unńȻ3|/g=["7]4%"y9su-ζggrHer _Y-y!YD\5۬vmxnw?|XWeȴnR¥PI[: }lvS =zXP\RQQg/qY&űJYg*&SOP uFSy*3RGDKEAA+i g+Ru}wؠ:xW}_8+~! i~+''' yo2+]28}W -OIi&hI\}dnxf4&M&xV|bvDYEMJYэ:3ZGQPmtPQTז6! *m1{jk*J{L@O&Lf[e-n$&ޣ- `W)Wh,Xu\7 )y!OAAg.P,υ|D[[O+*4rH& %6WYɱ<L',ɷ[\}F_ GV$ߥH/[-0gKU0ZL>N|IEޣAБceU:6$ft'i9r-ry9^+WjXu JQ*&pOhuxՎ0P-zSL[ValUTaNMk .#3Jwv౻Z3HbD,c5 Q7j=-yFRGDy95:ͬ3s/ `vHLUC+**MVͲdC7i#|ݝ0S~gu IDAT}ޣJ6 %`tc>)wE[oR$"k< ~yx(Y.EΈ&ƮY"ZJ(U2;z_^"QH:TWuNzrDgﳧ==}T'kLLUӧ퀝aÃ{nwL~ɢ5 d7mgsk;ivn()dMɣܬ&4^`/FP,Q93t x8bGh m%pk=+nL ?Ʈl~^'޽L$.}6pyVQ ^,OpG( =z'Y{^VGC.EX;TlF#8UJCo6mH^Ŏ)-9h=iޠŁ`[CCSŃT=r'˙ 7nDhwU"h*#Xp[ T3m6HKcͩ#ϯםn44l:]Vvb!qi*-Ao,;.XA]7rXSO~ 8\˹ЏLiuDQѺhZ)bc<exT*iԋBg Eil# ;/]Y]Y+fI%*;\Shee=PGuZ(56w4TuP ƛlrĄ< ߍN񇘝s : z42lb2;{CӠeZL-7gz*+Yq^@gRndA%H_@SllE MڣVVqy=v"'F4\bS`)F$ a~:q}dmn^z{wdqio.KRpI ɤRiVzXxLx;!gW污)$oΜ}cWfx3T5& F`.m{mhnt476¯`en#͚m{`a r۟307(nAzX, ̿YkX3 6ZkVF"YJ87z2OgNc$hlz z1-7Ərse(o1->dCܰ:%W^G;"ʕ+Y4 7]*MOIϒYi3 y!i zr!H5OITAeNЖȔTQ3UX̔4T¡NkIJqGQVEâ6LLfv(C )X٤ǟ i 86;m#7kގC/",LD|&Wly~qp54 {J_i6_h!؏~qqGr\$HgRYzJL ?<^,Nqaksy$JVgdGTX&@»݁)4T`PlL9hȅeBMJ󠳳yfUUv{Z4DoJO>A^gw8,MT5ԵIʸ,T^J0lp3KԬ6ltlf˸IV6 a3l` ^Y^I{ѶܗqP<ׯ9ᶽHLV;Y%@;:<Y_Ǒ3H ԥ-DOɑIOGy]o)G' (籲]^`aꋩ@2lV&]!) ̥ Y*n >pz1lO hho ={ zкdZR\w,FS(Tz  u)>>ݱhAWg.i^ d1,T6\lmmlAvewQե EC𠮶.5\`p` j"w\P~uؼnr=LuRCue&fFL`sq5ms2 g d܂(LXMUM,k1QՕ`Dpj%#.ѨFWY}#q%dlmvO:!uz"wkq:x\`/KO9L*RRҳg#Laxu#|2?DJzdnJJZd.,h̎R;z{Y#gjh`/r6l$27Nx;ZZ}e%]^gwM @ͳ͎@V$.k;ȕo#j0S"T?X(\V'}.` >,C1]Fts+~1fHPC>drAa(22@s)Yv*ĶJ˒}ĝyz*IdSOqIpAFҏXY=tyyP{8}4ⳆiB mv:jhVU96;5|.!w1C#3-]=f#3AO{SOkGshjmokkrx vaՙ< ݹfADMf5|^xsi5d!Mup )54cvYhw_c,p< u3ux#4bɣN$IrN){G tNԿ EI_ s-!=)!A +bI tcH,Y']z8w#=1IY?J Ϛeg2SLQZVp\՚yKiA)u4Ic旗g@s}}mO;<6C=-aBҀhhģjq{(}ĖF>\. |^˿.G$۬2~7{)=} }rX`@aV;e>]p3ԷI܊FDalpc{*??plI>}r3:y&~oҳ R^tK%HN^L)`JGQqf/҄ un~N͖H{R.́dw3O_PppP.Jq'7BO[[ۚڞ:虝hnEkt:=mh^}m+{jzFcsv@aJmFmma,u)u;}Y6,93VQ<1X]~&O d_JSI8/sԨ+,$>HS$)x@=eғm% D4L:*$HTUe\iDˏE"kx77wtļz5K=ޖgzg<`:ZíHmM6".4FGGkmUZo=j˻[N{s  GB~i9{BP{BOjP@Tk5vOm6R]R!yD 3Qmڸag&b9d#?z ?'9פ~p/.'g}q/ hXtbyݦ,.'##']v6HSsex'S]Ih煢SK%;wJ K4EFk VyʙÂ᮫| L M z;⺞m=O[;z{'Q eGO(݆4 |~b樅hk (='ځ M?^? y3uB[{^p:]0\`=ndK|,eAw 5|6XݢJhۭ?x1ߎxstpx8w_Iؿ뜛W`Lʙ9r3ަgyt,4_e,d<鼺"ޒ?ډ?A/DQѐh}py|s ,f-hnfAhC ? W }/~nKVa{C.KPG,qmuB:ay'#N3ȩst΋É鸟e|uR q59=N9)beqJCgvl<Фz.O*KC" 9){D"qdzN2K5%6 ZmjPE[Kcd^g`|( ­0OnAe}}]]m* 6}AnL&joh0ӂАgC= P'Ji;)WS}}ﱻlZ-k >Ԛ3X;i:[dv̞<>8F: >+E$Y$H[H$]獇GM29Q{F$\8ֳxPS0&SrUUuDf "7;}܈PeF0xN_֦k w6lhlb2S Vj{,]wpQjxFGFQTA<婹QKGn.6u *$5y˻ǍqIѝ[G7>e߇Ó== q %ix@c~+#ZO1Odܼ]3wi)gDSSL, t)ђ(K8/z~iUA:Z9i u1=gKXT1~6 ߂F7[ڃͽ]xYx< P\ʷTq8(3 -`(`\Ҽ`pV]6 Zx5 !΄ښ 9GF$,55Fgẋodz_nrI:4Nᜊx' oP J (.*Ewݢs9 TvF乺I <xEg|'KO8g^A{JoDv)}O 'NIR#Iv { MVkhA#^W[ lmin7-]gφ=vv!hmv 56#WECCσ}]#Ȼ40許1ڑwY۩`vzat;B|'Wó^o225~>0`-Ֆ5nv5x i҆ջ~İd3[g+q6W]]7=>?Lc/_ʮ'.ŵki OK9Yݧ*/x)ge咹K!f)iT@Nxn?< yCOvM }c-Z%W νz k--HٞdGRmGsG|[tԔƺ`J-֓4 ̘vghíxq/ ]67!w<^nرمɗ/>[Yy#M}sfwq+N+w)Y>Sc3g>& o|Y^>H^,YyFz)dx}^ʇg,9tW*h!8JJ=cKX=1?2v>@Δ>k"2D(#gҮ1gS^EƀAb;|7{39F*vg @H"נ 'H#8؋]-56.CdZ#!?Pgn&039B_7:160kFb9ߊ|~9[NT@*'>q$<Ŏ"6ßrӳs5~[P?Ker9IX::G) Jl7sBxTvN$$=T[g,X.3s2npIIJC/zF;scc#phc] ^1LN;L\К7;AzDoD:Ц0W->g f9xNk;Jesxl1 7 `Ύωf[XQRՊSضlq̕&̙Mnb;R4ڎh*2ۼs{qGB\/}_)0] %W^PP(<<ۡ43IQ"Owu$$r)Q? i,ޓèRNE\OJa ̒N2~Yp3L؋wppdp$<5< p5T 9!/`z[9*u J eiR6yx,i ƨR `c/DEC/'g_ZvFS\U[f.5|ܔAY%dY( Q~cR8>IGA?pR+Hx*(r/UV껻23<ޥ4,Cepg^}'x:+)pyEptnІ$\ 1-Ժ`z;= c]4OuRrU]-N^sXmc<  ]z~sʲb3@I&M~rs%ي|b'`x?272rB_cΞ =zLRFޮ3#c3= <+ uAsK2VCjHX_K7؁> a{FoEn3ڂ~OPghK`Hy.Y4B5֎ޙPpI>UV"'7؍fe͂> =Gtd} %r'fq'&_f"f$R0^b»P5nׯ'8o} %4dcc[||aI\: .d{\޸͍o&8 xo!ス=^h:0 >}6T:[CCP[4Ӣ&{\`xj|>Q$am n;\V|>6n䷊t9xemɹJe*BEլ/}LqοY?ʸ<ө~b67+?qEGwHv==^nNa2{ IDAT;o!P/HJ gYEj2l.xOX _@Nx:>K =rW2 3Uopdz+N&d4 .nd/YG#Wc 6\# ZMlƾ B ѩ@ wC4kj*pZHԬVzeTqA]/yVjs8eFYyo נJ:^wܶ $+E|:U6aO;ciRݿ>q^F빅wӣ 'yNPOc6wĹ/0'C8'f]dxJOHÿH8O?O2v7n$vh\Apkp=^H)#C!JF&gGX.P_|{]Ӂm[4 ra? /tiT\:fmtFAlVBz/-%%E.;ms^dE4=݅%BEIIaIuaaݻY2BQBG h8+eq?lX fe}|eT&A󮒅gY|Y\9?4"Sʞ wo|{A"gi)1===̣.(5\2俁u8<2!lbS[k( 1ۂ04A:}[/8! :Z(!T#*'uv@̂.ך˸5k5R4[4G`zx,КA< V&P嗓qT6 漳nRr8all;w꒒j.J`G<IfP$'ɵNwT b!ⷂ&ވώ'20ϭ sn5'rs̥' gEh=íaY;pc576w4BAdQѾ@xfoBa&A~}:fN\@`;z;[Z(QXGkˬ'z^Nx8 p瘸f7NxH))nosXͧδ .ƞtp4Ͷ~GNF\I5}Y'O:$0e죧zIKɲ?kt Y2\ϻvr<8+qgn݀y'yN&7c[C  xߋN =yXp á0on|pR{yF:z͌fl_`χ tl>`l6 C>9`^CV^VVFS% @+6Km?i]-͓y3з6nn..VgVV~Ճ{,Yu'yDT,)] bbȩw6w`HIt\zd9L? :VMI)@^*>4T"= b ˙8u?gvnN;qܶ{Nq)1P6cP}YZh$=Nz⹻!qr緄97VLRɕ)saπ0WL ]KWq/l7ۖǿ5_{˻z?ba[oݽ˭U]h~E==3c47׼ٮPfkp]f9]d30@lGXp@ĜYܻ:,c&~,\MGIh&oHJadK;F:K&մHl&Mg@3IL%v8j*%0i54[YḾ 9d^83ٝLF|Nq.tssGƴy;o[^o_Zƽ{'sd }q<󲉛X!8?_K4E5=[3Gυqjkkq9yfOaئtk).v..;'ܻ9Ƈ i@gDV裡[10_K}BRA>MJ$n8b1]2F&n&ɤ榮綷7 ัĨSUD|||#쎇 ,1HѮWc>qqZQXYATK2p2>{9wvt=e޽NJ0z~@3$z#׻.]6oi,;;in=]2?~bp/[ɗJl~wrF$ RVjx3H0*8opxs*I-.Ѣ2]@5cŭ̼̂gr=,&c&$7o678Qj䓖wFo~6p{ @HB,}ݵ٤h_N{ug_d#)7ZCKCջs?n_8Wu<4. z|V|\LuP@砛~^hJn{,?x&p,|v>%r<[}`sxNFyӽAK9Df-Kꚞ˥^4bXJn8Hn jwYRsJH,n\ MoMOfF]A߼x;8ǜWSv{yc;]a|=$k>r|7Ҽ?2Xozw _ 1e1~\U~oOL|kV~ͷϾ7 [rHνw|uL~˄2/QZ\NHwt1Ԫ Ph̻ߝc/]it~ 4?zjK/VXqgaiqE3V0W3±U]"/؈ƣS=8< [ˡEAr]9e9(9yMt7U8_g*gMeq:x5D|^_cEgf?xOo׿/?3zeQxVH~XqB9N\6nV\}qI:~^WL JN68v|:wikξ2ƕ _vI5NllV84[&&7xC7VpU|A),Pra&IUWU9"BgJY)L$5|ý^ēQ瀅"7+*츪M;/;?oye̛SykJO8μ~^XIݔr_~ɷlW,߱+͖fQy$]Z9{C0v3 eZyLyt\)a,}zߝ3}EwO@"SdR)b1gt=^' MI'T8uubi3il$(HD320lNx8c~HmYuc1"tߩkɦ>Jɪ Й5T6R߼ǑJ:i{o Qg/: FBSptn9_&}).& >{ \hf㻸't{LxܟCZjvvttV*ܹw-LY ;..<uc)O&fr~p̴Qm@ M757&A~`B҉G)K;['F;C!cK٥rx-\e9c-#{%7]fhTW"k& /}gMMM$A{z:C|$w]bg,DžAL.c/P$r6 cG OyOJ7М&ܼY=s?2e8s., o9az遠φe4B̾EV!GmCSABꇂiw2|$S8Va V#'ώڗK^MSXs_b'@KM'-BY=az|t,ZMMU@U$cX^Eyo$".S_7S7Bup|3d_cL7 X"܈ÛG"YJ"Nn$㛹cOAWÌ}>bi]ZQhtBԅ9n0zhdY|ZXػ$+ֺ I>>\]eE>e6w]4>rX" -E4EFDqa_|?w"Iޅ8okZ:ˌO'&U-"{E-TpR:MGτKtT^<.is4&>LeлZ.?xqKs ÿBb{tqg/_܆'6 %MS) UTڔ#Q|=?,9jo̬GyZFƲoOc:!47}{l_ WNԅӻGsۭ^+~W_O^}l- Y^\t , kjhikPW+ XErmm]KoWԵ̌zAn;K Ή;q*ӵdy,늮h*ou,Y'ld<Ŗե%$Yvc!ܡڗ1(YXm-vz۔]LY@\L{dޕߛr,LYAᾮϊp)D}=gHEL@s(۾⟈݌/>';Kt3vDyi˽\\5ι_ͭUt//YJ(fʔ+Q\_[˾Jrr**?k׊Jhβ KeXWWwTs_qӥⲔ7|YXWs^ \Q g"^_rˁe/>`>=ːKYpYn9ona;]Nmw9>Ks+$zל.F{7/oޞj9%cmS.fD罊"t?=8?3qs5U]5Ͼ-M5szV1>q*i}mٷ<}Z'ja4ezK8+/[竫|Û/6 ˀ%8n`#@o{klm"pax,{u/0w[q}BLJ#ͽb0y,EwNLYrdCd7zsTs^mHN IDATd)>,e2X y">S~;'&V}N@OX5n%0e+a*${DL~>&_╊H}gOo vǻZ?1-]W;a55t 9WG|cÃW㙓l Ns?[Ue^o/]wVϗ:w|%}LjwlMmu}]qoJ8tP~ySq./M1ŊL, 𮭹7QDE3yP59$ߟ9e?Mkk),"QE9m.R@TV"Q|ި!nn`}oN!|iKKO@EBfir9jGOL=|~0HPKr;OKfe9_O,-p}3o#WGO z hi7Qi+W.{~S**Z+Y&E_@/}+;{8ov*Ā t՚vI;% ]SԔW*jLvx\A8sy% ~ v6ރ4,ݷÅ5p 4,S;.rp`$ZP\~`f޼-.M/ [--Wc(:';)?6p_Jiap zTbA`=}bj<ͷi8::,)rb蝫^АXESTE;&?tgŋxN.B{]xx318t&٩m?by&엞KXzϴ&^8/J!Wz,a\b `8kc. #phxVWԻ w옺{YrWY Ùh۞Ki뱻^|{oژ#߿I%7n܀4W;jΝ\2-bxSo߸l.tfEE6|lmE7Ͼ~z wpWOB}?6 4t~78;<~Mѹ)SLs[^nm7+IӰZ@W!&Qk v.;wIM#B,&aͦNNDnDk/D ^xIqxYnDd=+ECLEy^o ·})P@a=1^΃#'"`zv,'L|n%^. :=.K 88嚅:.8m#'d3APWk_kLܙFN_|9?oX's_ȍ7j0G+nfg9||||HAxt'wBci:ҋ{ZDF+s9c^)q?[a0p9X_ȻiG_[!F/{cS[[Htȉ+Ձq p"-jAO^)9)*iRu/Vtͻ+a;wI0nN}>.BN =d'Y]3iNo_о0qct(:,Ѓn_1Aa禌.2x.qg+3:446a}Iv, dJc k,7q#!&憹W!<2x.AW=[q_|R[%cKGki4!`i¿WCzu=ScŋI@}8tf>k%sZPL&3|(hJiMVӺfK"ḾP{KKސ2(ȺAM9h]i "f;NKj[;66$Lk4oA9#Ƿ^Abx8_Y+C+\V5rCz&~+ָ'L\vYr=vz]AoǜGv.,P!!&yYMӁYWIٿ)8"^hDp+P#c+"ĊbS?]a5+&J>0<6C8G]x:4/.[mv1K8&pQ7f~+Μ)ɗ^} i&Bכ񜡽Ao[ɘ9j:wJuLÙѽ۬(ykp穀?ĽkeԂQ]qJTsF^iG0n)IՊJRT梇5r\ |.u-XyLѠ 옲{e8?7VN|riQ0\Ne`>;QXSՂ P.?*#ziv脃']nn3>F]6޸, cu'9eKO%ZErY74{2>3uX7Fa8\|Iz\j;'H x/ɓ'O~>͜+6B7VgHM^'R8y:&lnQ3qi}LYpZ yd}'k[x}ek 5xr ^iu;Z8@8F@@ÑZB!|g˚WʲO(H:8VT ˞Qo9=*^Lˊ$ doPN{ח>{BI8nxqp+<[Z.-r LQ8r|.44Ru)=_/LN?/Gq/dr@S nt'3};6 e091!|;ù;Ʀ-؜~Kf<<8mm\g8'KFG&}t MpT*3vM+μ_7a0tª/ך ;>㶐4Zy"_/hij̽5u NIrԺ |ac[ z&Ie=526(zx3᜾s(|Drf\KsifD$MOE~alwsԹ Bȵ)Kvȃv&kKl;x.jb8K#b?(˽c .ȉe NJ.˭iPrKM f Ew㖚wZ-33#7nNrXv{GƇOBwt\j%?;Iܡx=Upyݎ9̭av*+q96)80qH$%e}L(oÊ&N'j2P@]xטpԃIdPӵVk,z캜$< *-L_gc~y)9"vuuvĕ Gt+il|bRl #J&sUȂ#f:1b893G ]}utuNOs%a`)#:,]xR^UU%g}x 'OvU<uڴtLUMiuJLD_ '4JbYWXZ,Џq$<4Ǡ5N܃A;O B%gnarzKǖ \%'ǯÃb;#CK~UVѳ{t[O~㭊jtڼwkoã=bxȿH31TjKuu|uyH | `FO Bf7(Tߜ YVr$(vL p[k\HX`u5LㄊU#(d&;V4Կh|e3LX B |16HdJD+2oda^5 "ʲ{rG G ñ%Cr:Y\ohPl_Z@q!.3XLXxH]IYU҉wPbr(iz0*RBJ_6Yy0G̈́=B6HbzzmgPMjP˙Q54wS-Nu[G{M;޿c{\XoւkkWռ8TՆNߟG }RS^ƱU5ܼR0z3gξ*DN(2Y@.<~2:TtyW:qf:-Nݬ^jFB626l1؎ DDC.Z*,d2)|1Q0QRvMU5?!?ІqCH >ɪ|=efCyB)ts|IC"1X(Cxx?t&̄hlO5r(WMbpsoT tE=#2zл~|U͹E}w}s!GqL'_jhᢅ ( *WV]Qt/3:uo yb.B<ԙ0xh&ZFr:q\ce+.^^L꛺XP93t{SZY]݈#үnld2aN (\ѐJ|ieY#Mr &eA!v-9PRr%bt ˫0ۙHXBi'픙.tL9y%*/ 4u}' O 1qs?}y`i&g^@'F&gzl|fCj1G)h,$ h7uԪE+Tះ'V=ڷݾ ᙫo٭ꭊ+yrh/©S/;U&e1fN^\Aۛ Zt (a5\uUUND`V*)rElF"wFQptgEUBAwp@_pxuuެgwvKA)odxXԜBח2i hvt|k T E@v/*~318xԺY @d||KXoU.#Oרƨ'zƇLyU~Yz]b+ G}]:ӷ>{G9%=_}XTJ:4k+LAgMEۧ~z,Sq' EΏ l@Axck%22u"CWr';QHm07sqqWցkQFRx;."'xx3p\:e>[OgjշRoHu6:v_,9DDH (fnD C. FimysreVg9C~vrY 7Cca z_^ґAȴuNv,xDE!({nۂօŢkP{ώ?~;߷]։^R􂿟U l66E;];gξ"/ǟ1ւw"%Zw#5y:`Ujw7Uw62C?Nk)i/x<>h1<5f3[ EV3Us*B!Cf]ac022yu>_Ji5_==8yT@$F&ñqCE.L^z4e#rfgZ;[;A'Ř9u}V[oeWoX-[7@{y/4epV:pnkׅ?Pe= \<5j[P!~H{us2*LWpLř߼#/zUx .n `cT IU|~Ӿ?zSQ!39#{]k)y}r)A)B)KNʧDLlί@T.MK>b X I( &DyCdd"u<;|Ht/<*N*Vlot-̺GG91T,Sv.L_iYr-pа: V6 @\N1W$Nq]XY9{lsz\jv VE^r&b}dmd="st?~+' uqc*F)o$0yc R`|m'R[p'ˊlZNjKhPrlfs{c;773pP(F%(9=!mE |uXYҲ A͔2DK"YS|RGc1yŵEcioם0Lf/Ym7YAZ[`\pb9 :{2gbrQ>1~u[3CTm\]tm.p8E-gf, - vo8V>pνt0la 55\ vjK+^H̿dugμyG/ӯ͈./ IDATZ,2[ER]=M4:qA\5 WnX[߄o:Q(an]D F"j2KlR]'TP9seu#.DZ\hh5JʖAewAT<R$AJͦrDsS248 <% F.׹[y"iKk{e\ 58=6O?9=8XrAvԄ.,d7wыΑ~Vz]|;X8UWw"m4(R:&f Hrt>k]dwPEI27V1i^@hNplMD&I&A$#>$AE9$v3Y}c"|I<.lw[7`vt*5wZ|P bR#s? 9Yz{7qƘ4/zCcw,xWGxdyh{cx)q6lͶ013/-XlVQi͞ MY4\EO˯vuja굢a6; \lcL;n1b\bGnwbS'Zz(Dv>$F P(Zm0A+fh6Im0_UCXzAHnKPa q%W; 葃k''mA:|ƍV(G !mPd3˭4\lj vg~ S^{ LZfR.J[ʙqf605;mt6CR g vۛŧ Xl$#ɴ78aDl6I3HZ|^ͨxF :wg`œffppx؛$%.N ̰Xp nG# l9&jFcDB +wV($tN nY\w!cAn0G3ʘL1 ]^o1E3bu˸Yw1t)DaT]ͨ!^{<3zvq)A1 eY,LpI@ AF~֍5gX&/нa̧o0=wXVv.s@hEqY7p]/➮[`b?l$`o`;n^1|U<,OWŧLM :~_nt=G֗|>H,0Hq¢dyvvxYʊ ]<5^|` +V}Z_ z$i=võ^{ ''l<(e }!pC8%ÿZOM!y$I >(+  S>>ݾ11i~- lFfMYMC7sf/ aPoeDvWTstY{*f^"ڬ^@`X[| z o aP)QOeMv~8pXg.H^>c|M uxw蚝,aQ0n׏a™ERgE\y^"Yx3jVQ9lV4$nxCmN Ϟ7wۛv8؎ Xb_/?=(ç;ES, `?.B'`i|M1u$sHxȱՖTnZ6CQXOp HsDzofoiALϹ2oaAdMAɏ=.- x\Y} 2KՇ>|p/D".mAKCe:9CVRe 1h2~o]e8>IЯ_pӰE=\E"_y\^UMڏO**nVGֱ@$ lKk(x {`LE-%3m|abww{3nrv1<4rH,CXGg̳2v&{י֌Z˻4_/C]YjE8[1 6Af Ԕh I7'k]\o훙v fs <n9擽S Iob XRT'ʸ6{#m쟐#!52ht񃾦kt?1x$%C?c2lVՑ,0ѡq1]K,EdBu^QC䆉#ͩL 1cP+: E Y3g~ۋ2o_ۢhthhhmi "ÖK}}動p^^.]mi_ OP3R </3=\ЄwvKYX6%^ټiy=NpJ0 T;{;Nn?gE,%^i P%H;cT@eMˈ;WjZ,BպZl>Uy\f Yopb:zcLŇ>pFlκh$<Ņ(-odԄRڍݴq$άNjHle޷tz*-k^{tkͻ082ɨk9jjNbqK)Vן>43rxxnyԱ,qW9\>#"R2B5ݳK^XիlD*VnFq.>ROO2_]Y]P#n`iM0t꭭sI"N/7.mGGGեώ|̰?:a1$6tQ´z1mFOG}Pӹ8s`aKx ^K!eJ|&&|&ϛl3K8 Xx-H؀$Z_{4cO93GnĒlPU3|:.@a3ǩӠr#<"[z23=h*J,E^$}1h'U?RbXZ4XvpWܼXb51\:šEPbQ2{IZ8B岉r\ `/ gϛ_9袏I jjz>GR{n*7TatãPF-^)Sޱ;">ZKCQnC|3G/mBᔨ֢'Y6q s|Lg_3paFo_CFv[aIjל/6+zTs''FM/2rpӏRC x/3^EgQG-[Q= 4YvL޿)l~0s֭^<6Q"L| S؉j^VW~~S,p9v(Njzy:3ck6{[fZz!~tx ^(J CEIO [FX bTWb^4P33)Ydu'󍬹$MIf5뛛-,&HZ"La赈Ni 2:MzdjiR[+p c\1/"tL.5Ax1>(R))xZ!GLCYsE8Yu&|ɍd8wp676™4[{{٢.Z, ZUVWWW^T1|cbe1fҍ&=}WuB\ҧf5ye>CԬ/N)iers{95e8k W3XMՀ];>Z#Dy^W>6'&UV2^^+7V6ڼy~/kCŋX;;[XdٹRM3K}M,EL,Bw m~TD|.ؘ_H0fpP!E~~!F=^MeU.Hs@lue^V "][`ZVMz&k!h|?`d;C}qKX D8*"!Txur|dlda:B8Ώ`=^:u q8 ?1422X㷵׿7{d_⥟qgttKD7Va8i#OEJG;#u9dlZ{6 "| F J Jad`cll0e;.5va$[-?)wB0]}yz%% ϤsEU#ur~kO({{k8aKO+Vi86fuاF܌dbÏA9`$H5&~6;=n?~lE\;}M[7蕯VǐW0} @g+VQas?g EkoD^EϮ25v W!%EHD"8 }!hԋ[ N)B".y;?u*Xi!oOW/d]ؕtDQ<#kDW_ *zeS[%哗V5}S77a>v%N/rΈGǾx|tjA%^K 1rbO8#fg#3 jLknftJq05 nMrYj蹊7`:ZQ WݪsVn7|z֨bɼUǣ 0Wj/DWQ@.7N ZJ6Hzż"-k~<'ދ7t\\N[>OwkE1ILDf8{mkySb5M,eᙝ] ݷj53x^`C+# G;+3.Jw@F*sмWRoH1.EuS|o{2?Y}=Vhn EQg957DH7t}๿”(au$M8b0I?mM˃ 򠒂l 5WncմFm֥v6@{FCgv0̉z>WN^ kwUml,F7Uv,$py D3H[)zB*&*L4+e8d+U?]<|հZ)29g@|C7[[b ?Iɢo*TH2~A8`}ƆySgtϊVf0h~ }ϿA ¸q [Hd/w?ܗf0]z,Ȳ qP6fjF.c 9vyn;s{L&džI8}j6:6QRx+'1z/YgœJvZXڀ-u9SHNa$*VMsL\Ԭf;T$}0Z՚ Y6p ̼&띆 dͪROh9d*UjQav0=O++PJ/ԐVl//XRO>KUG} ZЭ8`U8@,3w ,.6jٷ& BmV'c4776M镛^w[)bNsBi)Q7u6xVCU* 5jX_.d`8 q T$%'Uk&2#ْĎ%MEYanӛŕ?\k80dJ$+ I9Hlm:}Nzymuƿvwn>_=:S@*w\^Y}KrUy)u#B!#]e II1ޘ5TRU;Πs.:}{3Eb'(J.Yu<DŽQn1K!'sFZNcnxv_Js)i|t Pnݚ<6#4fɜ}#?o@?x*䙜}P=,Fv;nT֯3e%eZօ*4o6D7݁oC^k47^Y%lYtD+8Uqf&vV / <7s*XrpwSS˰,sWyE㧻K Nssa&9)nF@dx4v9qVsǟ}ހ뫫h;>{StΏlBVq$H׻=t`} bG .QϏђ}O?o{w!'ͲNB68 Ǐ*&vK"Zg-ɺB=/1ȘU2F9m^5!knz~yݫ5\5Z8ѱdR"P(k^\ŚLgF:& J|lWIB&m"9,N]>ƍ u֘!`ESeA**F=4sN*0Esō=7p m!EH{gѭ~d+!mO\, RVۃ*ס|qT=b!|!ɻX&cUU)N)$i_Q ~?vZXn>rpbb751rtj8dA6çOLOǏt}xgwrhbt/6jιىynr(b̵nצ٫+|YSߝ~H4Y@s4aa fem%Wcef3.4NS"0y9 I[ _.iyk WaT^I({j.r{xn}q}"txv᪚nefl"?}$[ْ3 ;|[[k.7@\e#qyGG>A:vr&PUI VnPd\N(oY%J$~ 1 lZTPmbhfm#VD8 vr%=}G?{x{X3H-rj$V.f;tV3:fkT &Ly M6jNM4ӄ͙$hY-w\tUjj6[A ʺvvMBH:x2;/߯j \ Yg.YJ*3_.Bz*Wxwl"A'os9k)U ?cR%INē^Pϯ̎,˸Y=~ݑ~w|88d"ј޺^$#0*#tYԤ[^n{7֜.Y+ԦGơV}jc@GFaYl GA<{T{w};/lMMX'  gEQlt=UVݻ1zT OsO^@f#ZR3`t!d,cEEVj}q'OPՐKO8S'W殻+N-Mtreދ=' ^ 1w﹃Eر.q>^g$9E:S2&C4u;~lЧ/.pڧG|tjn}XT*;'NB6#}~ :~rbl|b6meH>me+aۡݛmeطteYrF.grz.1ant jiPK$T|ZOz(7&@plJIg =  v=Qbz> ;~wL9i5 ].| Dwd=" 7EDGR8 T{/!tFgÄ6l0[|*6 _=k. 9>9qa73%ˆ"SUUPw `ן[mc264ʑ#t;36r%Q#V me ph57f۾tF5 NCҝN* 5Nۄ]f%o"+e.4BQRQkFѥ8{㟠U$ wW ,VI0vYڹ";yөi Di J%rE_?rB_ݢ=BA3b^s-NM>a0OZ,&'΅JL\b tV &Қ){:g֞KYlo3:4)\Z3>6a2©S}.l?{uq2=ìܔݪ3f)<[,Mot=N]I #WN7Nۨtp}z,5`Ҵ|B*Z4q*3˯YF_Kzk+ɂ:LД <Tg t, G񍀔倁U-l" 3"_%cbj: m\D".\ZZ_~ ΄ 挚Ţxr#|vы }|Ī%̗v/pRoc/jW y89$x1a'J*FQ-dD1SȚFYz)APnu64~>33ByLڨVr;\=osi>x ܓW@yYB7r^~Սz mºz7rݼnC됡ʪm@*G7y\h(fMgҫ[YuU֘7 U)8;*J1=K瀽i^F-V0$)9B$)v./2"3)9 )D%q|2 =W:B/MP W#'b< }tlyZ]= ހ/K{6 Ǎ51-G%3oOE۝z(53 qyT~z~7vV>z맋_r,ACf!48L[{AϦ8q jYxb?ЏX0d-$v|0yR(WX}iò7tYBb-o&e4oKjީ7^s ?WkLpK@:ZLAH,nf2IEWCe2r̡e⧕l%.%b^^eѷEX53q,#ʰ7ELx\ҍ[撩(~Ϟ%r2)[@78S-_%׽F]Y ǻNO$>syqΕxٵ\*eMRa9QHd xw7&#Ps#~6: =bubr0-rhjj'OGkTӼ7JFnްw^sM ެCflIDMJ,7Ho_ZU)Z`N֪nL°)^,|IG+fl*65ZXj6JS% H,d9qm./.=b:)>vC96NCTy]N)(?EQJYnuA:zrxa?aOQ4="xGZ -eE%rurNϥ/6UUr;.#0V`{~/gRt֨WfJqhpbl@W8H/@viGkٶ\JE3vvBFY&~ nH=Wp:+9x ޼ݳ >=J۵0z_@%\4>$w:f3.Z9q{A,m<oyoP>>xw&;@r>۷^`zkj5'v$% J(m^ i;iu*<H\eU y*N9v8BnGv ?^_EqMT-{ E osViW!Lp;55:o~pj>!,նMOG[z߿S$sn8<1@77F}[1ﶀ!?)Tޯ&vZ0f&ΰ(ho YXM *Ɲ?j^hgEY̕v4@vC*uQ. 8~sG`&a?F30~*vazSHڀH( OBcҷȯ )P '/˲vru0(N}xT Mn ԸwzsZ':>:phdgFὭ_߽{Cί?a\ڵ00lԿ0?޴uv۰) U3Pt58&6XvZbs٤Y'u#;8:):x 4)AYM#I1 i$Y_ LbGǹ4?Sbu:l2 ]e7?yũZQT!| X= 4ݦdo h>,"wO}q }~,k tϳ3,- D f*y:zaϜ;"[zV 19V~l_p+q+O$>b1AJn8IgP:x.E?y6'I\px/^x^ATMxa;C!=:E noATU5|q=5(\{ pYUQǃb8ٹ0~EGzҀ>Ti[=0^V1][@ӯi]txR<-^ny22=]/+7!s@R@>6ns0f͂Ͷsps#ן?^Y3,bY(0働'vKc̪nY~|/ )ȼU=mu;YE:fӀsۂZfh|]r5VИ1*3˂GE ^,M`! FJ^DV$zVo͆,r9-+BDQVO@rod?ؕfGø)P(P}nHh4$sE O=3|3s$ ׹ Y2tǁc`[qYezXdE2v;<*C|.px7bЩsگtj IJR|i@wWwv~o4T,b1f}~hyp;A`Q$I-}O0+Õrl GI^`{77Lc~mB_"{xf\0ׯO6ab^uttƆqڌۘfԓ>ރ_<&FڗwnoF=Ů}Cnvg5 &@4^\Ӎ{h !VU$E3 *PT}XQYSDyך%?~v^V\ЅB)Kɜ_qe(s0"@)JԍsdKEbx\fYa:Rk9`wAIk^UvgV^8q=&SۊEScO/g+onUjVf- ;"@DZ$c,a بjtudd  #Ag{#6˳0i;¾;Vdٮo77ۺs*EjZ o6:FY6%kV+J~|Q voytN0bVIL.wi7iMdG$n$l;P"e $p/a.5DhwϏM?=76n- *8>$_GRnYo4:5rVW\*\[ Og`m%rt Fm` OLJǹ|uG7s<uip|Miv׿uZ?wL2Y6Zls`&V^ mJby,'O,PUHz˪'WՔ(LRO/jyP&D'M B33O}D.x#ƹ/)tܻz];z._osTpF yXWdncL9q ".q}6hxf\ҁ4fm͑ƍO1f35]!=3mw77;MωOyilPVj^Oy3[iDY6i!JV6)]MbgWN5gX \|UQZ]P ?ܹ"`ܿm{2yTޤy_]u/q  RPc*byT$~XHr&$疲Ktxr~۰Ҡnwfvvi/^ Bo>{:sFEOeRl<f>߬6nMo0f0}XVAt$3,I$elhJ]5*2vusxj>ل5r^amX*J^*@J@0u KD [ [DרBC bT0(w`WjXk9&3VT/t}rkN0H|==N`B3 Ś2`ـtv)}ù_^z^Y*V?zKr7۸69fJ܍RG)GO=Vqqx<{`O>y_ XhNnZ0p?Nss{1^9B=׾6Sc ͚hZJ3(ߒClXl2Y5.DX42clBr@EnJe[x{r~P*װFd)qDNO"A}~~i!pj^+H2Z)/~)Лo{ttr ]eMJT1+B&m}='O>7w"'NLZmvϛ{A{FK~i֪֠Jʮ 3HT@*zƖ?4ՉZJ? [_/kbךutPfYQW9~ƅb). Swr^z BWS!kd,H3s/غ["oɩTe!du;'xG~ΫW( mn;6.)BF x/QQb&͂3F\ig%)*Ii9.[/^{=^?_...Ӱs⸉9)k_Jչ)8x i[S~fe4 s>ou2614j[^MLsͪ/Z1, w?P_j'p,GCJcjr)@4iV=ItK&G9k.7\ ڀ#r4wl¼\@#!c/4kxbpo{|~gu7N^faAm9C/H$|pU+2XVW )QNkn }+G;ࣜGn_ven}jtbv~|lrz=+  N׷3@; ~21?dn:ܯf{o8&SN4)8*H)43e#% P2*vOxUF%{VhͬJ0gVt U }_pa݀qr<5~0Ex?+o.Rhn=Ľ=+;H@.̈;gN'OS_b3ap&|=/ۧ * p{PNU]8G`?Ǟ;"iM|ژR훲& Fy"0m=NS8|s s h>4̄ gz't[/ا\RqvS@t#ou|u63ǸB94j9C(-íQS.Y4-:xT;k21I@f-wcNQEZE:yD3L8;`SFrDSW֏θ8qKB3,dr2H !xPͭgk{Q b(,K8XW##ڽtw;@6֨|چG#g"PG*fxݬ*i _owܢh*>◰# ޱm_^.3:=MkneWFFLOǶk{ok'̤Ɲ Pc74xt os` #ч.mKb)  ;!Y/o5Mȹί17͂/Ҁܰ]39~tC. MȆ 6 W<]__be೉qG?~צƧǩ,ġYPy߿w32w f\J07zl׍J4^AR>;'Bg_C fS*?[|4 CY۴lmm; m WN>;ia- C .vav69rkfQpi2/ u)goP`GEА 4뱹3=<2C܉;렬(19XٸV/a\TO5"* UNҬsܐlǍY=O6ؗ˶ɱQi·lW刲ifFۏ|rgwZ?]4}٬ЙOsZ9-5 u( g(jC73 MB:&Jǩ!X7km eL]T]tkٙ FoI)*˗˝7;N B>`'[<,f x =/N7 *aFctE<\t~'].Nћyo .<{`Z<|޶_pAU5snt(bU:2:JL/%#-Hr^58d:0=̴9 إ< ':I%'< c07=|s5'생Y~|Tݲw> U=>z$emzc_ֶԴ亮 [!QR:S/uV֗w[ 믞m ړ82tk4(p1!NoNsOIg$NҜ5ρy=%e^=͛W+s+ cG@2"+ 9Dg@x *m˯VF?]ȜRmA-lV9pu M:u\6ҵr^ir དྷ_%ToÇ7Xa,sJitw*u|qr&)&6~[Ʊ/%sEw )6g粑bjT-E+@n可v_~^~W[>/k4di3J~ vT\gwVC~wжK)zW+2½ ŒȖ.ycmÑUUuŒ.9KjtW%YýSAխURѡyZ5t 6wdʚ.Gq)5z7 >4>f'1jWq`!<pK/,S&cqlJk`Aj:%(m`{ rfgϘd_Oύ8=U] : aN-G}} QH}xrfz#HS#C}|tNZMf]uk.G}ƪ׀j ziYNVYJ5 ٠TUR1 K]nMv:nD׿]mٵc{ujjbIcRSRQ\exO7ւlx!UwÈl9q!%\Y :V=8~~zt _P@+fp#G<$9'@;"ضK/}>ZڴQыmȡjKYH~' 5c <ũLgg+_:kWlv(z|djbfXc.GVF>|_PnvW'~wuL߮f}Ϛm"EٸXQ̉ku1nʉM-e Q 蹬kjDipqA ot< RH|}>͎sge+؟oM(i#<ۛ@9KZw87G\oCRoB8+aśWyxr4_ՠ`!!* 9ApT 8RHO4̊&{Y-2G{|qV#OKwyi~~ R񙙱iʷvxɱ|}bbb&g\ħsv̸}O>M镛7f5w;FM8Xʬg2zIDPW R!s6ilv5cHƝid0 H^XomlbZ?pN=P$=p[OlXYGjw[n~  -n䶷CqY28=đ`U)rvEK8N ~Pu?].oZydjjTfI쮘")j8Y"J$ek |.~ h"ab&$oQO IDAT6pY^I1d |(eܐ5'>1b_TG&ve?,CGAlf''!q8Pܶ>87Jo{@ovsgvBj;OWv^Qڀ{\ʼn?lFΥ8uO4ua@y;2`3iYNZEy[NzW nHs(߾x \tkw/^j'%AwowcwBBE8luoqR WPN%ETeۧp x8e|Z9 .;s O]2+*k`j>PANSpUKePj#o4mlL*hLqQ.69=V2M Yg}>=x(^40`ܳ0714(nf1:>dڙX43%L^gj.IZԛ\,+ XIK& ]+)|( &f@%فZJlEuhǞ߹AXQip\l.|Wɴ g |m}~{+ .'j4_*5ZqdUom!9dSA8΍.,,}gn\@kf.w@ Dރ.w)+B} ­v 7oh8mw37x𫯶!nZ}iD z: EL9 (ћ_HnKzN43༾ 1Csn*SeX"F * u !-_ȇ ^rǡlW:W2+Mn%]nzɹ>t>, }s_|19<37<đsfm  keo[ٻmuYxrikk|^i Rpo̺6fv]Ng+yk%V^p+n4»_bC(L61*;OOAT X__EdPPa)M1#U>_ͦdchqP*^Gd=ʡaѪbm24נd.VC..rE6Ѽ{|NyCUGeT^TӜb*߾2t뻫߭c_&5c6>1j2m2b02>>70=hfum~U7[7jd7܏k (Um dn]\$L8CzqDJA 7H~leV>JL߹qam36;n~3ΩnRp6wV^ S8bo[L.W̗z|靷;mOc514C.!pxTil ڢ؄RI@ O/Y:&u_Z뺯W ~g4 NTEjGPBr2(Շ|t.Ń ڼ3B*TB[2J#C!Dd=vjsU҅'Qhe|y[\S~=O\;J'݅#f6ͷ̾k_~z7 8oŶ5xMݮnqw{wnѧzj~۵.8:;c1.Z[[׶6Wy V7E{Ͼa'ϾEMLêlOi{:gPtx\k4Vyh27lpՁސq{b6N=lt#.Pm`]ݽ%8:| ;HG6'Ϻ\ > lVV|`Eɝ:~wB>MF@zeR+Om}J& nk.jR+!Ul4_h b&VLDx/'ɾp>|~G0I9 9@nZ7kƃLe< 9hԎ.E7Y~okw&0qKtp}ۺ9q"S<|R6./߿9<<,K--i0wy^Ӛ*XA6t\d;ag>9) u7lzEfgxyAuKϞ<щ"yj4zV `=ΈJQ=S vq[7-ާ #d ٺyꆓ  9|M2pqXC⌏ineJpvy/C>OLfQPͦ$8HXeRɨ0y5le{m|qWW|o9$RQ:Jz3M'8L o%_(U(,}Yl^|;$X:?:N^Ͷ{w~ g0y no̰ Z H#8"vyc-䫅uWC*:n;Q_@5VP٠^oq*a|FW~|dfWja7lX*y7}uMpF@i'p2'N f x}d4GǫRJ t ?9,ӢΨ?(Y9?y2`*K DNvhn2܈ʲC%B Yc ?$qMIRf9`+r[Sg"*_98$x@𮞳KTU.6ˋO;Xp1a8uBHɴhpn)Bή͎MR,ۣ\@AGj1:Z~΄`N4_Y#HFW-9p;țFX1Zd=dZO BAƃC{S;tJV7Ak4l&CP޸3`k޸pw}wfww]+279ym(bL$h\ GvYDe#Gsr@.Nk l<"X|S\!%`ǃMV G0To4E)YJP\4ϰ>2SP=OӫϟwRB(8I, E*mw[T8.-qۭwhxxĴ.y<`pm1mH;ҺVrvwRiBv BDo]5+8?8|];QEgKb;SfoR~=3ږ6W-M:汊F藺+b9j {^rj?w8?#k,.fYFwrB\ixsz#[mdp\Mʪcuyn.ݔ]!Y؉%s:{}&C/(6A=odc2DQX@CS:A|{r|&/] Rj%\!ƷZ &sgXQr ldK3y_?/-=}LgUK3s ag.ШYCzon"~)@ :<%=vFEl' w>Iv9hGB|L記vK0N)>#Y>;I6'pչ$2t++N$DÒcdxNP8O9}E+laU9]N lL2"atnQAn%g>l\8"ofK w`dXh"n 9a4CTnnO饅N BA; $)_:ɩ)a3j0WT)=U!Y7`^=5۾Ϋрrƴ_ R4 z ` v㏸Ef8S`? 7N<O64_mdސ$:@P*upVH˅:B~4Osz44Zgccc xNAΨGgܫ5Y,+-:M/F+%ONYL_r,DY#ΚgLTNf=/RL<.u[U,g~T2a]NgP )anÈ55z=/_4,8XqvA7A$N'%W"dVrroйHr\|Y[\$WvqV ^mfΡzfӲe @baa9hנ7f4FB;^h<M`YXN@FΘ ̍')~:)vcu{|p[@q8oOsuӣs5F0XX=*Lkc/د {N$m( mentY-ݎ[:VZ %"RU!8 D!+ƀ|@ㄚJ6<A;Ҍ&hu_~YG'NAx,ܼveѪ$.q6Lpp/[ 5^C~p_>.|,Q.  `8+9% & 6,P bdѬU'G|ιCYVa_SHko0+*{Fg% f<%A\m_z \p z7c7H.Om8쉞WaDҜ1 aϭ]zA;QޟۓEHK|# V?1hZ(̌ljaހ/`̀ząGNp{@=I:pS"`<;׸mfɉg)6' t-WK[>l'!p=+N M?hVTMM,uebb, Xgna2J}o./h I҃R0L9U ;Hby>ws'hdty^~f'+ -.&sec61_v' jv(9xi\)`Ŵh}0aAæEoq-98st7pJd`9L5k~}{-Օۃfp %R̲͂9`)?ahhxԠ-ڥ%m^kf 9 _/s{8r5$q֘"n 꺊24\gGTxȗLI@J턬vxg}2$gҮ$$kkvˋ/^xiZf[>DtA*K~;obޮ0f*I$ZüC;}`?^Z3z(ĽK}b & v|>%da=]jqńg2_Pp<7_m]˟nHlX.pD,2"M61} LV&ؿ:c-E TMSFnj bRQNj͊<z_՜%+nݍBL^k VIDATZgS#/@=߿ivC g/ȂGe5y3zөeDo `XZsE}|Y{JwՙL- _6viϟ lu{4ut~|>6Q-8P,UⵥG슌8{vsjkf>l_5SY?Mo?mj0ҲPά^ARipl]6>of?"eް/^6>?6MnY{sSr>{n93tvl߲I~v牱G!@؆lb[.9/^zxhZ~''|[|~|l:VW}*.ϖf@U鋋f^8y48`]d N7Zof~Ak/}*I!9%eټ6@۸n;XQi݌ `n..1 8LLQR\O"dYii 8lʱDI)_s>+UNRS{w2kϷWm<_67+GJI58ɆD"?~/=1(|Táѽf8;(BE)r*&r1jPNX ?]XU9kEGE;I\"וw^UAĽtV0Rl4A?n^23Gk*֠VέY$K!b;.6|dlrnpQrؼ]{JުAV_;< ssR:89/ $KD]\cddg.[qkatҡОߺmE+k+8'[FAr{?ߴ_bOdVo=a\n_{}&*#xďh4 dX ̲ܦcolHxgaT0:$Ż^=WV\:"M;^6`Or{yRj*myxV+q- z p9,wChR!pd40>0ڃ n\6kkb" w6.Ϯ~]K&C>Qbse wڊ%tENͭӜ1jUY I69H-l6Wylu5ReNGxoQ+VfTN9ǜ/ߝ_O3v9o.ﳗi0Rr&C$NES0%QJ5'ٔEؾX+uj9x98{˜Fn=rm j͚ݠuq.ĺǽ\1,S^cr<Xƴ:-ɰXU? e}Kzp ͫxq96? jMuQd@v䨘 (Ȉ1\(Y!(Ft(0o< SlΈ `<dC ~@.S?}Tu:DLUV%pJXk{}I1޶KB6-vjkwz  f FsY48BH>MƧg`!ZWIz#X. H흼/nGeV>*ӹJީ+Q.x<uBU"ީ5:޸~Dž ynz֍_xým A}` k4n@0)IENDB`carettah-0.2.0/carettah.cabal0000644000175000017500000000260112150100015015417 0ustar kiwamukiwamuName: carettah Version: 0.2.0 Author: Kiwamu Okabe Maintainer: Kiwamu Okabe License: GPL-2 License-File: COPYING Synopsis: A presentation tool written with Haskell. Description: A presentation tool written with Haskell. Category: Graphics Stability: Experimental Cabal-Version: >= 1.6 Build-Type: Simple Homepage: http://carettah.masterq.net/ Tested-with: GHC == 7.6.3 data-files: data/turtle.png, data/debian.png, data/notfound.png Executable carettah hs-source-dirs: . main-is: Carettah.hs build-depends: base >= 4 && < 5, filepath, time, mtl, directory, pandoc, gtk, cairo, pango, hcwiid, highlighting-kate other-modules: Paths_carettah Config Render WrapPaths FormatPangoMarkup ghc-options: -Wall ghc-prof-options: -auto-all -caf-all Source-Repository head Type: git Location: git://gitorious.org/carettah/carettah.git carettah-0.2.0/Render.hs0000644000175000017500000001741312150100015014422 0ustar kiwamukiwamumodule Render (clearCanvas, CPosition(..), CSize(..), toDouble, renderWave, renderTurtle, renderPngFit, renderPngInline, renderLayoutG, renderLayoutM, yposSequence, renderSlide) where import System.FilePath ((),(<.>)) import Control.Monad import Control.Monad.Reader import Text.Pandoc (Attr) import qualified Graphics.UI.Gtk as G import qualified Graphics.Rendering.Cairo as C -- import FormatPangoMarkup import Config import WrapPaths (wrapGetDataFileName) data CPosition = CPosition Double | CCenter deriving (Show, Eq, Ord) data CSize = CSize Double | CFit deriving (Show, Eq, Ord) type CXy = (CPosition, CPosition) type CWl = (CSize, CSize) toDouble :: Integral a => a -> Double toDouble = fromIntegral type LayoutFunc = G.PangoLayout -> G.Markup -> IO () type LayoutFuncGlowing = String -> CXy -> Double -> String -> IO (G.PangoLayout, G.PangoLayout, Double, Double) stringToLayout :: String -> LayoutFunc -> CXy -> Double -> String -> IO (G.PangoLayout, Double, Double) stringToLayout fname func (x, _) fsize text = do lay <- G.cairoCreateContext Nothing >>= G.layoutEmpty void $ func lay text G.layoutSetWrap lay G.WrapPartialWords setAW lay x fd <- liftIO G.fontDescriptionNew G.fontDescriptionSetSize fd fsize G.fontDescriptionSetFamily fd fname G.layoutSetFontDescription lay (Just fd) (_, G.PangoRectangle _ _ lw lh) <- G.layoutGetExtents lay -- xxx inkとlogicalの違いは? return (lay, lw, lh) where screenW = toDouble (canvasW gCfg) setAW lay CCenter = do G.layoutSetWidth lay (Just screenW) G.layoutSetAlignment lay G.AlignCenter setAW lay (CPosition x') = do G.layoutSetWidth lay (Just $ screenW - x' * 2) G.layoutSetAlignment lay G.AlignLeft truePosition :: Double -> Double -> (CPosition, CPosition) -> (Double, Double) truePosition fsize _ (CPosition x', CPosition y') = (x', y' + fsize) truePosition _ _ (CCenter, CPosition y') = (0, y') truePosition _ _ (x', y') = error $ "called with x=" ++ show x' ++ " y=" ++ show y' stringToLayoutGlowing :: LayoutFunc -> LayoutFunc -> LayoutFuncGlowing stringToLayoutGlowing funcBack funcFront fname xy fsize text = do (layB, _, _) <- stringToLayout fname funcBack xy fsize text (lay, lw, lh) <- stringToLayout fname funcFront xy fsize text return (layB, lay, lw, lh) renderLayout' :: String -> LayoutFuncGlowing -> CXy -> Double -> String -> C.Render Double renderLayout' fname func (x, y) fsize text = do C.save (layB, lay, lw, lh) <- liftIO $ func fname (x, y) fsize text let (xt, yt) = truePosition fsize lw (x, y) mapM_ (moveShowLayout layB) [(xt + xd, yt + yd) | xd <- [-0.7, 0.7], yd <- [-0.7, 0.7]] moveShowLayout lay (xt, yt) C.restore return $ yt + lh where moveShowLayout l (x', y') = C.moveTo x' y' >> G.showLayout l renderLayoutM :: CXy -> Double -> String -> C.Render Double renderLayoutM = renderLayout' "IPA P明朝" (stringToLayoutGlowing fb ff) where fb l t = void $ G.layoutSetMarkup l ("" ++ G.escapeMarkup t ++ "") ff = G.layoutSetText renderLayoutG' :: LayoutFuncGlowing -> CXy -> Double -> String -> C.Render Double renderLayoutG' = renderLayout' "IPAゴシック" renderLayoutG :: Attr -> CXy -> Double -> String -> C.Render Double renderLayoutG (_, [], _) = renderLayoutG' (stringToLayoutGlowing fb ff) where fb l t = void $ G.layoutSetMarkup l ("" ++ G.escapeMarkup t ++ "") ff = G.layoutSetText renderLayoutG (_, classs, _) = renderLayoutG' (stringToLayoutGlowing fb ff) where fb l t = void $ G.layoutSetMarkup l (formatPangoMarkupWhite (head classs) t) ff l t = void $ G.layoutSetMarkup l (formatPangoMarkup (head classs) t) renderSurface :: Double -> Double -> Double -> C.Surface -> C.Render () renderSurface x y alpha surface = do C.save C.setSourceSurface surface x y C.paintWithAlpha alpha C.restore pngSurfaceSize :: FilePath -> C.Render (C.Surface, Int, Int) pngSurfaceSize file = do surface <- liftIO $ C.imageSurfaceCreateFromPNG file w <- C.imageSurfaceGetWidth surface h <- C.imageSurfaceGetHeight surface ret surface w h where ret _ 0 0 = do surface' <- liftIO $ wrapGetDataFileName ("data" "notfound" <.> "png") >>= C.imageSurfaceCreateFromPNG w' <- C.imageSurfaceGetWidth surface' h' <- C.imageSurfaceGetHeight surface' return (surface', w', h') ret s w h = return (s, w, h) renderPngSize :: Double -> Double -> Double -> Double -> Double -> FilePath -> C.Render Double renderPngSize = f where f x y w h alpha file = do C.save (surface, iw, ih) <- pngSurfaceSize file let xscale = w / toDouble iw let yscale = h / toDouble ih C.scale xscale yscale renderSurface (x / xscale) (y / yscale) alpha surface C.surfaceFinish surface C.restore return $ y + h renderPngInline :: CXy -> CWl -> Double -> FilePath -> C.Render Double renderPngInline = f where f (CCenter, CPosition y) (CFit, CFit) alpha file = do C.save (surface, iw, ih) <- pngSurfaceSize file let diw = toDouble iw dih = toDouble ih cw = toDouble (canvasW gCfg) ch = toDouble (canvasH gCfg) wratio = cw / diw hratio = (ch - y) / dih scale = if wratio > hratio then hratio * 0.95 else wratio * 0.95 tiw = diw * scale tih = dih * scale y' = y + 10 C.scale scale scale renderSurface ((cw / 2 - tiw / 2) / scale) (y' / scale) alpha surface C.surfaceFinish surface C.restore return $ y' + tih f _ _ _ _ = return 0 -- xxx renerPngFit統合して一関数にすべき renderPngFit :: Double -> FilePath -> C.Render () renderPngFit = f where f alpha file = do C.save (surface, iw, ih) <- pngSurfaceSize file let cw = toDouble $ canvasW gCfg ch = toDouble $ canvasH gCfg C.scale (cw / toDouble iw) (ch / toDouble ih) renderSurface 0 0 alpha surface C.surfaceFinish surface C.restore clearCanvas :: Int -> Int -> C.Render () clearCanvas w h = do C.save C.setSourceRGB 1 1 1 C.rectangle 0 0 (toDouble w) (toDouble h) C.fill >> C.stroke >> C.restore -- xxx プレゼン時間に応じて波表示 renderWave :: C.Render () renderWave = do sec <- liftIO elapsedSecFromStart smin <- queryCarettahState speechMinutes let ws = waveSize gCfg ch = toDouble $ canvasH gCfg speechSec = 60 * smin charMax = waveCharMax gCfg numChar = round $ charMax * sec / speechSec void $ renderLayoutM (CPosition 0, CPosition $ ch - ws * 2) ws $ replicate numChar '>' return () renderTurtle :: Double -> C.Render () renderTurtle progress = do fn <- liftIO . wrapGetDataFileName $ "data" "turtle" <.> "png" renderPngSize (ts / 2 + (cw - ts * 2) * progress) (ch - ts) ts ts 1 fn >> return () where ts = turtleSize gCfg cw = toDouble $ canvasW gCfg ch = toDouble $ canvasH gCfg yposSequence :: Double -> [Double -> C.Render Double] -> C.Render Double yposSequence ypos (x:xs) = x ypos >>= (`yposSequence` xs) yposSequence ypos [] = return ypos renderSlideFilter :: Int -> Int -> [Double -> C.Render Double] -> C.Render () renderSlideFilter w h s = do clearCanvas w h let cw = toDouble $ canvasW gCfg ch = toDouble $ canvasH gCfg tcy = textContextY gCfg C.scale (toDouble w / cw) (toDouble h / ch) void $ yposSequence tcy s renderWave renderSlide :: [[Double -> C.Render Double]] -> Int -> Int -> Int -> C.Render () renderSlide s p w h = do renderSlideFilter w h (s !! p) renderTurtle $ toDouble p / toDouble (length s - 1) carettah-0.2.0/COPYING0000644000175000017500000004325412150100015013704 0ustar kiwamukiwamu GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. carettah-0.2.0/FormatPangoMarkup.hs0000644000175000017500000000420512150100015016573 0ustar kiwamukiwamumodule FormatPangoMarkup (formatPangoMarkup, formatPangoMarkupWhite) where import Text.Highlighting.Kate import Graphics.Rendering.Pango -- TODO: should use blaze-builder tokColor :: TokenType -> String tokColor KeywordTok = "" tokColor DataTypeTok = "" tokColor DecValTok = "" tokColor BaseNTok = "" tokColor FloatTok = "" tokColor CharTok = "" tokColor StringTok = "" tokColor CommentTok = "" tokColor OtherTok = "" tokColor AlertTok = "" tokColor FunctionTok = "" tokColor RegionMarkerTok = "" tokColor ErrorTok = "" tokColor NormalTok = "" tokShape :: TokenType -> String tokShape KeywordTok = "" tokShape DataTypeTok = "" tokShape DecValTok = "" tokShape BaseNTok = "" tokShape FloatTok = "" tokShape CharTok = "" tokShape StringTok = "" tokShape CommentTok = "" tokShape OtherTok = "" tokShape AlertTok = "" tokShape FunctionTok = "" tokShape RegionMarkerTok = "" tokShape ErrorTok = "" tokShape NormalTok = "" tagTok, tagTokShape :: Token -> String tagTok (t, s) = tokColor t ++ tokShape t ++ escapeMarkup s ++ "" tagTokShape (t, s) = tokShape t ++ escapeMarkup s ++ "" formatPangoMarkup :: String -> String -> String formatPangoMarkup lang = unlines . fmap (concat . fmap tagTok) . highlightAs lang formatPangoMarkupWhite :: String -> String -> String formatPangoMarkupWhite lang text = "" ++ (unlines . fmap (concat . fmap tagTokShape) . highlightAs lang) text ++ ""