summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--dss1.cpp8
-rw-r--r--joinpbx.cpp9
-rw-r--r--mISDN.cpp4
-rw-r--r--port.cpp11
-rw-r--r--tones_american/joined.isdn168
-rw-r--r--tones_american/left.isdn168
6 files changed, 188 insertions, 180 deletions
diff --git a/dss1.cpp b/dss1.cpp
index 3c9afa5..2df2645 100644
--- a/dss1.cpp
+++ b/dss1.cpp
@@ -1180,14 +1180,10 @@ void Pdss1::connect_ind(unsigned long prim, unsigned long dinfo, void *data)
struct lcr_msg *message;
int bchannel_before;
+#ifndef SOCKET_MISDN
if (p_m_d_ntmode)
- {
-#ifdef SOCKET_MISDN
- p_m_d_ces = pid >> 16;
-#else
p_m_d_ces = connect->ces;
#endif
- }
l1l2l3_trace_header(p_m_mISDNport, this, L3_CONNECT_IND, DIRECTION_IN);
#ifdef SOCKET_MISDN
@@ -4088,6 +4084,8 @@ int stack2manager(struct mISDNport *mISDNport, unsigned int cmd, unsigned int pi
if ((pdss1->p_m_d_l3id&MISDN_PID_CRTYPE_MASK) != MISDN_PID_MASTER)
PERROR(" strange setup-procid 0x%x\n", pdss1->p_m_d_l3id);
pdss1->p_m_d_l3id = pid;
+ if (port->p_state == PORT_STATE_CONNECT)
+ pdss1->p_m_d_ces = pid >> 16;
add_trace("callref", "new", "0x%x", pdss1->p_m_d_l3id);
end_trace();
return(0);
diff --git a/joinpbx.cpp b/joinpbx.cpp
index 15bfcd8..635f059 100644
--- a/joinpbx.cpp
+++ b/joinpbx.cpp
@@ -411,7 +411,7 @@ void JoinPBX::bridge(void)
/* one member in a join, so we put her on hold */
if ((relations==1 || numconnect==1)/* && !j_partyline_jingle*/)
{
- PDEBUG(DEBUG_JOIN, "join%d 1 member or only 1 connected, put on hold\n");
+ PDEBUG(DEBUG_JOIN, "join%d 1 member or only 1 connected, put on hold\n", j_serial);
relation = j_relation;
while(relation)
{
@@ -424,7 +424,7 @@ void JoinPBX::bridge(void)
} else
/* if conference/partyline (or more than two members and more than one is connected), so we set conference state */
{
- PDEBUG(DEBUG_JOIN, "join%d %d members, %d connected, signal conference\n", relations, numconnect);
+ PDEBUG(DEBUG_JOIN, "join%d %d members, %d connected, signal conference\n", j_serial, relations, numconnect);
relation = j_relation;
while(relation)
{
@@ -734,7 +734,7 @@ void JoinPBX::message_epoint(unsigned long epoint_id, int message_type, union pa
case MESSAGE_RELEASE:
PDEBUG(DEBUG_JOIN, "releasing from join\n");
release(relation, 0, 0);
- if (j_relation && j_partyline_jingle)
+ if (j_partyline_jingle)
play_jingle(0);
break;
@@ -1041,11 +1041,10 @@ void JoinPBX::play_jingle(int in)
return;
if (!relation->next)
return;
-
while(relation)
{
message = message_create(j_serial, relation->epoint_id, JOIN_TO_EPOINT, MESSAGE_TONE);
- SCPY(message->param.tone.name, (char *)((in)?"left":"joined"));
+ SCPY(message->param.tone.name, (char *)((in)?"joined":"left"));
message_put(message);
relation = relation->next;
}
diff --git a/mISDN.cpp b/mISDN.cpp
index 188eb37..6a9e569 100644
--- a/mISDN.cpp
+++ b/mISDN.cpp
@@ -1613,14 +1613,14 @@ int PmISDN::handler(void)
}
/* send data */
- if (p_m_mISDNport->b_state[p_m_b_index] == B_STATE_ACTIVE)
+ if (p_m_mISDNport->b_state[p_m_b_index] == B_STATE_ACTIVE && ISDN_LOAD-p_m_load-tosend > 0)
{
#ifdef SOCKET_MISDN
frm->prim = PH_DATA_REQ;
frm->id = 0;
ret = sendto(p_m_mISDNport->b_socket[p_m_b_index], buf, MISDN_HEADER_LEN+ISDN_LOAD-p_m_load-tosend, 0, NULL, 0);
if (ret <= 0)
- PERROR("Failed to send to socket %d\n", p_m_mISDNport->b_socket[p_m_b_index]);
+ PERROR("Failed to send to socket %d (samples = %d)\n", p_m_mISDNport->b_socket[p_m_b_index], ISDN_LOAD-p_m_load-tosend);
#else
frm->prim = DL_DATA | REQUEST;
frm->addr = p_m_mISDNport->b_addr[p_m_b_index] | FLG_MSG_DOWN;
diff --git a/port.cpp b/port.cpp
index e397b31..95ed3d5 100644
--- a/port.cpp
+++ b/port.cpp
@@ -303,6 +303,17 @@ void Port::set_tone(char *dir, char *name)
if (name == NULL)
name = "";
+#if 0
+ /* if tones is jingle, store next tone */
+ if ((p_tone_fh >= 0 || p_tone_fetched)
+ && (!strcmp(p_tone_name, "left") || !strcmp(p_tone_name, "joined")))
+ {
+ SCPY(p_tone_dir, dir);
+ SCPY(p_tone_name, name);
+ return;
+ }
+#endif
+
/* no counter, no eof, normal speed */
p_tone_counter = 0;
p_tone_eof = 0;
diff --git a/tones_american/joined.isdn b/tones_american/joined.isdn
index 95c9d71..2104856 100644
--- a/tones_american/joined.isdn
+++ b/tones_american/joined.isdn
@@ -1,77 +1,101 @@
-*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************+**+**++**+**+**+*++*++**++*++++++++++*++****+**++++++*+*++*+{{'2r)RR>ֳhCcrgoovo3gf"cγkW'gg) >vzzڻf((Rj*&:
-CWǗ:rF*r^HH#RkcWyGOwWi.sV(srjr'i9_G GW;RZFؖVh2vB^wWgiW[/o I_{VvR[Fֈ^j
-+)WyW?GWg'.^˶(hR~gfbocyiio_)7iIG.&F8x+Coiy ) G_i?Fȸv6蘘8拂:˞R'G9Y W7)&FhƞFVxx(3Z+a!IiW))hV/Kj yi)7?w
-v8(Hx(cb*2+7YY7)7iGHȶv8h &ngJGOya!i鉷) w:(h(Ș^Os''yY9W_w&hHȸ(Hx^/_ə9yI_GCwJz&ȸhVVhh8&2:w'C_79yىgoow/Z6HH興F&((hn3'yYyyWO/GǃR&(h6F(ȸ(g7[O)yI G[sSggJ消x6Hh6?w[7wi!9 icO'"fvH(֖(h(V'7S_w)9;O?oRHH(6v>_'_o#Ϸ) y g
- HVƆ((Bs_ow 9 w3?hhF&V((R_GG'O_ɹ)糣g3V(vF^>F((s'/+ I)J[so_^6(^F((3__7kSg9) oz&Vfnb.֖fJ'7wǏ[G g g+ z2V~h.7)9YiΆbWJ)fHH(B&(r^n()wo_^›Kc^
-J/s.v(7'!)ÊG7?_."S[^X`XxvJ.NVFFRZ 'i  :{G '_6f^H~fR>8NJ7>N&"^zg wSo;
-N~YIɉ)7zGÎ[R"C~`x~(~N&>7_׹Ya))7ϟWyY9)Fff~(6.>>nvFX`X&b>VnR~S/GI bsY gWJsC&^zFv VF&(6r)ii!Iwi i9!Yg?'Or>v*hhh8xk2ZJ R cJ)ii)ɉoJ3wi))I)_fNJfNRnHxHv6v6FF6vNrϏ )W_ IK&fN(Vff֖FvX8(((6r~O??G )gϷI9I)i7K Rr*^ff(h(b&Fn2rCwWii)i)7I99wJ^N~^fnvv88hv~ZB^&f.GWiggGII9wCN&~(8 `xF&h(6f.Z:)))))99IW&^f^hH88nھf&rc)iiI)IY)7/
-닋[ 2&xX6&&(6sW y wWi)IÛ&v6888XvFƆF^2K?w)iwG I!IW_o+~r::FFX 8VfFf&Vgi99ɉI97 yyig{J &&nK.&&vhHH8h2nf6(h&{W)77W)I99YW_#*K.N2+rf66(H X8>66Fֆ;'wI9W7iI cR^K^^8(~kΖֶ6V&c_ g7'giy9IɷzB
-
-N:J~V(H Hh(6J"f^&)WiI ggǷ翇iIG:&fn&kZ^ֈ8Ffnz
-(Ǝg7))Ǐ/ggG)Iy7GkrjR.zhhh6&&N"Z":;wi i 7?GGWGO3f>V(Vh^BZ2"n΂Z˿GW77s7Wi ǿ :.^rb2n>NvhHHHֆ>Rf+3g)Ww_sS_GW;nR(hh( ".^&^r{s7)W矟?'7WWWw'S .B
-N^f(h(6&"n.N~rzC)W7?_ww'r~>΂.^(Vvf^R>&z7S/SO_Gw7_#R...26(V^BRrs7GgOooo77Gg/ۚr2zK
-r^F&~.~~Rsg_/S/'77'
-Z:J R&fFv^>NR&~RO_'oCsOGO/[
-¢**fF66NRR&nc3Ƿ'SKJۋ:2~ffR.&o?Oc3gg?sj+{KJzzNf&&&&~B2ΎN^&nkSoooSSg?SC;3s;z"BRN^&2r~&^Z+K{CO33ϏS_g'c#3Rnf&~>Nrn~^^Z#33/?O??'G'sC3sc2n>^fNξN&&~>s3?_gg''_CsC[K:~^f^~>>>~^&f^>2
-#sS/s?_燇g_?S3ssC# :B~^&^N>~^&ff&3sssss/_'燇_o/SSSS[K"~>N>^&f.škCCCO'gg_Oo/SS/C[R~~~~N>&fff&>Zj;#Ã[[Cs/'''_?o/S*ZΞ^^>N>ff^.j[ã3/oϟ'gg''_Ϗ/ooSs2.>>NNNN~&fff&>R
-k{[c#3/ggg'_Oo//SC[R>>NN&ff^Rc#ۃ3Ͽ'gg'_Ϗ/S[K:Rξ>N>^ff^RJ+[#3/O'gg'?oS rN>^&&^Nnr"
-K[#c3S?_gggg'_?OOoSۋr.nξ^^&&^Nrb:*K;3So_'gg'?Ϗoo/3#K:bRnNNN>^&&&&&N.r+{[CsS__''?O/S/kRNN~>^&&&&&&N.rz*K{[3sSO__'''?Ϗ/s{JbNN~~~^&&^^&^N.2ڊ {;cs__'''_O/ss3c{bnN>~^&&^^^.2kc/o__'''_/3C#{k:"r>>>~^&^~N"z#3So?_''___Ϗo/sc;kr.>~~^~>N.J*Có/O?_''____o/S#{K:2.N~~~~N.
-KCssSOO_'''__/Sۛ;*"r.N~~~>~>nRʋ{Cs/O__'__O/cۛkJ2.>~~~~>>NNΎ.rzjK[3SSoϿ___?oS#{KkJb2.N~~>NNNNnR2b*#C3S///oO?__O/s#;늺rN>~~NnR2"+csSSSS/Ͽ?C;Kˋ*
-rξ>>NnBZJkc3sSSSO?OSc;K k*
-zBξ>NnnnnBZ
- {Csss333sSO??s[{K k+*ZNNn.nnn.r #ó33CC3/oOOoS3c{ k+*
-b2Rn.RRR....Rr":j˛#CCCCC3s/o/C{ k+Zb.nn.RrRRrJ*˛[cC3s//S3#;K k+Zb2R...Rrr22rrr2"+{#cccó3sS//Sk*j
-:"2rRRrr22222"
-K{ۣcccccC3sSS//Ss3c;ˋ*ʺ²2rrr22BBBbZz+[c3ssssÃ#[K *
-JzZBBBb"J*;[###có3333Ã[{ˋk
-:"bBb"
-+K{[###CCCC[{ k+*Z₂bbbbbb"ZzJ*k;[###c#{ k+*
-ڢb"bbb""z*kK{{{ۣ[#ccc###[;;K k+j
-Jڢ"""""b""""ښ:J
-j+k K;{{{[[[[##[{; k+j
-J:zZZZZ""ZJ
-j+k K;{{[{;K +
-J:zzzZZZz:J
-j*k K;{{{{;ˋk+JJ::zښz:
-j*+k K;{{{{{{{;ˋk+
-JJJ:zzz:J
-j**+k K{{{{;;;;;;Kˋk+
-
-JJJJJJ:zzz:J
-j**++k K;{{{;;K +
-
-JJJ::
-j*+++k ˻;;;;KKK *j
-
+*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************++++***++*++*++**++*+++*+++**+++*****++**++**+**+*++*++*++****++++++*+**+*++*kjk+J'_?{s{ljﶆfsSzKovfhv7Gri۞o׉)jf_>v(#nsfvh32K 7)g7Z?׿/iwW2
+#.;R2nh(h2rnkcF~o:)ɉ'ׇ3)wWKvzO{KN H8hF趻's^>"V&ǿ 9w'sy W) i^~R&6RnxvZ˂fRRF֖^7' 9'G_W)Wf&nFڎF(ָXX((nJ(^fvF7G)9i3GGIiw7
+f^rnFxxvkWi G)wI )GG~nzۻRhxxHfֆNii)i_i9I'SfFnb^&&&hxxxxfN~&6Jo_)iWw_7iiWח7'jF^(x&>~&f#I WII)iiG/"
+.&~zƶv(ȖVj~&22nw鉹yW)7I9))~b~.Bf(((ȸxH(.f&Nj_WW GGG' ).F>&^&^>xxX(v6V&.nBWi) ׷Gi) 9ɗJr^2~&H88hv&f.&6&>ciɹɹW))I99iwG+rRnHx86&^֖Rz?W iI 7iɉ鹙 _
+f&6(8xhvv6Ɔf{/ɉii)i IyyI)Of~r2~&^Hx8xx(f6&~o?G 9 Ioo^nZn6x8H8VJhJ_X(B7)W)9C7鹱!oN6ghH8` Vh h2.bVhf"9iW c ϗ iwwg^
+ۆVFȈBhx`ؘ7)7iW7)WaaYفY^6چFr>  xV7g.f)isw+g3Z2Ss_ W k(HJω2h(8֊xX`W)yYI!iyAiG&hvVȈVH6Xf&ωi)W2^OoI)isCB&ƶ#iiw7*:IWW{O~>x vh؀` cGIIYyI)!Ya9?fH(ֶ xv(vhYY)ssi ɷ/^z^&) 'oB>;)Gsʳ&8 XVH`8s'၁ى9i)wZHV`X(hR(2_9y!!7wgiWW/f&Z66hV#G iLJSCIY7ǏzF ؘVhxXi!!7iiS8xHV(v6f""&3)yISWGOFVF.VvFgW_?'y g3RkCvV xHVh8xx8v))))yYyy gW^VXhhVȈHFb3:g7IY'.痟"hfVֶr_)GowyY )B:j;(8HhVVxHh6?G_iyWOǗwGk8HFFvVH(c* s'W I 7SJ3h(6nnFfzG'G99iG/;+Zjso{NF((6Fh(~[o_/S9I7Os_G7fvh(^^(hV(3"z_iio#/OSr^hr:&zח'3OsSBhhFN~h&2w7c') I)OJo'_v(^RN&h6^/?Sz)#b3?3z(vfZ6r#GwS3wiWgZZ+3(&RzN6Fs?G3)O3_'(ֆnF^oO Gg?nBsJ^6ƾr
+^fOOk_r*3NƶBbj2&*Ooco7?s.>f.
+Z:^~n{OSc+rb㏿_3S^枢ZrƆ~bc+S_?kϿOϳ>Bf";/#*
+g'o{k{/?o.n*J2jcscKjbj''[+kso["RnR:n~Ύ#+rz;#S?SʋS3*BrB
+n~2"[J[sO?Sۛ{+s322 b2J#
+
+z"csC;ʻC["RRRb"Br>n#+
+jZksS[k
+J#K
+2n.bJBR"J˃#*J{3s+;[BRšJ:brRRۻK K/{{ +c[
+BRr22Z
+JRbsۻ S/o/#k*+{늚2..2B"Jb2r*;3s#;;SS/ꊊ:j*ʚr.Z*zrڻ[cS/cK{{ oSS:
+:{zr.z+J"z3SCKsCZJJ
+K{jbk;""cS/Ë{[Ss#B+K:2rRn"k{b":jo/S*j;oK+zrjk..k+{bJ o/j{S
+R"zjbRk b+/ϏC
+csSJ.bzξnr;KkkJb*oOo3c;*C32.R:ڂRξRŠ;jJ˃SO3{ Ks3c Z22:2.N*{kʺ+[Os3//3["2r.Jk; *
+jKϿ3#S/SCbrr¢"2nN"
+k kJ
+OS#cs//s+2r.NnB *J
+*/sc3So/C*ZBbzrnN.z
++
+Co3csSoS#J2""".NN.bJ
+jJz
+[oϏS///sꚂ"rNzJJz*co/s//SCKJZZ.>>nr"zz:+CSos33o/s"b"BnN2"z#3/oSs3s/oo/3[*"2.>~.rbZ""
+SooSsSÛbb"nξ>N2"ڢZjks//ooSsϏc;ZZZN2bڢ"JkK#//o/s/s[;*zz"B.ΎRB"ZJ cs/S///O3 *JzBr.ΎnnR222zs//SooOSC{k+
+zRnRr2rJ+3sSSSoOO/s;k+:BRnn.BZʋCsssSoC[Kk+r.n..B
+ [CsSoO/s; JnnnRBjK[cCs/OO/3c[K *:BRnnnnn..nn+c#ósosc;Kj2.nnRn"+[ۣs3Kj...RRn.2ڊ[#3/3#{bRRRR.R* [[#Cs/OϏo/3c[{Kj2R.RrRRz+ {[/OϏ/Ss#K*²rR2rR..2+˻CSS3CCc{Z²rrrR.n.:+K;{[/oϏ/Ss3C
+2rr2rRR"*kK[3SoSsCóC㛋"2rr2.nR":+*;[/ooSs3Cc{"B2222r.nnZ:+*+[/ooo3CCcJ"BBBr.nnnںj**;So/sCCCC+²B²r.nnrb*{#SSsCC#;+Br.n.2Jj* #3S//33ãJbBrRRJ
+
+* #3S///3C[Jڢ"brR...¢
++#SSSsCCCKb2RRRrښ
+*˛#Ssó*
+Zb2RR2bz:ʊ
+*K#Css3CC *ʚZZB2RrB:
++Css3CÃ[kjJ"B2r2BZ:J
+j+Kó3c#;kJڢb2rr2z
+kKCCccccc#[{*b²r2B"::ʊjk;#CÃcccc *
+J:zzbB"Zz:J
+j*#cc####[{
+JzZbZJJ
+ [#cc####;k
+ʺZbbzJ
++K{ۣ##[{K+jJzڢbbbZ:J
+j {[####[[k+jJJZb"
+jj*kK;[[#[[[{{*jJJZ"zJJ
+j*K;{[{;k*JJڢ"zJJ
++ KK +*JZZzJʊ** ;{{;Kˋ+*Jښz
+
+j*+ ;{{{K k*jj
+JJz:J
+j*+k˻;{{{;;;K j
+JzJʊj+;;{{;;ˋk+jj
+JJ:zzzzJ
+jjj*+k K;;;;;K k*j
+JJ:zz:J
+j* K;;;;;KK +j
+
+JJ:z:J
+jj* K;;KKKKK *j
+
+
+J:::J
+j**+k K;KKKK k+j
+
+
+
+J::Jʊj**++k KKKK k*j
+
+
+
+JJJ
+***+k KK +*j
+
+
+
+JJJJJ
+j***+ KKKK k+j
+
+
+
+JJ
+j***++k KK k+*ꊊ
+
+
+
+j*++++k K kkk+*j
+
+j*+++++k kkkkkk+*j
+**+++++k kkkkkk+*jjjjj
-ʺ::::J
-j****++k K;KK +*j
-
-
-
-
-
-
-JJJJ
-j******+++k KKKK +*j
-
-
-
-JJJJ
-j********+k kk k*jj
-jjjj
-
-j********++k kkkkkk+*jjjjjjjj
-
-
-
-
-
-
-j****++***++kk kkkkkkkkk+*jjjjjjj
-
-jj*****+****+kkkkkkkkkkk+*jjjjjjjjj*****+****++kkkkkkk+**j**jjjjjj**++++++++*++kkkkkk++******jj**++++++++++++kk++++++++++**************+++++++++++++++++++++++++++*************************++++++++++++++++++++++++++++++++++***************************++++++++++++++++++++++++++++++++++****************************++++*****+*++**
+j**+++++kk kk*jjjjjjj
+j*++++++kk kkk+*jjjjjjjjj*++++++k kk++jjjjjjjjjj*++++++kk++++*jjjjjjjjjjj**++++++kkkk++++**jjjjjjjj**+++++kkkkk+++++++**jjjjjj*+++++++kkkk+++++++**jj**++++++++kkk++++++++*****+++++++++k++++++++***********++++++++++++++++++++*************++++++++++++++++++++*****************++++++++++++++++++++++******************+++++++++++++++++++++++******************+++++++++++++++++++++++*****************+++++++++++++++++++++++******************+++++*++++++++++*++++++*****************+++++*+++++++++++++++++******************+++++**+++++++++++++*++******************+***+**+++++**++*++**+******************+*******************************************
diff --git a/tones_american/left.isdn b/tones_american/left.isdn
index 2104856..95c9d71 100644
--- a/tones_american/left.isdn
+++ b/tones_american/left.isdn
@@ -1,101 +1,77 @@
-*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************++++***++*++*++**++*+++*+++**+++*****++**++**+**+*++*++*++****++++++*+**+*++*kjk+J'_?{s{ljﶆfsSzKovfhv7Gri۞o׉)jf_>v(#nsfvh32K 7)g7Z?׿/iwW2
-#.;R2nh(h2rnkcF~o:)ɉ'ׇ3)wWKvzO{KN H8hF趻's^>"V&ǿ 9w'sy W) i^~R&6RnxvZ˂fRRF֖^7' 9'G_W)Wf&nFڎF(ָXX((nJ(^fvF7G)9i3GGIiw7
-f^rnFxxvkWi G)wI )GG~nzۻRhxxHfֆNii)i_i9I'SfFnb^&&&hxxxxfN~&6Jo_)iWw_7iiWח7'jF^(x&>~&f#I WII)iiG/"
-.&~zƶv(ȖVj~&22nw鉹yW)7I9))~b~.Bf(((ȸxH(.f&Nj_WW GGG' ).F>&^&^>xxX(v6V&.nBWi) ׷Gi) 9ɗJr^2~&H88hv&f.&6&>ciɹɹW))I99iwG+rRnHx86&^֖Rz?W iI 7iɉ鹙 _
-f&6(8xhvv6Ɔf{/ɉii)i IyyI)Of~r2~&^Hx8xx(f6&~o?G 9 Ioo^nZn6x8H8VJhJ_X(B7)W)9C7鹱!oN6ghH8` Vh h2.bVhf"9iW c ϗ iwwg^
-ۆVFȈBhx`ؘ7)7iW7)WaaYفY^6چFr>  xV7g.f)isw+g3Z2Ss_ W k(HJω2h(8֊xX`W)yYI!iyAiG&hvVȈVH6Xf&ωi)W2^OoI)isCB&ƶ#iiw7*:IWW{O~>x vh؀` cGIIYyI)!Ya9?fH(ֶ xv(vhYY)ssi ɷ/^z^&) 'oB>;)Gsʳ&8 XVH`8s'၁ى9i)wZHV`X(hR(2_9y!!7wgiWW/f&Z66hV#G iLJSCIY7ǏzF ؘVhxXi!!7iiS8xHV(v6f""&3)yISWGOFVF.VvFgW_?'y g3RkCvV xHVh8xx8v))))yYyy gW^VXhhVȈHFb3:g7IY'.痟"hfVֶr_)GowyY )B:j;(8HhVVxHh6?G_iyWOǗwGk8HFFvVH(c* s'W I 7SJ3h(6nnFfzG'G99iG/;+Zjso{NF((6Fh(~[o_/S9I7Os_G7fvh(^^(hV(3"z_iio#/OSr^hr:&zח'3OsSBhhFN~h&2w7c') I)OJo'_v(^RN&h6^/?Sz)#b3?3z(vfZ6r#GwS3wiWgZZ+3(&RzN6Fs?G3)O3_'(ֆnF^oO Gg?nBsJ^6ƾr
-^fOOk_r*3NƶBbj2&*Ooco7?s.>f.
-Z:^~n{OSc+rb㏿_3S^枢ZrƆ~bc+S_?kϿOϳ>Bf";/#*
-g'o{k{/?o.n*J2jcscKjbj''[+kso["RnR:n~Ύ#+rz;#S?SʋS3*BrB
-n~2"[J[sO?Sۛ{+s322 b2J#
-
-z"csC;ʻC["RRRb"Br>n#+
-jZksS[k
-J#K
-2n.bJBR"J˃#*J{3s+;[BRšJ:brRRۻK K/{{ +c[
-BRr22Z
-JRbsۻ S/o/#k*+{늚2..2B"Jb2r*;3s#;;SS/ꊊ:j*ʚr.Z*zrڻ[cS/cK{{ oSS:
-:{zr.z+J"z3SCKsCZJJ
-K{jbk;""cS/Ë{[Ss#B+K:2rRn"k{b":jo/S*j;oK+zrjk..k+{bJ o/j{S
-R"zjbRk b+/ϏC
-csSJ.bzξnr;KkkJb*oOo3c;*C32.R:ڂRξRŠ;jJ˃SO3{ Ks3c Z22:2.N*{kʺ+[Os3//3["2r.Jk; *
-jKϿ3#S/SCbrr¢"2nN"
-k kJ
-OS#cs//s+2r.NnB *J
-*/sc3So/C*ZBbzrnN.z
-+
-Co3csSoS#J2""".NN.bJ
-jJz
-[oϏS///sꚂ"rNzJJz*co/s//SCKJZZ.>>nr"zz:+CSos33o/s"b"BnN2"z#3/oSs3s/oo/3[*"2.>~.rbZ""
-SooSsSÛbb"nξ>N2"ڢZjks//ooSsϏc;ZZZN2bڢ"JkK#//o/s/s[;*zz"B.ΎRB"ZJ cs/S///O3 *JzBr.ΎnnR222zs//SooOSC{k+
-zRnRr2rJ+3sSSSoOO/s;k+:BRnn.BZʋCsssSoC[Kk+r.n..B
- [CsSoO/s; JnnnRBjK[cCs/OO/3c[K *:BRnnnnn..nn+c#ósosc;Kj2.nnRn"+[ۣs3Kj...RRn.2ڊ[#3/3#{bRRRR.R* [[#Cs/OϏo/3c[{Kj2R.RrRRz+ {[/OϏ/Ss#K*²rR2rR..2+˻CSS3CCc{Z²rrrR.n.:+K;{[/oϏ/Ss3C
-2rr2rRR"*kK[3SoSsCóC㛋"2rr2.nR":+*;[/ooSs3Cc{"B2222r.nnZ:+*+[/ooo3CCcJ"BBBr.nnnںj**;So/sCCCC+²B²r.nnrb*{#SSsCC#;+Br.n.2Jj* #3S//33ãJbBrRRJ
-
-* #3S///3C[Jڢ"brR...¢
-+#SSSsCCCKb2RRRrښ
-*˛#Ssó*
-Zb2RR2bz:ʊ
-*K#Css3CC *ʚZZB2RrB:
-+Css3CÃ[kjJ"B2r2BZ:J
-j+Kó3c#;kJڢb2rr2z
-kKCCccccc#[{*b²r2B"::ʊjk;#CÃcccc *
-J:zzbB"Zz:J
-j*#cc####[{
-JzZbZJJ
- [#cc####;k
-ʺZbbzJ
-+K{ۣ##[{K+jJzڢbbbZ:J
-j {[####[[k+jJJZb"
-jj*kK;[[#[[[{{*jJJZ"zJJ
-j*K;{[{;k*JJڢ"zJJ
-+ KK +*JZZzJʊ** ;{{;Kˋ+*Jښz
-
-j*+ ;{{{K k*jj
-JJz:J
-j*+k˻;{{{;;;K j
-JzJʊj+;;{{;;ˋk+jj
-JJ:zzzzJ
-jjj*+k K;;;;;K k*j
-JJ:zz:J
-j* K;;;;;KK +j
-
-JJ:z:J
-jj* K;;KKKKK *j
-
-
-J:::J
-j**+k K;KKKK k+j
-
-
-
-J::Jʊj**++k KKKK k*j
-
-
-
-JJJ
-***+k KK +*j
-
-
-
-JJJJJ
-j***+ KKKK k+j
-
-
-
-JJ
-j***++k KK k+*ꊊ
-
-
-
-j*++++k K kkk+*j
-
-j*+++++k kkkkkk+*j
+*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************+**+**++**+**+**+*++*++**++*++++++++++*++****+**++++++*+*++*+{{'2r)RR>ֳhCcrgoovo3gf"cγkW'gg) >vzzڻf((Rj*&:
+CWǗ:rF*r^HH#RkcWyGOwWi.sV(srjr'i9_G GW;RZFؖVh2vB^wWgiW[/o I_{VvR[Fֈ^j
++)WyW?GWg'.^˶(hR~gfbocyiio_)7iIG.&F8x+Coiy ) G_i?Fȸv6蘘8拂:˞R'G9Y W7)&FhƞFVxx(3Z+a!IiW))hV/Kj yi)7?w
+v8(Hx(cb*2+7YY7)7iGHȶv8h &ngJGOya!i鉷) w:(h(Ș^Os''yY9W_w&hHȸ(Hx^/_ə9yI_GCwJz&ȸhVVhh8&2:w'C_79yىgoow/Z6HH興F&((hn3'yYyyWO/GǃR&(h6F(ȸ(g7[O)yI G[sSggJ消x6Hh6?w[7wi!9 icO'"fvH(֖(h(V'7S_w)9;O?oRHH(6v>_'_o#Ϸ) y g
+ HVƆ((Bs_ow 9 w3?hhF&V((R_GG'O_ɹ)糣g3V(vF^>F((s'/+ I)J[so_^6(^F((3__7kSg9) oz&Vfnb.֖fJ'7wǏ[G g g+ z2V~h.7)9YiΆbWJ)fHH(B&(r^n()wo_^›Kc^
+J/s.v(7'!)ÊG7?_."S[^X`XxvJ.NVFFRZ 'i  :{G '_6f^H~fR>8NJ7>N&"^zg wSo;
+N~YIɉ)7zGÎ[R"C~`x~(~N&>7_׹Ya))7ϟWyY9)Fff~(6.>>nvFX`X&b>VnR~S/GI bsY gWJsC&^zFv VF&(6r)ii!Iwi i9!Yg?'Or>v*hhh8xk2ZJ R cJ)ii)ɉoJ3wi))I)_fNJfNRnHxHv6v6FF6vNrϏ )W_ IK&fN(Vff֖FvX8(((6r~O??G )gϷI9I)i7K Rr*^ff(h(b&Fn2rCwWii)i)7I99wJ^N~^fnvv88hv~ZB^&f.GWiggGII9wCN&~(8 `xF&h(6f.Z:)))))99IW&^f^hH88nھf&rc)iiI)IY)7/
+닋[ 2&xX6&&(6sW y wWi)IÛ&v6888XvFƆF^2K?w)iwG I!IW_o+~r::FFX 8VfFf&Vgi99ɉI97 yyig{J &&nK.&&vhHH8h2nf6(h&{W)77W)I99YW_#*K.N2+rf66(H X8>66Fֆ;'wI9W7iI cR^K^^8(~kΖֶ6V&c_ g7'giy9IɷzB
+
+N:J~V(H Hh(6J"f^&)WiI ggǷ翇iIG:&fn&kZ^ֈ8Ffnz
+(Ǝg7))Ǐ/ggG)Iy7GkrjR.zhhh6&&N"Z":;wi i 7?GGWGO3f>V(Vh^BZ2"n΂Z˿GW77s7Wi ǿ :.^rb2n>NvhHHHֆ>Rf+3g)Ww_sS_GW;nR(hh( ".^&^r{s7)W矟?'7WWWw'S .B
+N^f(h(6&"n.N~rzC)W7?_ww'r~>΂.^(Vvf^R>&z7S/SO_Gw7_#R...26(V^BRrs7GgOooo77Gg/ۚr2zK
+r^F&~.~~Rsg_/S/'77'
+Z:J R&fFv^>NR&~RO_'oCsOGO/[
+¢**fF66NRR&nc3Ƿ'SKJۋ:2~ffR.&o?Oc3gg?sj+{KJzzNf&&&&~B2ΎN^&nkSoooSSg?SC;3s;z"BRN^&2r~&^Z+K{CO33ϏS_g'c#3Rnf&~>Nrn~^^Z#33/?O??'G'sC3sc2n>^fNξN&&~>s3?_gg''_CsC[K:~^f^~>>>~^&f^>2
+#sS/s?_燇g_?S3ssC# :B~^&^N>~^&ff&3sssss/_'燇_o/SSSS[K"~>N>^&f.škCCCO'gg_Oo/SS/C[R~~~~N>&fff&>Zj;#Ã[[Cs/'''_?o/S*ZΞ^^>N>ff^.j[ã3/oϟ'gg''_Ϗ/ooSs2.>>NNNN~&fff&>R
+k{[c#3/ggg'_Oo//SC[R>>NN&ff^Rc#ۃ3Ͽ'gg'_Ϗ/S[K:Rξ>N>^ff^RJ+[#3/O'gg'?oS rN>^&&^Nnr"
+K[#c3S?_gggg'_?OOoSۋr.nξ^^&&^Nrb:*K;3So_'gg'?Ϗoo/3#K:bRnNNN>^&&&&&N.r+{[CsS__''?O/S/kRNN~>^&&&&&&N.rz*K{[3sSO__'''?Ϗ/s{JbNN~~~^&&^^&^N.2ڊ {;cs__'''_O/ss3c{bnN>~^&&^^^.2kc/o__'''_/3C#{k:"r>>>~^&^~N"z#3So?_''___Ϗo/sc;kr.>~~^~>N.J*Có/O?_''____o/S#{K:2.N~~~~N.
+KCssSOO_'''__/Sۛ;*"r.N~~~>~>nRʋ{Cs/O__'__O/cۛkJ2.>~~~~>>NNΎ.rzjK[3SSoϿ___?oS#{KkJb2.N~~>NNNNnR2b*#C3S///oO?__O/s#;늺rN>~~NnR2"+csSSSS/Ͽ?C;Kˋ*
+rξ>>NnBZJkc3sSSSO?OSc;K k*
+zBξ>NnnnnBZ
+ {Csss333sSO??s[{K k+*ZNNn.nnn.r #ó33CC3/oOOoS3c{ k+*
+b2Rn.RRR....Rr":j˛#CCCCC3s/o/C{ k+Zb.nn.RrRRrJ*˛[cC3s//S3#;K k+Zb2R...Rrr22rrr2"+{#cccó3sS//Sk*j
+:"2rRRrr22222"
+K{ۣcccccC3sSS//Ss3c;ˋ*ʺ²2rrr22BBBbZz+[c3ssssÃ#[K *
+JzZBBBb"J*;[###có3333Ã[{ˋk
+:"bBb"
++K{[###CCCC[{ k+*Z₂bbbbbb"ZzJ*k;[###c#{ k+*
+ڢb"bbb""z*kK{{{ۣ[#ccc###[;;K k+j
+Jڢ"""""b""""ښ:J
+j+k K;{{{[[[[##[{; k+j
+J:zZZZZ""ZJ
+j+k K;{{[{;K +
+J:zzzZZZz:J
+j*k K;{{{{;ˋk+JJ::zښz:
+j*+k K;{{{{{{{;ˋk+
+JJJ:zzz:J
+j**+k K{{{{;;;;;;Kˋk+
+
+JJJJJJ:zzz:J
+j**++k K;{{{;;K +
+
+JJJ::
+j*+++k ˻;;;;KKK *j
+
-**+++++k kkkkkk+*jjjjj
-j**+++++kk kk*jjjjjjj
-j*++++++kk kkk+*jjjjjjjjj*++++++k kk++jjjjjjjjjj*++++++kk++++*jjjjjjjjjjj**++++++kkkk++++**jjjjjjjj**+++++kkkkk+++++++**jjjjjj*+++++++kkkk+++++++**jj**++++++++kkk++++++++*****+++++++++k++++++++***********++++++++++++++++++++*************++++++++++++++++++++*****************++++++++++++++++++++++******************+++++++++++++++++++++++******************+++++++++++++++++++++++*****************+++++++++++++++++++++++******************+++++*++++++++++*++++++*****************+++++*+++++++++++++++++******************+++++**+++++++++++++*++******************+***+**+++++**++*++**+******************+*******************************************
+ʺ::::J
+j****++k K;KK +*j
+
+
+
+
+
+
+JJJJ
+j******+++k KKKK +*j
+
+
+
+JJJJ
+j********+k kk k*jj
+jjjj
+
+j********++k kkkkkk+*jjjjjjjj
+
+
+
+
+
+
+j****++***++kk kkkkkkkkk+*jjjjjjj
+
+jj*****+****+kkkkkkkkkkk+*jjjjjjjjj*****+****++kkkkkkk+**j**jjjjjj**++++++++*++kkkkkk++******jj**++++++++++++kk++++++++++**************+++++++++++++++++++++++++++*************************++++++++++++++++++++++++++++++++++***************************++++++++++++++++++++++++++++++++++****************************++++*****+*++**