fGJDataMonoid+3PreludeCByUHCBasenh#[DataMonoid</@\9B? { HDataMonoid<utݻ*BAN  79 DataMonoid<U:B: UHC.Base.compareuTDataMonoid<?OB  UHC.Base.==-+[DataMonoid<e8cB o /CDataMonoid<gZ?B  UHC.Base.===SDataMonoid<EyU4B $f԰DataMonoid<%2B UHC.Base.readsPrecpDataMonoid<eR2E$Bim [%DataMonoid<Oh63B UHC.Base.showsPrecƒqKDataMonoidMonoid1<NSB O'DataMonoid<'EBa ~|`V<DataMonoidMonoid<am B ke.(DataMonoidProduct`$)DataMonoidm+4 &B/DataMonoid<;~;B UHC.Base.readsPrecDataMonoid^BL UHC.Base.compare^>XlDataMonoidMonoidR^BQ BG2yDataMonoidN D;:9^DataMonoid /DataMonoidMonoid<>GBLinDataMonoid<utݻ*BJ UHC.Base.compareӳ!xtDataMonoid<eR2E$B\$XDataMonoid<Ea s"BH{ YDataMonoid<tM/z?B7دDataMonoidMonoidF<TU B Data.Monoid.mappendAxDataMonoidMonoid<7H7BވE^DataMonoid<oc&#B ȳʘ DataMonoid<T`%BĪB "DataMonoid<U:B DataMonoid<-VWO&Bƶwu ADataMonoid</@\9B< $-4DataMonoid AEF_#DataMonoid<7g(-BٗJ|*LDataMonoid<T`%BW ᮖ# DataMonoid<Ea s"B\-N<DataMonoid9WD")FyڵG!DataMonoid</@\9BrinDataMonoid<'EBf ܮ?rDataMonoid</@\9B  UHC.Base.==RzfDataMonoid<f,Bnxo,6DataMonoid<]y0BL  ӟxDataMonoidMonoid<z4uYB໤mgDataMonoid<?OB ZDataMonoid<eR2E$Bn UHC.Base.readsPrec؎ĜfDataMonoid<}CMB UHC.Base.showsPrec^L*o+DataMonoid<u<B:"ÒDataMonoid:K#$JF70tDataMonoid<-VWO&B4 Fw埜DataMonoid=L9*F-C+DataMonoid<7g(-BQ aXDataMonoidMonoid<TU BMWoNcDataMonoid<Oh63B2ruDataMonoid<'EBh wDataMonoid<u<B 渧ADataMonoid<OrcL)B  UHC.Base.==}DataMonoidMonoid<am B lݳɆDataMonoid<5>^Bn䟛mDataMonoid<Oh63B Z*cDataMonoidEyDataMonoidMonoid<Am /B =W=;/DataMonoidMonoidl<TU B ċyDataMonoid<;Bv [gpDataMonoidMonoid<am Bm> |DataMonoidMonoid7<}[Ri B Data.Monoid.mappend @?DataMonoidMonoid<H= B6v^DataMonoid<;B UHC.Base.comparerւDataMonoid<OrcL)B  1[V_DataMonoidMonoid6<}[Ri B kwwDataMonoidgetLast/f\L uDataMonoid<m)5B rEwHaDataMonoid<oc&#B UHC.Base.compareQ@T4DataMonoidMonoid&w<z4uYB D]DataMonoidgetFirst. b@5?NDataMonoid<vGaFQ GCۂDataMonoid<61B-"~6LDataMonoidMonoid<oI<B M#:"DataMonoid<=IDF#~,9DataMonoidgetAll($<73DataMonoid_'Monoid''DataMonoid<61B ,(D uoDataMonoidMonoid<V=B 9)$L($DataMonoid<EyU4B&) YDataMonoidSum#*B0_R DataMonoidappEndo"*{]/DataMonoid<eR2E$Bkq ,0F<DataMonoid<OrcL)B  ,w>eDataMonoidMonoid<V=B:,d DataMonoidMonoid<WX'B Data.Monoid.mappendD.q({hqDataMonoidMonoid4<ZwB Data.Monoid.mappendU.&u~DataMonoidgetDual!0Ox DataMonoid@{]`F0ؗDataMonoidMonoidt<>GB 1'V(|ԁDataMonoid<;~;B 4hn.{1DataMonoid<]y0B5*֋ DataMonoid<}CMBR `658^DataMonoid;K%Fe6S:DataMonoidMonoid<V=B Data.Monoid.mappend78#n_DataMonoid<m)5B :YJDataMonoid<?OB : jDataMonoid<Ea s"Bx  UHC.Base.==;H6$d DataMonoid:AtNu;FVkdwDataMonoid<utݻ*B>l4W9 _DataMonoid<tM/z?BBe >DataMonoidMonoid<Am /B?A a4DataMonoid RtDBå0DataMonoidMonoid*3<ZwB WBgb3DataMonoid<m)5B UHC.Base.readsPrecB֏j8DataMonoid<e8cB  UHC.Base.==nCs9]DataMonoid<ϛwX"+F CsB5TDataMonoid<ϟw^n+BErM<DataMonoidMonoid<>GB Data.Monoid.mappendEv.?>DataMonoidMonoid<>GB Data.Monoid.memptyG#!@DataMonoid<]y0BI H[n^YPPDataMonoid@UB\FHzfs8DataMonoid;)%JqFcIp gDataMonoidMonoid8 <7H7B J׎MDataMonoid<ϟw^n+B2k LJ1/DataMonoidgetAny MbDataMonoid> N$EFNP,DataMonoidMonoid<]j*.BCOVnDataMonoidMonoid<g5$ BTPMKoDataMonoid91q%FxQQLDataMonoid<‹l/F RxאDataMonoid<5>^BK Se?n}SDataMonoidMonoid<WX'BGSdmFjDataMonoid<f,Bl UHC.Base.showsPrecT0^DataMonoid=X_zFTyAfMODataMonoid<OrcL)BTˢ̈́DataMonoid> Dau8FUMDDataMonoid<61B +VȾ(,GDataMonoidMonoid9<}[Ri B XaLDataMonoidMonoid<V=B 8X9)ثNDataMonoid<U:B9 XS%&DataMonoidDualYq9N8"DataMonoidMonoid<ZwBYZݧ+|tDataMonoid;5ehEFd[Ӷ" DataMonoidmconcat]+HyDataMonoidAll_PY"DataMonoidAny`-<Ȩ?DataMonoid<f,B4n af  DataMonoidGB mgEåDataMonoidMonoid<g{p5B Im 瑰DataMonoid? [P0bFoFe@DataMonoid<}CMBP _qeGT㳫DataMonoid<W@Bu gq eHDataMonoid<u<B tG UDataMonoidMonoidG} DataMonoid+DataMonoid_11d/-DataMonoid_3!XS%&DataMonoidDualKC UHCBaseid渧ADataMonoid<OrcL)B  UHC.Base.==%Sl!z|DataMonoidFw\DaCn7>DataMonoidx_2aCn8ZDataMonoidx_1/zUHCBase==,0F<DataMonoid<OrcL)B  a!DataMonoid<OrcL)B  =f1DataMonoidFw\D ilRKDataMonoid<OrcL)B ilRKDataMonoid<OrcL)B ւDataMonoid<OrcL)B   W3DataMonoid<OrcL)B  v a^DataMonoidFw\DlTuUHCBaseEq<>OXJiGβMUHCBaseEq<>OXJ1.M]DataMonoid_21. Fj DataMonoid_1}|yDataMonoidcok+G}|yDataMonoidcok+G[}DataMonoidcp2ӧFTyAfMODataMonoid<OrcL)B.U3iDataMonoidFw\DDataMonoid<OrcL)B DataMonoid<OrcL)B LJ1/DataMonoidgetAnyKC UHCBaseidijDataMonoid<ϟw^n+Bi UHC.Base.readsPrec~EuoDataMonoiddo+4I[DataMonoidFD0Dgu\6@DataMonoidcoy"e)Fu\6@DataMonoidcoy"e)FUtUHCBase primGtInt г2~DataMonoidd]qa2Gг2~DataMonoidd]qa2G sUHCBase readParenCs9]DataMonoid<ϛwX"+Fz$aDataMonoidrpOխDataMonoidFD0Dg-qBegDataMonoidd pY1`F-qBegDataMonoidd pY1`F30v0UHCBaselex6"DataMonoiddgq"xG6"DataMonoiddgq"xG [Tù$UHCBase concatMapQQLDataMonoid<‹l/F #}J^&DataMonoid_'uv_1q;+t'DataMonoidFD0DgVLIdDataMonoid_'xs.@QDataMonoid_'v_1uofVDataMonoid_'u_1t΅B^DataMonoid_'l_1w7ySDataMonoid_'l_1xhWw@'CDataMonoid_'l_2yUr6DataMonoid_'l_1zh5P-UHCBase primEqCharSEpDataMonoidco79FI օDataMonoid_'l_2{Wxz.DataMonoid_'l_3}r<TDataMonoid_'l_2|h Q@4MDataMonoid_'l_2~h5P-UHCBase primEqCharuTr`DataMonoidd)pe@Fx#dDataMonoid_'l_35<7DataMonoid_'l_3hW-cw'DataMonoid_'l_47 DataMonoid_'l_3h5P-UHCBase primEqCharm c<DataMonoidd(pSbGF   ȁef3DataMonoid_'l_4  ԘLdDataMonoid_ ԘLdDataMonoid_  7&.DataMonoidd#pVJF   DataMonoidd3p}ZF DataMonoidd3p}ZFs.X_UHCBase readsPrec  9wojDataMonoidd$p3YsKF 9wojDataMonoidd$p3YsKF[Tù$UHCBase concatMap   *5* kDataMonoidd.p3qx]Fv9-DataMonoidd/pQs^F `QDataMonoidd0pw=__FBu D0DataMonoidDataMonoidd8p3WF2[DataMonoidd5pATFiaqDataMonoidd:p)QF oyƗ0DataMonoid<ϟw^n+B/h 4PpDataMonoid<ϟw^n+B0h &ieDataMonoidFD0D1gxf}=k^DataMonoid<ϟw^n+Bk xf}=k^DataMonoid<ϟw^n+Bk J׎MDataMonoid<ϟw^n+B2k Ap@DataMonoidFD0D4gvPauDataMonoid<ϟw^n+B3h oUHCBaseReadl<mt#*JQ(=UHCBaseRead<mt#*J0 1mWDataMonoid_2n0"1eDataMonoid_1m]cDataMonoiddoqSKG]cDataMonoiddoqSKG 7@DataMonoiddpRa*fFCsB5TDataMonoid<ϟw^n+Bn_}DataMonoidFD0DgSο'[+DataMonoid<ϟw^n+Bh Sο'[+DataMonoid<ϟw^n+Bh ɍ򄻁DataMonoidU-EhD8Kj.!"HDataMonoidEqDiD9H8q1*!UHCBaseEq^ &8,UHCBaseEqc 0"1r`\DataMonoid_2`0$1w`DDataMonoid_3a11vH|A ?DataMonoid<utݻ*B?I SJf6DataMonoidJpJܻiD@L=S*1rDataMonoid<utݻ*BN =S*1rDataMonoid<utݻ*BN { HDataMonoid<utݻ*BAN  "DataMonoidJpJܻiDDLz;}ADataMonoidEqDiDBHg}]cDataMonoid<utݻ*BCI 2}kUHCBaseOrdO<AuJo/]6UHCBaseOrd<AuJ1/$rDataMonoid_8W1.h0DataMonoid_7V1. DataMonoid_5T1.DataMonoid_4S1.HDataMonoid_6U1.T;XDataMonoid_3R1.7DataMonoid_2Q1.L|DataMonoid_1P7(vIDataMonoiddr}ŹiG7(vIDataMonoiddr}ŹiG9JDataMonoiddpl%b~F>kdwDataMonoid<utݻ*B;6DataMonoidEqDiDHqxWDataMonoidU-EhDKqxWDataMonoidU-EhDKT5[cDataMonoidJpJܻiDLT5[cDataMonoidJpJܻiDLZ67_DataMonoid<utݻ*BI Z67_DataMonoid<utݻ*BI C gDataMonoid<]y0B  UHC.Base.==rP'DataMonoidC+ O3rDaA1٘bDataMonoidx_2aA"yלDataMonoidx_1/zUHCBase==G#!@DataMonoid<]y0BI f7DDataMonoidC+ O3rDJ TxDataMonoid<]y0BK ucDDataMonoid<]y0B  ucDDataMonoid<]y0B  nxo,6DataMonoid<]y0BL  qޱDataMonoidC+ O3rDMzo9qDataMonoid<]y0BN !OMUHCBaseEq <>OXJiGβMUHCBaseEq<>OXJ1,F{DataMonoid_21,JDataMonoid_1 [v81DataMonoiddq`(G[v81DataMonoiddq`(Gu`e[DataMonoiddxq4(gF4hn.{1DataMonoid<]y0B͜=;DataMonoidC+ O3rDwB:zDataMonoid<]y0B wB:zDataMonoid<]y0B  &B/DataMonoid<;~;B UHC.Base.readsPreci3=lWDataMonoidbe~(e5dnDZʪDataMonoidd )+DataMonoiddEq!GF)+DataMonoiddEq!GFUtUHCBase primGtInt ŀ_DataMonoidessGŀ_DataMonoidessGsUHCBase readParenFw埜DataMonoid=L9*FW;9DataMonoidr B^CDataMonoidbe~(e5dnD5%SDataMonoiddqFF5%SDataMonoiddqFF30v0UHCBaselexv?qDataMonoidds\t~mGv?qDataMonoidds\t~mG[Tù$UHCBase concatMapT0^DataMonoid=X_zFBQ=DataMonoidbe~(e5dnDg~RDataMonoid_'uv_1  @xqDataMonoid_'xҞjDataMonoid_'v_1C@DataMonoid_'u_1َA#DataMonoid_'l_12YvDataMonoid_'l_1hXM;;DataMonoid_'l_2#V?#DataMonoid_'l_1h5P-UHCBase primEqCharFzd6CDataMonoiddUqH%Fb=DataMonoid_'l_2 -DataMonoid_'l_2hXQ;DataMonoid_'l_3p")DataMonoid_'l_2h5P-UHCBase primEqChariQ'izDataMonoiddTqESgFkyDataMonoid_'l_3[M)zkEDataMonoid_'l_3hXEDataMonoid_'l_4 qn@DataMonoid_'l_3h5P-UHCBase primEqCharr b◱DataMonoiddrWBF   q DataMonoid_'l_4  5GLIDataMonoid_'l_4 h XkDataMonoid_'l_5!  7f/DataMonoid_'l_4"h 5P-UHCBase primEqChar s  nI @rDataMonoiddr:dF   W^'VvDataMonoid_'l_5#   _DataMonoid_'l_5$h XȻDataMonoid_'l_6%  "^ #DataMonoid_'l_5&h 5P-UHCBase primEqChar t  (=yDataMonoiddrRʲF    RCODataMonoid_'l_6'   yzDataMonoid_( yzDataMonoid_( .tUj#"DataMonoiddrDXFPBI*uDataMonoiddq$ZeFPBI*uDataMonoiddq$ZeFs.X_UHCBase readsPrec Ɯ@cDataMonoiddrvB hFƜ@cDataMonoiddrvB hF[Tù$UHCBase concatMap kN,[EDataMonoiddqbMF   f|$,mPDataMonoiddqQQwF  ~?bjl_DataMonoiddq?FthuDataMonoiddq$B`FIg_uDataMonoiddqRDF#:"DataMonoid<=IDFf<DataMonoid_'uv_2*݃DataMonoid_'x, -nDataMonoid_'v_2.ŜDataMonoid_'u_2-MV@DataMonoiddqWFbwvBDataMonoiddq2SDF}C,DataMonoiddr`4=Fz]qDataMonoiddroNF|cQsDataMonoid<;~;Bw bltGDataMonoid<;~;By rs~MDataMonoidbe~(e5dnDxl 0 0DataMonoid<;~;B l 0 0DataMonoid<;~;B !QYyDataMonoid<;~;Bz Cx>0DataMonoidbe~(e5dnD{KyւDataMonoid<;~;B| aw UHCBaseRead<mt#*JQ(=UHCBaseRead<mt#*J>+nDataMonoid_2 >+tGDataMonoid_1 59&OԩDataMonoideftwpG59&OԩDataMonoideftwpGXLw8DataMonoiddr!4}qF1'V(|ԁDataMonoid<;~;BkIDataMonoidD#[vkD\hqSkDataMonoidbe~(e5dnD\hqSkDataMonoidbe~(e5dnD%!rUHCBaseԲDataMonoid<61B @vSc'GDataMonoidF eVD ulUHCBaseOrd<AuJo/]6UHCBaseOrd<AuJ?\)^+DataMonoid_1?(H,{?DataMonoid_8?)DQDataMonoid_6?)NDataMonoid_2?)W.KDataMonoid_7?)nY'DataMonoid_5?)FySDataMonoid_3?)LX/DataMonoid_4*lDataMonoideu>EIG*lDataMonoideu>EIG)% yJDataMonoiddr{+F GCۂDataMonoid<61BfxeDataMonoidBs7D#kDataMonoidIc,yID#kDataMonoidIc,yID*Rf>DataMonoidF eVDRf>DataMonoidF eVDPW"U5DataMonoid<61B PW"U5DataMonoid<61B +D]DataMonoidgetFirstKC UHCBaseidkwwDataMonoidgetLastKC UHCBaseid:9^DataMonoidC5J$ DataMonoidx_1A0?DataMonoide!sCˤHFA0?DataMonoide!sCˤHFUy6 UHCBase showsPrec kvkDataMonoide(sU GFkvkDataMonoide(sU GFÏ ‚ UHCBasepackedStringToStringLast j.+DataMonoide's#|JFFj.+DataMonoide's#|JFF"X_UHCBase showString)A{3DataMonoide%sccDF)A{3DataMonoide%sccDF.IHUHCBase.0yIDataMonoide+sC<BF0yIDataMonoide+sC<BFUtUHCBase primGtInt rL3,SUHCBase showParenxR8DataMonoidc߃0DataMonoidmempty @?DataMonoidMonoid<H= BYl{DataMonoidMonoid'<H= BߤWsDataMonoide sUgaFߤWsDataMonoide sUgaF5xgDataMonoide s3`FxgDataMonoide s3`FupSNDataMonoidMonoid*<H= B Data.Monoid.mconcatupSNDataMonoidMonoid*<H= B Data.Monoid.mconcat4͒7UHCBasefoldr(鍃RDataMonoidMonoid(<H= B d褎UHCBase undefinedd褎UHCBase undefined6S:DataMonoidMonoid<V=B Data.Monoid.mappend[ҐDataMonoidx1K9q DataMonoidx2au$>DataMonoid>= 0|雔DjjlDataMonoid>B @:DXaLDataMonoidMonoid<V=B C+Ziz<DataMonoidMonoid<V=B "cDataMonoidMonoid<V=B "cDataMonoidMonoid<V=B 9(D uoDataMonoidMonoid<V=B fbDQDataMonoidMonoid<V=B  Y DataMonoidMonoid<H= B6>- ޢDataMonoid_3>-WDataMonoid_1>- XDataMonoid_2?pqDataMonoidesHtF7L"-UHCBaseNothing,w>eDataMonoidMonoid<V=Ba!N{DataMonoidMonoid<V=B a!N{DataMonoidMonoid<V=B 8[$X&DataMonoidMonoid<Am /B Data.Monoid.mappend)888DataMonoid>"zD>65IDataMonoid4w>~DniDataMonoidMonoid<Am /B Data.Monoid.mconcatp>ݨDataMonoid>~BwD>EyDataMonoidMonoid<Am /B K(U0DataMonoidMonoid<Am /B Data.Monoid.memptyoy1~DataMonoidMonoid<Am /B Uzxy$DataMonoidMonoid<Am /B Uzxy$DataMonoidMonoid<Am /B >|f=)fDataMonoidMonoid<Am /B Ʉ.DataMonoidMonoid<Am /B Data.Monoid.memptyD\DataMonoidMonoid<Am /B T#DataMonoidMonoid<H= B6>-Y3DataMonoid_1>-D-?VRDataMonoid_2>-I 5[DataMonoid_3No/DataMonoidecto9~F;<>DataMonoidMonoid<Am /BW\DataMonoidMonoid<Am /B Data.Monoid.memptyK UDataMonoidMonoid<Am /B K UDataMonoidMonoid<Am /B =DyYDataMonoidMonoid<]j*.B Data.Monoid.mappendΚqDataMonoid>% D W+DataMonoid4꠆^YZD[T{D DataMonoid4xeD..}6FUHCBase+sQDataMonoidMonoid<]j*.B y׾FDataMonoidMonoid<]j*.B Data.Monoid.mempty8_:ՇDataMonoidMonoid<]j*.B d#: DataMonoid>% D -=DataMonoidMonoid<]j*.B  -=DataMonoidMonoid<]j*.B BR<dDataMonoidMonoid<]j*.B 1=[Y8DataMonoidMonoid<]j*.B Data.Monoid.mempty~ ;DataMonoid>% D{lCDataMonoidMonoid<]j*.B 묠[DataMonoidMonoid<H= B6>y*L\rDataMonoid_1>y*_dv'DataMonoid_3>}*[~*PDataMonoid_2;2ԣttDataMonoidb[k]EG;2ԣttDataMonoidb[k]EG@AGv)DataMonoideKtO4&FNP,DataMonoidMonoid<]j*.B 4-"DataMonoid>% DbyR3nDataMonoideutDFbyR3nDataMonoideutDFsZ?tLUHCBasepackedStringToInteger0'FIDataMonoidMonoid<]j*.B Data.Monoid.mempty'FIDataMonoidMonoid<]j*.B Data.Monoid.mempty{UHCBase fromIntegerY %[DataMonoidMonoid<]j*.B Y %[DataMonoidMonoid<]j*.B A,d DataMonoidMonoid<WX'B Data.Monoid.mappendE;9GDataMonoid5\?&7D%9 ۻplDataMonoid4wODw"YUHCBase|| Ǖ=7DataMonoidMonoid<WX'B {׊DataMonoidMonoid<WX'B {N({8a1DataMonoidMonoid<WX'B {N({8a1DataMonoidMonoid<WX'B FցkonDataMonoidMonoid<WX'B LjptDataMonoidMonoid<WX'B  Θ DataMonoidMonoid<H= B6>i*.I*DataMonoid_3>i*1Z^DataMonoid_1>m*,2VADataMonoid_2XLZjDataMonoide\t]SFDUc[6[UHCBaseFalseSe?n}SDataMonoidMonoid<WX'BBTĿDataMonoidMonoid<WX'B BTĿDataMonoidMonoid<WX'B EOA}D +Hq&kDataMonoid3A6  0D4vDataMonoid3cP ;D.-?lUHCBase*mgEåDataMonoidMonoid<g{p5B uκDataMonoidMonoid<g{p5B dE&ODataMonoid>OA}Dj$'DataMonoidMonoid<g{p5B Data.Monoid.memptyS*DataMonoidMonoid<g{p5B S*DataMonoidMonoid<g{p5B Jc~K~DataMonoidMonoid<g{p5B 7'<DataMonoidMonoid<g{p5B Data.Monoid.memptyN6H 3DataMonoidMonoid<g{p5B sHr+DataMonoid>OA}D28hDataMonoidMonoid<H= B6>X*DataMonoid_2>Z*qDataMonoid_1>^*DataMonoid_3ܭc,1DataMonoidbkkVGܭc,1DataMonoidbkkVGH)rDataMonoideug7[FzE}@DataMonoidMonoid<g{p5B3׀LDdDataMonoid>OA}D.POX DataMonoideNtW;.F.POX DataMonoideNtW;.FsZ?tLUHCBasepackedStringToInteger10 ҡڙfDataMonoidMonoid<g{p5B Data.Monoid.mempty0 ҡڙfDataMonoidMonoid<g{p5B Data.Monoid.mempty{UHCBase fromIntegerAw>ďDataMonoidMonoid<g{p5B Aw>ďDataMonoidMonoid<g{p5B I1+3}DataMonoidMonoid<oI<B Data.Monoid.mappendMDataMonoid4@t*  D0cJ8IDataMonoid4Cf2 D.IHUHCBase."~6LDataMonoidMonoid<oI<B ruSO{DataMonoidMonoid<oI<B rPAvDataMonoidMonoid<oI<B rPAvDataMonoidMonoid<oI<B Ndd);1DataMonoidMonoid<oI<B  H*p~!DataMonoid_2>J*OQDataMonoid_1>N*tWj!DataMonoid_3Z@;»DataMonoideu& FLKC UHCBaseid|wDataMonoidMonoid<oI<B9F DataMonoidMonoid<oI<B 9F DataMonoidMonoid<oI<B M "WDataMonoidMonoid<g5$ B Data.Monoid.mappend mr DataMonoid:vp  D 4©v:DataMonoid>1e[ D'JUdDataMonoid-$ DHPDataMonoid7| D  Ҡ7DataMonoid7| D ,ٓa DataMonoida18NDataMonoidb1oE@GtDataMonoidc1Q b@5?NDataMonoid<vGaFhd&DataMonoid:vp  D=K:DataMonoid7o) *D}DataMonoidb1[="'DataMonoid>1e[ D kXkDataMonoida1#a3xTDataMonoid-$ DZM) DataMonoidc1fW1o0RDataMonoid7o) *D/"DataMonoidb2$1پU'DataMonoidc2%L DataMonoida2#-Pfu;DataMonoidai;֝FF-Pfu;DataMonoidai;֝FF 8&WyVDataMonoideu(FߍF 8&WyVDataMonoideu(FߍF (+,]DataMonoideuTUF (+,]DataMonoideuTUF <-! DataMonoideu+dF    ==yDataMonoidMonoid <g5$ B  =rDataMonoid:vp  D om`KvDataMonoidMonoid<g5$ B &lhȏDataMonoid-$ D<kDataMonoid>1e[ D \sS*DataMonoidMonoid<g5$ B Data.Monoid.memptyI1e[ D|~SDataMonoid:vp  DoԾDataMonoidMonoid<g5$ B Data.Monoid.mempty*>OZDataMonoid-$ D!o;'<DataMonoidMonoid<g5$ B 8DataMonoidMonoid<H= B6?&L }DataMonoid_1?:&k\DataMonoid_3?<&f1GMDataMonoid_2;x&ODataMonoidclnj`LG;x&ODataMonoidclnj`LGPl>DataMonoidai  FOVnDataMonoidMonoid<g5$ B ӀKDataMonoid-$ D3G'DataMonoid:vp  Dti߁DataMonoid>1e[ Dy4l|I̝DataMonoidet4bFy4l|I̝DataMonoidet4bF5ÓnMDataMonoide~t"FÓnMDataMonoide~t"F5?' DataMonoide}tpF?' DataMonoide}tpF5ߏDataMonoidMonoid<g5$ B Data.Monoid.memptyZ*A=JDataMonoidMonoid<g5$ B Z*A=JDataMonoidMonoid<g5$ B R.q({hqDataMonoidMonoid4<ZwB Data.Monoid.mappend(DataMonoid.BĆ D0^DataMonoid0t` D2D`s@DataMonoid6fDr,=}DataMonoid=O|6  D/?h9M&DataMonoid2 /i6E D1@DDataMonoid;Ǥ D.F  c# DataMonoidaiV -2>F5 a[]DataMonoidMonoid5<ZwB Data.Monoid.mempty   Fxq>?3DataMonoidMonoid3<ZwB  Fxq>?3DataMonoidMonoid3<ZwB W   4qDataMonoidMonoid<ww1B Data.Monoid.mappendT8tJCDataMonoid8p l<D%7'qcsDataMonoid5Z{4  Dl)JmDataMonoid5cu_Dy#zqkDataMonoidMonoid?<ww1B IӳDataMonoidMonoidB<ww1B Data.Monoid.memptyT'DataMonoid8p l<DA|n7zDataMonoidMonoid@<ww1B TDataMonoidMonoid<ww1B TDataMonoidMonoid<ww1B \cwM46DataMonoidMonoidC<ww1B i(SicDataMonoid8p l<DE'Cf`.DataMonoidMonoidD<ww1B tGDataMonoidMonoidF<ww1B Data.Monoid.memptys+DataMonoidMonoid<H= B6<$<7DataMonoid_1<')B#DataMonoid_2<'*A#DataMonoid_3QTחDataMonoidh4}xiT[GQTחDataMonoidh4}xiT[GZ,Gw@-DataMonoidb/jL^Fx[-DataMonoidMonoid<ww1B$gRDataMonoid8p l<D.ō8DataMonoidMonoid<ww1B Data.Monoid.mempty.ō8DataMonoidMonoid<ww1B Data.Monoid.mempty5f#DataMonoidMonoid<ww1B f#DataMonoidMonoid<ww1B [؎ĜfDataMonoid<}CMB UHC.Base.showsPrec DataMonoiddaBv&VDataMonoidx_1sUw-EDataMonoidbj? HpFsUw-EDataMonoidbj? HpFUy6 UHCBase showsPrec]UʦuUHCBase<Wt3J [g5&DataMonoidbi^ /oF[g5&DataMonoidbi^ /oFÏ ‚ UHCBasepackedStringToStringAll  9DataMonoidai, nF 9DataMonoidai, nF"X_UHCBase showString\G+DataMonoidai>lF\G+DataMonoidai>lF.IHUHCBase.&֎kRBaDataMonoidbiLjF&֎kRBaDataMonoidbiLjFUtUHCBase primGtInt rL3,SUHCBase showParenoFe@DataMonoid<}CMBP &=" DataMonoid<}CMBQ \$ =AODataMonoid<}CMB \$ =AODataMonoid<}CMB `5*֋ DataMonoid<}CMBR m{nDataMonoid<}CMBS KwԴyUHCBaseShow<e,J@(UHCBaseShow<e,J1@/-UDataMonoid_11@/uܟDataMonoid_31F/DataMonoid_2SDataMonoidbj&\5 xF^Ӎ^DataMonoid<}CMB|ZIDataMonoid<}CMB |ZIDataMonoid<}CMB _ /duDataMonoid<W@B UHC.Base.readsPrec+_ީDataMonoidd)(盩 DataMonoidbkkA=F)(盩 DataMonoidbkkA=FUtUHCBase primGtInt sUHCBase readParencHzfs8DataMonoid;)%JqF$CDataMonoidrj DataMonoidbRj֚iFj DataMonoidbRj֚iF30v0UHCBaselex[Tù$UHCBase concatMapdZݧ+|tDataMonoid;5ehEF cR[joDataMonoid_'uv_1A݂.DataMonoid_'xC;DataMonoid_'v_1Йg.LwDataMonoid_'u_15;mDataMonoid_'l_1 DataMonoid_'l_1hWb7vDataMonoid_'l_2RϓmDataMonoid_'l_1h5P-UHCBase primEqCharAf9DataMonoidb{ktjF}"Z!DataMonoidbCjL^F=ȜDataMonoid<W@Bs ˧׽i]DataMonoid<W@Bt 8|#DataMonoid<W@B 8|#DataMonoid<W@B gqeGT㳫DataMonoid<W@Bu VpDataMonoid<W@Bv :J ԍsUHCBaseRead<mt#*JQ(=UHCBaseRead<mt#*J1{/fŐDataMonoid_21/=@DataMonoid_1m|DataMonoidbPj>Fb>I:yDataMonoid8"~ SD899DataMonoid:XSW D&T!rZDataMonoid>Ӣ D'|/ADataMonoid8"~ SDXsMDataMonoida1yDataMonoidb1j_rw DataMonoid:TF TVoDataMonoid8>\- dDh,5DataMonoid:XSW D(Z]DataMonoida1* *sP/hDataMonoid>Ӣ D);DataMonoidb1+#DataMonoid8>\- dD20 DataMonoida2Tv DataMonoidb2GutDataMonoidbl0FGutDataMonoidbl0Fxk1"DataMonoidbl@?܆Fxk1"DataMonoidbl@?܆F1DataMonoidbl7MF|`V<DataMonoidMonoid<am B VWQDataMonoidMonoid<am B Sm>C/`DataMonoid:XSW D<1aDataMonoid>Ӣ Dv$9DataMonoidMonoid<am B Data.Monoid.mempty]YȉDataMonoidMonoid<am B ]YȉDataMonoidMonoid<am B l}DataMonoidMonoid<am B   yDataMonoid>Ӣ Dׯ" DataMonoidMonoid<am B Data.Monoid.mempty ׆ǸDDataMonoidMonoid<am B JEm1DataMonoid:XSW D,8z7DataMonoidMonoid<H= B6=C ~DataMonoid_2=G JDataMonoid_1={ HDataMonoid_3zQclDataMonoidhm=}:GzQclDataMonoidhm=}:Gi|@SDataMonoidbkTFF [gpDataMonoidMonoid<am BϴAKDataMonoid>Ӣ D(ij0zDataMonoid:XSW D g;iDataMonoidblMIF g;iDataMonoidblMIF5,DataMonoidbl/=F,DataMonoidbl/=F5hqDataMonoidMonoid<am B Data.Monoid.mempty%҂0cDataMonoidMonoid<am B %҂0cDataMonoidMonoid<am B kB֏j8DataMonoid<e8cB  UHC.Base.==EWvbRDataMonoidG#D,c_BvPDataMonoidx_1c_c(DataMonoidx_2/zUHCBase==-+[DataMonoid<e8cB 첓džDataMonoid<e8cB n;DataMonoidG#DODataMonoid<e8cB ODataMonoid<e8cB p2{DataMonoid<e8cB X!]DataMonoidG#D;DataMonoid<e8cB  rZ1UHCBaseEq<>OXJiGβMUHCBaseEq<>OXJ302 <DataMonoid_13624ZgDataMonoid_2oDataMonoid<e8cB ſ->oDataMonoid<e8cB ov^DataMonoid<;B UHC.Base.compareBRDataMonoidF`uD-c_h~ DataMonoidx_1c_Hz%DataMonoidx_2ω.mUHCBasecompareFBDataMonoidRF8ytDhҨ`DataMonoidF`uDL'Z`kUHCBaseEq  `zrUHCBaseEq 35S)DataMonoid_235_DataMonoid_1 35QDataMonoid_333#DataMonoid_83&2э DataMonoid_73(2 DataMonoid_6382DataMonoid_4==EDataMonoid<;B I>DataMonoid<;B 96DataMonoidId$uD2곙DataMonoidF`uD9'DataMonoid<;B 9'DataMonoid<;B ula:DataMonoid<;B  2(0;DataMonoidId$uDz֜DataMonoid<;B 9`S5DataMonoidF`uDUHCBaseOrd<AuJo/]6UHCBaseOrd<AuJ1Q/!DataMonoid_21U/QDataMonoid_133DataMonoid_835 S>DataMonoid_33 56O4DataMonoid_4352*DataMonoid_73552[DataMonoid_5392'LDataMonoid_6PRSi.DataMonoidimRrvGPRSi.DataMonoidimRrvGrINRDataMonoidbmNsFċyDataMonoid<;BjLoDataMonoidF`uDaOBZ}nDataMonoidRF8ytDaOBZ}nDataMonoidRF8ytDsIivw9DataMonoidId$uDIivw9DataMonoidId$uDqZFDataMonoid<;B ZFDataMonoid<;B taf  DataMonoidDataMonoid]j}bD/&Ŗ7+WiDataMonoidc m8SfbFŖ7+WiDataMonoidc m8SfbF30v0UHCBaselexzjţDataMonoidev3fjGzjţDataMonoidev3fjGy[Tù$UHCBase concatMap\-N<DataMonoid9WD")FmGc*_DataMonoid]j}bD0&yy0BDataMonoid_'uv_1-/.Y`DataMonoid_'x/ʣglDataMonoid_'v_11DataMonoid_'u_10u"DataMonoid_'l_13;H0DataMonoid_'l_14hU6b DataMonoid_'l_25df<DataMonoid_'l_16h5P-UHCBase primEqCharLb80DataMonoidbl+3Fz$ADataMonoid_'l_27Uf DataMonoid_'l_39tn DataMonoid_'l_28hx&DataMonoid_'l_2:h5P-UHCBase primEqCharam'QDataMonoidbl.U:F IDataMonoid_'l_3;*x>DataMonoid_'l_3<hUkrΊ=DataMonoid_'l_4=:b DataMonoid_'l_3>h5P-UHCBase primEqChars 3lb]J`hDataMonoidc*mAF   :DataMonoid_'l_4?  VjcDataMonoid_'l_5A v U22 DataMonoid_'l_4@h  d)DataMonoid_'l_4Bh 5P-UHCBase primEqChar t  4r?DataMonoidc!m~>HF   *wDataMonoid_'l_5C   xӤDataMonoid_D xӤDataMonoid_D  VrMjDataMonoidc$m0 KF   B0`stHDataMonoidc4m[F B0`stHDataMonoidc4m[Fs.X_UHCBase readsPrec  !NF DataMonoidcmr.;LF !NF DataMonoidcmr.;LF[Tù$UHCBase concatMapz   +3e?-DataMonoidc/mN}^F  GZA^DataMonoidc0m__F xegDataMonoidc m3.!`F aDataMonoidc m6PaFHIZDataMonoid9s kNF ~&=;bDataMonoid_'uv_2FM&DataMonoid_'xH YcDataMonoid_'v_2JicxDataMonoid_'u_2I/T&{{DataMonoidc3msZF4;(DataMonoidc1mB,XF:M 4DataMonoidc6ma UFKԣyDataMonoidc;mGRFZNVDataMonoid(UHCBaseBounded</;z7Js=cDataMonoid<'EBc UHC.Base.minBound53BDataMonoidcmo7sF53BDataMonoidcmo7sF%nUHCBasemaxBoundRR>(UHCBaseBounded</;z7J *DataMonoid<'EBb UHC.Base.maxBoundBW&DataMonoid<'EBa BW&DataMonoid<'EBa ~[%DataMonoid<Oh63B UHC.Base.showsPrec */$dDataMonoiddCDataMonoidB.D1oDMDataMonoidx_1ʉY!DataMonoidc]n;/kPFʉY!DataMonoidc]n;/kPFUy6 UHCBase showsPrec "F'*DataMonoidcdnQ1|ۛF"F'*DataMonoidcdnQ1|ۛFÏ ‚ UHCBasepackedStringToStringProduct @DataMonoidccnNzg~F@DataMonoidccnNzg~F"X_UHCBase showStringwGDataMonoidcanH?v5FwGDataMonoidcanH?v5F.IHUHCBase.BdFձ D5DrIyDataMonoid?5vU D3BlvGDataMonoid<:T1 D6AzDaDataMonoid4\c>ձ D9D} pMDataMonoid2B { D8C NDataMonoid28[?! D  IKDataMonoidd2 )DataMonoidc2 9u&DataMonoida2 KY/iiDataMonoidb2  f9yA:DataMonoidcQn_MF f9yA:DataMonoidcQn_MF  {@LDataMonoidcVn%!Z0%F {@LDataMonoidcVn%!Z0%F  nwQYDataMonoidc[n5_g]F nwQYDataMonoidc[n5_g]F  6d87DataMonoidc@ma$zF 6d87DataMonoidc@ma$zF >ײ!DataMonoidcCmO+^F    zDataMonoidMonoidE<TU B 䌥4DataMonoid4\c>ձ DD%f"rDataMonoidMonoidE<TU B & AwDataMonoid?5vU DB&QB5sDataMonoidMonoidG<TU B Data.Monoid.mempty-ɝ ŎDataMonoid<:T1 DAq*B*FDataMonoid2B { DC5iW(DataMonoidMonoidl<TU B 5iW(DataMonoidMonoidl<TU B W=;/DataMonoidMonoidl<TU B  '=LDataMonoid?5vU D BU[DataMonoidMonoidG<TU B Data.Monoid.mempty'tˀ/DataMonoid<:T1 D AN# DataMonoid2B { D C R"DataMonoidMonoid E<TU B }D*%DataMonoid4\c>ձ D DN~v&d5DataMonoidMonoidm<H= B6FaXDataMonoidMonoid<TU B TNDataMonoid?5vU DB^bMdDataMonoid4\c>ձ DDHLDataMonoid2B { DCݿ[gDataMonoid<:T1 DAD0@YDataMonoidco`XFD0@YDataMonoidco`XF5XrDataMonoidco4b0FXrDataMonoidco4b0F5UZ[4 DataMonoidco1@-FUZ[4 DataMonoidco1@-F5hyhѷDataMonoidco.+FhyhѷDataMonoidco.+F5D`D4DataMonoidMonoidG<TU B Data.Monoid.mempty NGSDataMonoidMonoidE<TU B  NGSDataMonoidMonoidE<TU B   c_M DataMonoid<u<B UHC.Base.showsPrec DataMonoiddZX g DataMonoid~eXpJD>nF SJDataMonoidx_1w\,VDataMonoidcn/VDFw\,VDataMonoidcn/VDFUy6 UHCBase showsPrec xs,6DataMonoidcoA:Fxs,6DataMonoidcoA:FÏ ‚ UHCBasepackedStringToStringFirst _DataMonoidco=P6F_DataMonoidco=P6F"X_UHCBase showString\|nyԴDataMonoidco71 F\|nyԴDataMonoidco71 F.IHUHCBase.sn.qDataMonoidcoI@NFsn.qDataMonoidcoI@NFUtUHCBase primGtInt rL3,SUHCBase showParenh wDataMonoid<u<B ȜiDataMonoid~eXpJD!H:I{DataMonoid<u<B ?mky'jDataMonoid<u<B ?mky'jDataMonoid<u<B q eHDataMonoid<u<B ȓf|RUDataMonoid~eXpJDnBgU&uDataMonoid<u<B ;{ۉ1UHCBaseShow<e,J@(UHCBaseShow<e,J0S0DataMonoid_10W0؅CJDataMonoid_20W0NDataMonoid_3&bKDataMonoidfy0 b7G&bKDataMonoidfy0 b7G*_<_DataMonoidcnłFL*o+DataMonoid<u<BmfDataMonoidD@#jGDj$o:ODataMonoid~eXpJDj$o:ODataMonoid~eXpJDS{PUHCBasep=DataMonoidx1|"fDataMonoidx2-{1dDataMonoidx1o6gUHCBaseGT=5!UHCBaseLTwNފvDataMonoidMonoid$h<z4uYB k |^pDataMonoidMonoid%h<z4uYB KqDataMonoidMonoidw<z4uYB KqDataMonoidMonoidw<z4uYB Q@T4DataMonoidMonoid&w<z4uYB І+DataMonoidMonoid'h<z4uYB 0_DataMonoidMonoidx<H= B6>,=.{DataMonoid_3{>,8L DataMonoid_2z>,-DataMonoid_1y|=9DataMonoidcn)F6I6𪮪UHCBaseEQӟxDataMonoidMonoid<z4uYBN=  "DataMonoidMonoidh<z4uYB N=  "DataMonoidMonoidh<z4uYB SdmFjDataMonoid<f,Bl UHC.Base.showsPrec .@?DataMonoidD- D?j\x>DataMonoidds`m_%5DataMonoidx_1t?H S<DataMonoidg|i\ F?H S<DataMonoidg|i\ FUy6 UHCBase showsPrec L3\ KDataMonoidg|f:g FL3\ KDataMonoidg|f:g FÏ ‚ UHCBasepackedStringToStringSum 5RDataMonoidg||< F5RDataMonoidg||< F"X_UHCBase showStringHDataMonoidg|vly FHDataMonoidg|vly F.IHUHCBase.?Ss:NDataMonoidg|\sF?Ss:NDataMonoidg|\sFUtUHCBase primGtInt rL3,SUHCBase showParenf cqDataMonoid<f,B1k ǏOkDataMonoid<f,B3k ,ɦDataMonoidD- D2jI;HDataMonoid<f,Bn I;HDataMonoid<f,Bn `-<Ȩ?DataMonoid<f,B4n ":DataMonoidD- D5jL(|BDataMonoid<f,B6k sѠUHCBaseShowo<e,J@(UHCBaseShow<e,J02g)ׁDataMonoid_3r02bOЈnDataMonoid_2q02{2DataMonoid_1p\!卮&DataMonoidgezji/G\!卮&DataMonoidgezji/GactDataMonoidg|lEFRzfDataMonoid<f,Bf:8pHDataMonoidD- Dj7UߡSDataMonoid<f,Bk 7UߡSDataMonoid<f,Bk ܮ?rDataMonoid</@\9B  UHC.Base.==^h }vDataMonoidf.&D@`]@QDataMonoidx_1`]`2IDataMonoidx_2/zUHCBase==ƶwu ADataMonoid</@\9B< >\uDataMonoidf.&D=FckDataMonoid</@\9B> -ЭSDataMonoid</@\9B -ЭSDataMonoid</@\9B nh#[DataMonoid</@\9B?  [Ӛ4DataMonoid</@\9BA d@DataMonoidf.&D@M FUHCBaseEq<>OXJiGβMUHCBaseEq<>OXJ03DataMonoid_203򠙊DataMonoid_1e^GDataMonoidgDzdGe^GDataMonoidgDzdG⥽JDataMonoidg|U0{+FڵG!DataMonoid</@\9BDataMonoidDT >~#DYU!MUDataMonoidf.&DYU!MUDataMonoidf.&DLI)UHCBaseDataMonoidx_2`r_BQfDataMonoidx_1/zUHCBase==&8dUHCBase<U0JͷDPDataMonoid<Ea s"BFw OXJiGβMUHCBaseEq<>OXJ02xYDataMonoid_2~02mȤ DataMonoid_1}s{|ycDataMonoidg|4Zk<Fᮖ# DataMonoid<Ea s"B-JnDataMonoid<Ea s"Bw -JnDataMonoid<Ea s"Bw -C+DataMonoid<7g(-BQ hDataMonoid<7g(-BT UHC.Base.minBoundGDataMonoid<7g(-BS *DataMonoid<7g(-BR UHC.Base.maxBoundlDataMonoid<7g(-B lDataMonoid<7g(-B F}gDataMonoid<7g(-BU 3vDataMonoid<7g(-BW ѫCDataMonoid<7g(-BV UHC.Base.maxBoundv4 ;DataMonoid<7g(-BX UHC.Base.minBound UlUHCBaseBounded<D ~JJa=zUHCBaseBounded<D ~JJ03۔DataMonoid_103sPDataMonoid_2HDataMonoidh }9-8qOOF_#DataMonoid<7g(-BU})V-DataMonoidC 3Qa8_Dadk=DataMonoidh&}L GIuEFadk=DataMonoidh&}L GIuEF%nUHCBasemaxBoundժnDataMonoid<7g(-B UHC.Base.maxBoundt%`DataMonoidh"}?m=S9IFt%`DataMonoidh"}?m=S9IFGd'UHCBaseminBoundWN DataMonoid<7g(-B UHC.Base.minBound o6$DataMonoid<7g(-B  o6$DataMonoid<7g(-B f԰DataMonoid<%2B UHC.Base.readsPrec#ClDataMonoidBn DAǑiݭDataMonoidd>xґDataMonoidh3}tgZF>xґDataMonoidh3}tgZFUtUHCBase primGtInt CƫDataMonoidl@pwGCƫDataMonoidl@pwGsUHCBase readParenH[n^YPPDataMonoid@UB\Fw6M(DataMonoidBn DBȞʷ@DataMonoidr̠RxDataMonoidhZ}=F̠RxDataMonoidhZ}=F30v0UHCBaselex5h~ڝDataMonoidlF"bqG5h~ڝDataMonoidlF"bqG[Tù$UHCBase concatMap0Ox DataMonoid@{]`FdsoPqDataMonoid_'uv_17z̚DataMonoidBn DC hWyDataMonoid_'xDataMonoid_'v_1DDataMonoid_'u_1M3Я3iQDataMonoid_'l_1Kc;DataMonoid_'l_1hY>+6;DataMonoid_'l_2FJDataMonoid_'l_1h5P-UHCBase primEqCharP MtaDataMonoidh|ZVjFI^TmBDataMonoid_'l_2C6DataMonoid_'l_2hY!FQDataMonoid_'l_3}6BDataMonoid_'l_2h5P-UHCBase primEqCharr3;DataMonoidh}&=)qF0DataMonoid_'l_3uh,>1DataMonoid_'l_3hY4dnDataMonoid_'l_4uU;DataMonoid_'l_3h5P-UHCBase primEqCharo q*!yFDataMonoidh} k xF   ?3DdDataMonoid_'l_4  /]NDataMonoid_'l_4h Y?b6[1DataMonoid_'l_5  aյMDataMonoid_'l_4h 5P-UHCBase primEqChar d  dԽDataMonoidh}M?F   H06DataMonoid_'l_5   Y1nʾDataMonoid_'l_6 ``6DataMonoid_'l_5h  / EDataMonoid_'l_5h 5P-UHCBase primEqChar u  fLzeDataMonoidhg~+ F   r(DataMonoid_'l_6   Y7rPDataMonoid_'l_7 c(O$DataMonoid_'l_6h _x-"~DataMonoid_'l_6h5P-UHCBase primEqChar cxTDataMonoidh^}]mF~Z'_[k/DataMonoid_'l_7 ϣEDataMonoid_'l_7hY]BvaDataMonoid_'l_8ǏD9WDataMonoid_'l_7h5P-UHCBase primEqChartx3N3DataMonoidhu~EL ߨFV{\`DataMonoid_'l_8/3DataMonoid_/3DataMonoid_8DataMonoidhx~N>gF) DFDataMonoidhH}F) DFDataMonoidhH}Fs.X_UHCBase readsPrec Z]ίDataMonoidhq~8,FZ]ίDataMonoidhq~8,F[Tù$UHCBase concatMapE%e!DataMonoidhC}['^FXf?42DataMonoidhD}dF 1jkDataMonoidh=}F   Ez\DataMonoidh>}F   D7BDataMonoidh?};F]8DataMonoidh@}mF^)DataMonoidhY}oF oѮDataMonoidAHĤsLwFeMbUDataMonoid_'uv_2!@DataMonoid_'x DataMonoid_'v_2ПvDataMonoid_'u_28aDataMonoidhG}kFUG2RkDataMonoidhE}+F,+x)HDataMonoidhJ}]sFz4QDataMonoidho~2[RFu {DataMonoid<%2B ۸TDataMonoid<%2B 6AI\^DataMonoidBn D)<DataMonoid<%2B )<DataMonoid<%2B iw88|3HDataMonoid<%2B #DataMonoid<%2B Y`'_=DataMonoidBn DAgrMUHCBaseRead<mt#*JQ(=UHCBaseRead<mt#*J?(NIDataMonoid_1?(YDataMonoid_2`P CDataMonoidlbvYjG`P CDataMonoidlbvYjG~P[?DataMonoidhX}F@DataMonoid<%2B= ȅDataMonoidBn DP@DataMonoid<%2B P@DataMonoid<%2B uTDataMonoid<?OB  UHC.Base.==` ^V!DataMonoidx_1`^r:UDataMonoidx_2/zUHCBase==&8dUHCBase<U0J໤mgDataMonoid<?OB ׄtYDataMonoid<?OB x0M=DataMonoid<?OB x0M=DataMonoid<?OB :YJDataMonoid<?OB  qDataMonoid<?OB i_UHCBaseEq<>OXJiGβMUHCBaseEq<>OXJ03!vaDataMonoid_103?hrDataMonoid_2>:%hDataMonoidh~LxFFLDataMonoid<?OB7 DataMonoid<?OB 7 DataMonoid<?OB 'DataMonoid<5>^BL UHC.Base.compare`P_8DataMonoidx_2\`V_DataMonoidx_1[ω.mUHCBasecompareQ UHCBase<w)1JRxאDataMonoid<5>^BK *]zDataMonoid<5>^BK krEDataMonoid<5>^BQ krEDataMonoid<5>^BQ c|DataMonoid<5>^BQ  ~ىDataMonoid<5>^BK t'zOUHCBaseOrdR<AuJo/]6UHCBaseOrd<AuJ03fDataMonoid_8Z03NaDataMonoid_5W03,`KDataMonoid_4V02jyDataMonoid_1S03~8wDataMonoid_3U03yDataMonoid_2T02;DataMonoid_7Y02>ÒDataMonoid_6Xɏ?DataMonoidhNFݳɆDataMonoid<5>^B=@F|DataMonoid<5>^BK =@F|DataMonoid<5>^BK rEwHaDataMonoid<oc&#B UHC.Base.compare`A^[A~kDataMonoidx_2`E^y5eDataMonoidx_1ω.mUHCBasecompareQ UHCBase<w)1JdUeuDataMonoid<oc&#B Ƙ|ٗDataMonoid<oc&#B ڑswDataMonoid<oc&#B ڑswDataMonoid<oc&#B ވE^DataMonoid<oc&#B  t[S]DataMonoid<oc&#B );&%UHCBaseOrd<AuJo/]6UHCBaseOrd<AuJ03ӨK DataMonoid_403VPUDataMonoid_103LjSDataMonoid_203nPDataMonoid_302(DataMonoid_803o{\DataMonoid_503}DataMonoid_703H| DataMonoid_6qnժDataMonoidh~d@TF^)DataMonoid<oc&#Bp`^?DataMonoid<oc&#B p`^?DataMonoid<oc&#B 6_$DataMonoidgetSumKC UHCBaseid /CDataMonoid<gZ?B  UHC.Base.=={GDataMonoida$4DD`3^U0)DataMonoidx_2`7^%;DataMonoidx_1/zUHCBase==jnJDataMonoid<gZ?B ZrrUHCBaseEq<>OXJiGβMUHCBaseEq<>OXJ03-fDataMonoid_203&kDataMonoid_1u3'DataMonoidl:H Gu3'DataMonoidl:H GIS>*KDataMonoidh=  F5O/UDataMonoid<gZ?BS#ӒDataMonoidD+RD DataMonoida$4D DataMonoida$4DLI)UHCBaseDFoDataMonoidd6MDataMonoidh|6G7F6MDataMonoidh|6G7FUtUHCBase primGtInt *I]DataMonoidmZI," G*I]DataMonoidmZI," GsUHCBase readParenGFNDataMonoid?m3u9FZA^|DataMonoidr<鍳DataMonoidD? DG,L^DataMonoidiCMC:vF,L^DataMonoidiCMC:vF30v0UHCBaselexGDataMonoidmDipd GGDataMonoidmDipd G[Tù$UHCBase concatMap4DataMonoid?`=F|ՒDataMonoid_'uv_18WZBDataMonoidD? DHDtaDataMonoid<m)5B  PDataMonoid<m)5B  PDataMonoid<m)5B f\L uDataMonoid<m)5B )H{DataMonoid<m)5B "eټDataMonoidD? D>d({UHCBaseRead<mt#*JQ(=UHCBaseRead<mt#*J0y0E2DataMonoid_20}0MxrDataMonoid_1snPDataMonoidmy+  GsnPDataMonoidmy+  GTw 4[DataMonoidi #]Ā|F"DDataMonoid<m)5BB,+X'8DataMonoidD? DƬ>QDataMonoid<m)5B Ƭ>QDataMonoid<m)5B CZXDataMonoidFirstKC UHCBaseidtG UDataMonoidMonoidGXlDataMonoidMonoidR-c),DataMonoid_1T>-n2DataMonoid_2U>-eDataMonoid_3VGL+DataMonoidi^"`LymFL"-UHCBaseNothing< DataMonoidMonoid +DataMonoid_27> +DataMonoid_16wqW9vDataMonoidip[yF DataMonoid<-VWO&BeFC9DataMonoidivnpFeFC9DataMonoidivnpFGd'UHCBaseminBoundRR>(UHCBaseBounded</;z7Jӧ ۷B$|DataMonoid<-VWO&B1 UHC.Base.minBoundZ+BRDataMonoidiraP} FZ+BRDataMonoidiraP} F%nUHCBasemaxBoundRR>(UHCBaseBounded</;z7JD*DataMonoid<-VWO&B0 UHC.Base.maxBound䵖[DataMonoid<-VWO&B/ 䵖[DataMonoid<-VWO&B/ BG2yDataMonoidN D;*DataMonoidE}%EqD 8v@DUHCBaseEqN %B ;\UHCBaseEqS ?(,DataMonoid_1O?)mDataMonoid_8V?(DataMonoid_7U?(TDataMonoid_4R?(3DataMonoid_6T?(KDataMonoid_2P?(DataMonoid_3Q 79 DataMonoid<U:B: UHC.Base.compareH|#<DataMonoid(d CDI=oiExiDataMonoidx_1HomEXcDataMonoidx_2Iω.mUHCBasecompareX9)ثNDataMonoid<U:B9 ^DataMonoid(d CD=˸@w4XDataMonoid<U:B9 DqB*DataMonoidG,Ĥ._D<_[}qXDataMonoid<U:B> _[}qXDataMonoid<U:B> #G DataMonoid<U:B>  nADataMonoid(d CD=N<#2DataMonoidG,Ĥ._D< dlDataMonoid<U:B9 WH~ UHCBaseOrd?<AuJo/]6UHCBaseOrd<AuJ?(9DataMonoid_2A?(*PxDataMonoid_1@?)^DataMonoid_8G?(?DataMonoid_7F?(! DataMonoid_5D?(!ZDataMonoid_4C?(W:~DataMonoid_6E?(˱>DataMonoid_3BL?JDataMonoidj)DO{ @GL?JDataMonoidj)DO{ @Gi^ DataMonoidiR/yiFĪB "DataMonoid<U:Bޒ,QDataMonoidE}%EqD8h4*DataMonoidN D;h4*DataMonoidN D;ynADataMonoidG,Ĥ._D<ynADataMonoidG,Ĥ._D<f 6IeDataMonoid(d CD=f 6IeDataMonoid(d CD=EVC4UHCBaseiFAGt:ʋDataMonoidi>iF.IHUHCBase.b5;ADataMonoidiA>Fb5;ADataMonoidiA>FUtUHCBase primGtInt rL3,SUHCBase showParenٗJ|*LDataMonoid<T`%BW :{4LDataMonoid_?cQ*LDataMonoid3DataMonoidx1)%Wk#NぉgDataMonoid;Y8 ED(JCS,1DataMonoidm4CS,1DataMonoidm4Z&~v-DataMonoidx2;|}t?ؼDataMonoid_<`$)DataMonoidm+4|dlDataMonoidx1-%T0xDataMonoidx2.2hĻ1[DataMonoid;Y8 ED,J@%y>M7dDataMonoidx157DataMonoidm16(DataMonoidx27 e$DataMonoidm28=ؓnDataMonoidiF=ؓnDataMonoidiF2$DataMonoidi^F2$DataMonoidi^F)U$AUHCBaseJustd褎UHCBase undefinedd褎UHCBase undefinedhMdHDataMonoidMonoid5<7H7B  yO8DuDataMonoid;Y8 ED7[^ DataMonoidMonoid6<7H7B |0 'DataMonoidMonoid <7H7B |0 'DataMonoidMonoid <7H7B Ip gDataMonoidMonoid8 <7H7B }eDataMonoid;Y8 ED:&2%DataMonoidMonoid9<7H7B 3@(DataMonoidMonoid!<H= B6<%2DataMonoid_3$<%>qDataMonoid_1"<%5pDataMonoid_2#h1]DataMonoidjZl4W9 _DataMonoid<tM/z?BBe #($rDataMonoid<tM/z?BEg UHC.Base.minBoundt?=cDataMonoid<tM/z?BCf UHC.Base.maxBound/0uDataMonoid<tM/z?BDe ӝĐgDataMonoid<tM/z?Bi ӝĐgDataMonoid<tM/z?Bi s+DataMonoid<tM/z?BFi 8K2tDataMonoid<tM/z?BIg UHC.Base.minBoundh.L@DataMonoid<tM/z?BHe m1DataMonoid<tM/z?BGf UHC.Base.maxBound.ɑUHCBaseBoundedj<D ~JJa=zUHCBaseBounded<D ~JJ> +T`DataMonoid_1k>&+2ZDataMonoid_2luKDataMonoidev07 FYDataMonoid<tM/z?B:C4dTDataMonoidE;U4Dd|WnDataMonoidevCAF|WnDataMonoidevCAF%nUHCBasemaxBound͍(DataMonoid<tM/z?Bf UHC.Base.maxBoundq`(fDataMonoidev7Fq`(fDataMonoidev7FGd'UHCBaseminBound 1ajDataMonoid<tM/z?Bg UHC.Base.minBound (k*gDataMonoid<tM/z?Be  (k*gDataMonoid<tM/z?Be ZDataMonoid<eR2E$Bn UHC.Base.readsPrec,ZnDataMonoiddu[*#DataMonoidevfE(F[*#DataMonoidevfE(FUtUHCBase primGtInt sUHCBase readParenMbDataMonoid> N$EFq DataMonoidrvG(nB jDataMonoidf$v8NEKFG(nB jDataMonoidf$v8NEKF30v0UHCBaselex[Tù$UHCBase concatMap\u,[.DataMonoid> AEF 9dGDataMonoid_'uv_1w$}ODataMonoid_'xy4Odg(DataMonoid_'v_1{u\DataMonoid_'u_1z76N DataMonoid_'l_1}Y}UDataMonoid_'l_2rA@DataMonoid_'l_1~hDataMonoid_'l_1h5P-UHCBase primEqCharAKDataMonoideu%bx$F3wS3DataMonoid_'l_2mP 3DataMonoid_'l_2hY(hDataMonoid_'l_3PP|DataMonoid_'l_2h5P-UHCBase primEqCharn xJDataMonoideu`^{+F9c<I@jDataMonoid_'l_3gUԊDataMonoid_'l_3hYn#DataMonoid_'l_4C9m?JDataMonoid_'l_3h5P-UHCBase primEqCharyjf7DataMonoideved62F\f2DataMonoid_'l_4d~DataMonoid_d~DataMonoid_ .n=DataMonoidev'65F   Z5ׄDataMonoidf&wRwuEF Z5ׄDataMonoidf&wRwuEFs.X_UHCBase readsPrec'lUÁUHCBase<My4J  u*5DataMonoidevEz6F u*5DataMonoidevEz6F[Tù$UHCBase concatMap  9!o?DataMonoidf!vFF HF7 Y%`DataMonoidf"vhH9IF55iDataMonoidf#vKѾJFTˢ̈́DataMonoid> Dau8Fwd 4DataMonoid_'uv_2Md#ϛwDataMonoid_'xVưdlDataMonoid_'v_2#\78DataMonoid_'u_2D;R-3DataMonoidf%vfPDF].IDataMonoidf+wF_BF|grDataMonoideuG}^?Ful~՛DataMonoideuUv<Fv>pDataMonoid<eR2E$Bim c`DataMonoid<eR2E$Bjm =DataMonoid<eR2E$Bq =DataMonoid<eR2E$Bq *{]/DataMonoid<eR2E$Bkq J@JDataMonoid<eR2E$Blm 4lMR*UHCBaseReadr<mt#*JQ(=UHCBaseRead<mt#*J?(JDataMonoid_1s?(F>DataMonoid_2tգB'DataMonoidf:w>QFӳ!xtDataMonoid<eR2E$B|]DataMonoid<eR2E$Bm |]DataMonoid<eR2E$Bm Ev.?>DataMonoidMonoid<>GB Data.Monoid.mempty nJDataMonoid4!_aޘ DDataMonoid?[@ DK5ErM<DataMonoidMonoid<>GB Data.Monoid.mappend L)c*DataMonoidx Xg$fDataMonoidf DataMonoidg (_MDataMonoid?[@ DLUiDataMonoidfvf*fFUiDataMonoidfvf*fFXŲ[Y$DataMonoidfvH*UeFXŲ[Y$DataMonoidfvH*UeF0ؗDataMonoidMonoidt<>GB -nDataMonoid?[@ DvWn5*DataMonoidMonoidu<>GB =UDataMonoidMonoid<>GB =UDataMonoidMonoid<>GB mN`5DataMonoidMonoidw<>GB ;&,(DataMonoid?[@ DygDataMonoidMonoidx<>GB JnfODataMonoidMonoid<H= B6<%UmK@DataMonoid_3 < %QFvDataMonoid_2 <%vUDataMonoid_1ҌSDataMonoidkFsX] oGҌSDataMonoidkFsX] oGm'8DataMonoidjCCUq nGm'8DataMonoidjCCUq nGʝe+DataMonoidev~lF> /DataMonoidMonoid<>GBenpqDataMonoid?[@ DmHDataMonoidMonoid<>GB mHDataMonoidMonoid<>GB u8k9 DataMonoid<q',B UHC.Base.showsPrec ؃mDataMonoiddE>eDataMonoidB^ʞ1DMoDC5:DataMonoidx_1꥔sO['DataMonoidfiwzF꥔sO['DataMonoidfiwzFUy6 UHCBase showsPrec NjDataMonoidfvH?FNjDataMonoidfvH?FÏ ‚ UHCBasepackedStringToStringDual *H~CHDataMonoidfv4~F*H~CHDataMonoidfv4~F"X_UHCBase showString& [DataMonoidf vV|F& [DataMonoidf vV|F.IHUHCBase.K MDataMonoidfv6#azFK MDataMonoidfv6#azFUtUHCBase primGtInt rL3,SUHCBase showParend- DataMonoid<q',B #@e&sDataMonoid<q',B )K|\PDataMonoidB^ʞ1Dj%DataMonoid<q',B j%DataMonoid<q',B ~7)DataMonoid<q',B -J:DataMonoidB^ʞ1D-jZDataMonoid<q',B  PUHCBaseShow<e,J@(UHCBaseShow<e,J?)BDataMonoid_1?)TiCDataMonoid_2?)&nDataMonoid_3ϐ NlDataMonoidkK3 Gϐ NlDataMonoidkK3 GgDataMonoidfawFpFppKDataMonoid<q',BIdsDataMonoidB^ʞ1Df8/DataMonoid<q',B f8/DataMonoid<q',B  .DataMonoidEndoKC UHCBaseid|DataMonoidMonoid7<}[Ri B Data.Monoid.mappendط^DataMonoid> ώ/DB<:j{)DataMonoid> ljD>`mMUHCBase&&1[V_DataMonoidMonoid6<}[Ri B rDataMonoidMonoid6<}[Ri B r:DataMonoidMonoid9<}[Ri B r:DataMonoidMonoid9<}[Ri B VȾ(,GDataMonoidMonoid9<}[Ri B FDataMonoidMonoid6<}[Ri B X]DataMonoidMonoid:<H= B61,Bga{DataMonoid_1;1,RiDataMonoid_3=1,xjGDataMonoid_2<G+kӱDataMonoidfswF‹\@?UHCBaseTrueozgDataMonoidMonoid<}[Ri B7eDataMonoidMonoid6<}[Ri B 7eDataMonoidMonoid6<}[Ri B  &*DataMonoid getProductKC UHCBaseide.(DataMonoidProductKC UHCBaseidjˇ:DataMonoidMonoid.<NSB TBxWDataMonoidMonoid.<NSB ACDataMonoidMonoid1<NSB ACDataMonoidMonoid1<NSB ƒqKDataMonoidMonoid1<NSB 4W\EDataMonoidMonoid.<NSB c2O%厎DataMonoidMonoid2<H= B61,"u%DataMonoid_351,sDataMonoid_131,H#DataMonoid_24Ro܂DataMonoidfGwhfFfCUHCBase++Kҭ#uUHCBase[]G+DataMonoidMonoid<NSB@g{FbDataMonoidMonoid.<NSB @g{FbDataMonoidMonoid.<NSB