From 340db44a844f19977d60d15958ffb96066df1df2 Mon Sep 17 00:00:00 2001 From: jespergravgaard Date: Thu, 3 Dec 2020 01:37:58 +0100 Subject: [PATCH] Added new MEGA65 DMA methods and tests. Added a missing fragment. --- .../cache/fragment-cache-csg65ce02.asm | 2 +- .../cache/fragment-cache-mega45gs02.asm | 408 ++- .../fragment/cache/fragment-cache-mos6502.asm | 2 +- .../cache/fragment-cache-mos6502x.asm | 3095 ++++++++--------- .../cache/fragment-cache-wdc65c02.asm | 2 +- .../_deref_qvoc1=_ptr_vbuaa.asm | 3 + .../model/operators/OperatorCastPtr.java | 7 +- src/main/kc/include/mega65-dma.h | 18 +- src/main/kc/lib/mega65-dma.c | 84 + .../dk/camelot64/kickc/test/TestPrograms.java | 15 + src/test/kc/examples/mega65/camelot.png | Bin 0 -> 12958 bytes src/test/kc/examples/mega65/camelot.png.kra | Bin 0 -> 480233 bytes src/test/kc/examples/mega65/dma-test5.c | 14 + src/test/kc/examples/mega65/dma-test6.c | 12 + src/test/kc/examples/mega65/dypp65.c | 104 + src/test/ref/examples/mega65/banked-music.log | 12 + src/test/ref/examples/mega65/dma-test2.log | 12 + src/test/ref/examples/mega65/dma-test3.log | 12 + src/test/ref/examples/mega65/dma-test4.log | 12 + src/test/ref/examples/mega65/dma-test5.asm | 149 + src/test/ref/examples/mega65/dma-test5.cfg | 42 + src/test/ref/examples/mega65/dma-test5.log | 858 +++++ src/test/ref/examples/mega65/dma-test5.sym | 32 + src/test/ref/examples/mega65/dma-test6.asm | 164 + src/test/ref/examples/mega65/dma-test6.cfg | 44 + src/test/ref/examples/mega65/dma-test6.log | 996 ++++++ src/test/ref/examples/mega65/dma-test6.sym | 42 + src/test/ref/examples/mega65/dypp65.asm | 468 +++ src/test/ref/examples/mega65/dypp65.cfg | 143 + src/test/ref/examples/mega65/dypp65.log | 2696 ++++++++++++++ src/test/ref/examples/mega65/dypp65.sym | 124 + 31 files changed, 7826 insertions(+), 1746 deletions(-) create mode 100644 src/main/fragment/mos6502-common/_deref_qvoc1=_ptr_vbuaa.asm create mode 100644 src/test/kc/examples/mega65/camelot.png create mode 100644 src/test/kc/examples/mega65/camelot.png.kra create mode 100644 src/test/kc/examples/mega65/dma-test5.c create mode 100644 src/test/kc/examples/mega65/dma-test6.c create mode 100644 src/test/kc/examples/mega65/dypp65.c create mode 100644 src/test/ref/examples/mega65/dma-test5.asm create mode 100644 src/test/ref/examples/mega65/dma-test5.cfg create mode 100644 src/test/ref/examples/mega65/dma-test5.log create mode 100644 src/test/ref/examples/mega65/dma-test5.sym create mode 100644 src/test/ref/examples/mega65/dma-test6.asm create mode 100644 src/test/ref/examples/mega65/dma-test6.cfg create mode 100644 src/test/ref/examples/mega65/dma-test6.log create mode 100644 src/test/ref/examples/mega65/dma-test6.sym create mode 100644 src/test/ref/examples/mega65/dypp65.asm create mode 100644 src/test/ref/examples/mega65/dypp65.cfg create mode 100644 src/test/ref/examples/mega65/dypp65.log create mode 100644 src/test/ref/examples/mega65/dypp65.sym diff --git a/src/main/fragment/cache/fragment-cache-csg65ce02.asm b/src/main/fragment/cache/fragment-cache-csg65ce02.asm index aaae666bf..2389d5d7c 100644 --- a/src/main/fragment/cache/fragment-cache-csg65ce02.asm +++ b/src/main/fragment/cache/fragment-cache-csg65ce02.asm @@ -1,4 +1,4 @@ -//KICKC FRAGMENT CACHE 10dedb3bb9 10dedb58e1 +//KICKC FRAGMENT CACHE 106673312a 1066734e54 //FRAGMENT vbuz1=vbuc1 lda #{c1} sta {z1} diff --git a/src/main/fragment/cache/fragment-cache-mega45gs02.asm b/src/main/fragment/cache/fragment-cache-mega45gs02.asm index a05e7c2da..86ec0a0ff 100644 --- a/src/main/fragment/cache/fragment-cache-mega45gs02.asm +++ b/src/main/fragment/cache/fragment-cache-mega45gs02.asm @@ -1,4 +1,4 @@ -//KICKC FRAGMENT CACHE 10dedb3bb9 10dedb58e1 +//KICKC FRAGMENT CACHE 106673312a 1066734e54 //FRAGMENT _deref_pbuc1=vbuc2 lda #{c2} sta {c1} @@ -1389,37 +1389,70 @@ asw {z1} asw {z1} asw {z1} asw {z1} -//FRAGMENT _deref_pbuc1=_inc__deref_pbuc1 -inc {c1} -//FRAGMENT vwuz1=vbuc1 -lda #<{c1} -sta {z1} -lda #>{c1} -sta {z1}+1 -//FRAGMENT _deref_pbuc1_eq_vbuz1_then_la1 -lda {c1} -cmp {z1} -beq {la1} -//FRAGMENT _deref_pbuc1=_dec__deref_pbuc1 -dec {c1} -//FRAGMENT pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 -ldx {z1} -inc {c1},x //FRAGMENT vwuz1=vwuc1 lda #<{c1} sta {z1} lda #>{c1} sta {z1}+1 -//FRAGMENT vbuz1=_lo_vwuz2 +//FRAGMENT pwuz1=pbuc1 +lda #<{c1} +sta {z1} +lda #>{c1} +sta {z1}+1 +//FRAGMENT pbuz1=pbuz1_plus_vwuc1 +clc +lda {z1} +adc #<{c1} +sta {z1} +lda {z1}+1 +adc #>{c1} +sta {z1}+1 +//FRAGMENT pbuz1_derefidx_vbuz2=pbuz3_derefidx_vbuz2 +ldy {z2} +lda ({z3}),y +sta ({z1}),y +//FRAGMENT pwuz1=pwuz1_plus_vbuc1 +lda #{c1} +clc +adc {z1} +sta {z1} +bcc !+ +inc {z1}+1 +!: +//FRAGMENT vbuz1=vbuz2_rol_1 lda {z2} +asl sta {z1} -//FRAGMENT vbuz1=_hi_vwuz2 -lda {z2}+1 -sta {z1} -//FRAGMENT vbuz1=vbuz2_bor_vbuz3 -lda {z2} -ora {z3} +//FRAGMENT pwuz1_derefidx_vbuz2=vwuz3 +ldy {z2} +lda {z3} +sta ({z1}),y +iny +lda {z3}+1 +sta ({z1}),y +//FRAGMENT vwuz1=vwuz1_plus_vbuc1 +lda #{c1} +clc +adc {z1} sta {z1} +bcc !+ +inc {z1}+1 +!: +//FRAGMENT _deref_pwuc1=vwuz1 +lda {z1} +sta {c1} +lda {z1}+1 +sta {c1}+1 +//FRAGMENT _deref_qbuc1=_ptr_vbuz1 +lda {z1} +sta {c1} +lda #0 +sta {c1}+1 +//FRAGMENT _deref_qbuc1=pbuz1 +lda {z1} +sta {c1} +lda {z1}+1 +sta {c1}+1 //FRAGMENT _deref_pwuc1=vwuc2 lda #<{c2} sta {c1} @@ -1430,112 +1463,162 @@ lda #<{c2} sta {c1} lda #>{c2} sta {c1}+1 -//FRAGMENT _deref_pbuc1_eq_vbuaa_then_la1 -cmp {c1} -beq {la1} -//FRAGMENT pbuc1_derefidx_vbuaa=_inc_pbuc1_derefidx_vbuaa -tax -inc {c1},x -//FRAGMENT pbuc1_derefidx_vbuxx=_inc_pbuc1_derefidx_vbuxx -inc {c1},x -//FRAGMENT vbuaa=_lo_vwuz1 +//FRAGMENT pbuz1_derefidx_vbuaa=pbuz2_derefidx_vbuaa +tay +lda ({z2}),y +sta ({z1}),y +//FRAGMENT pbuz1_derefidx_vbuxx=pbuz2_derefidx_vbuxx +txa +tay +lda ({z2}),y +sta ({z1}),y +//FRAGMENT pbuz1_derefidx_vbuyy=pbuz2_derefidx_vbuyy +lda ({z2}),y +sta ({z1}),y +//FRAGMENT pbuz1_derefidx_vbuzz=pbuz2_derefidx_vbuzz +tza +tay +lda ({z2}),y +sta ({z1}),y +//FRAGMENT vwuz1=_word_vbuaa +sta {z1} +lda #0 +sta {z1}+1 +//FRAGMENT vbuz1=vbuaa_rol_1 +asl +sta {z1} +//FRAGMENT vbuz1=vbuxx_rol_1 +txa +asl +sta {z1} +//FRAGMENT vbuz1=vbuyy_rol_1 +tya +asl +sta {z1} +//FRAGMENT vbuz1=vbuzz_rol_1 +tza +asl +sta {z1} +//FRAGMENT vbuaa=vbuz1_rol_1 lda {z1} -//FRAGMENT vbuxx=_lo_vwuz1 -ldx {z1} -//FRAGMENT vbuaa=_hi_vwuz1 -lda {z1}+1 -//FRAGMENT vbuxx=_hi_vwuz1 -ldx {z1}+1 -//FRAGMENT vbuz1=vbuxx_bor_vbuz2 +asl +//FRAGMENT vbuaa=vbuaa_rol_1 +asl +//FRAGMENT vbuaa=vbuxx_rol_1 txa -ora {z2} -sta {z1} -//FRAGMENT vbuz1=vbuyy_bor_vbuz2 +asl +//FRAGMENT vbuaa=vbuyy_rol_1 tya -ora {z2} -sta {z1} -//FRAGMENT vbuz1=vbuzz_bor_vbuz2 +asl +//FRAGMENT vbuaa=vbuzz_rol_1 tza -ora {z2} -sta {z1} -//FRAGMENT vbuz1=vbuz2_bor_vbuaa -ora {z2} -sta {z1} -//FRAGMENT vbuz1=vbuxx_bor_vbuaa -stx $ff -ora $ff -sta {z1} -//FRAGMENT vbuz1=vbuyy_bor_vbuaa -sty $ff -ora $ff -sta {z1} -//FRAGMENT vbuz1=vbuzz_bor_vbuaa -tay -tza -sty $ff -ora $ff -sta {z1} -//FRAGMENT vbuz1=vbuz2_bor_vbuxx +asl +//FRAGMENT vbuxx=vbuz1_rol_1 +lda {z1} +asl +tax +//FRAGMENT vbuxx=vbuaa_rol_1 +asl +tax +//FRAGMENT vbuxx=vbuxx_rol_1 txa -ora {z2} -sta {z1} -//FRAGMENT vbuz1=vbuxx_bor_vbuxx -stx {z1} -//FRAGMENT vbuyy=_lo_vwuz1 -ldy {z1} -//FRAGMENT vbuzz=_lo_vwuz1 -ldz {z1} -//FRAGMENT vbuyy=_hi_vwuz1 -ldy {z1}+1 -//FRAGMENT vbuzz=_hi_vwuz1 -ldz {z1}+1 -//FRAGMENT vbuz1=vbuz2_bor_vbuyy +asl +tax +//FRAGMENT vbuxx=vbuyy_rol_1 tya -ora {z2} -sta {z1} -//FRAGMENT pbuc1_derefidx_vbuyy=_inc_pbuc1_derefidx_vbuyy -lda {c1},y -inc -sta {c1},y -//FRAGMENT pbuc1_derefidx_vbuzz=_inc_pbuc1_derefidx_vbuzz +asl +tax +//FRAGMENT vbuxx=vbuzz_rol_1 tza +asl tax -inc {c1},x -//FRAGMENT _deref_pbuc1_eq_vbuxx_then_la1 -cpx {c1} -beq {la1} -//FRAGMENT _deref_pbuc1_eq_vbuyy_then_la1 -cpy {c1} -beq {la1} -//FRAGMENT _deref_pbuc1_eq_vbuzz_then_la1 -cpz {c1} -beq {la1} -//FRAGMENT vbuaa=vbuz1_bor_vbuaa -ora {z1} -//FRAGMENT vbuxx=vbuz1_bor_vbuaa -ora {z1} -tax -//FRAGMENT vbuyy=vbuz1_bor_vbuaa -ora {z1} +//FRAGMENT vbuyy=vbuz1_rol_1 +lda {z1} +asl tay -//FRAGMENT vbuzz=vbuz1_bor_vbuaa -ora {z1} +//FRAGMENT vbuyy=vbuaa_rol_1 +asl +tay +//FRAGMENT vbuyy=vbuxx_rol_1 +txa +asl +tay +//FRAGMENT vbuyy=vbuyy_rol_1 +tya +asl +tay +//FRAGMENT vbuyy=vbuzz_rol_1 +tza +asl +tay +//FRAGMENT vbuzz=vbuz1_rol_1 +lda {z1} +asl taz -//FRAGMENT vbuz1=vbuz2_bor_vbuzz +//FRAGMENT vbuzz=vbuaa_rol_1 +asl +taz +//FRAGMENT vbuzz=vbuxx_rol_1 +txa +asl +taz +//FRAGMENT vbuzz=vbuyy_rol_1 +tya +asl +taz +//FRAGMENT vbuzz=vbuzz_rol_1 tza -ora {z2} -sta {z1} -//FRAGMENT vbuaa=vbuxx_bor_vbuaa -stx $ff -ora $ff -//FRAGMENT vbuaa=vbuyy_bor_vbuaa -sty $ff -ora $ff -//FRAGMENT vbuaa=vbuzz_bor_vbuaa +asl +taz +//FRAGMENT pwuz1_derefidx_vbuaa=vwuz2 tay +lda {z2} +sta ({z1}),y +iny +lda {z2}+1 +sta ({z1}),y +//FRAGMENT pwuz1_derefidx_vbuxx=vwuz2 +txa +tay +lda {z2} +sta ({z1}),y +iny +lda {z2}+1 +sta ({z1}),y +//FRAGMENT pwuz1_derefidx_vbuyy=vwuz2 +lda {z2} +sta ({z1}),y +iny +lda {z2}+1 +sta ({z1}),y +//FRAGMENT pwuz1_derefidx_vbuzz=vwuz2 tza -sty $ff -ora $ff +tay +lda {z2} +sta ({z1}),y +iny +lda {z2}+1 +sta ({z1}),y +//FRAGMENT _deref_qbuc1=_ptr_vbuxx +txa +sta {c1} +lda #0 +sta {c1}+1 +//FRAGMENT _deref_qbuc1=_ptr_vbuyy +tya +sta {c1} +lda #0 +sta {c1}+1 +//FRAGMENT _deref_qbuc1=_ptr_vbuzz +tza +sta {c1} +lda #0 +sta {c1}+1 +//FRAGMENT vwuz1=vbuc1 +lda #<{c1} +sta {z1} +lda #>{c1} +sta {z1}+1 //FRAGMENT vduz1=vduc1 lda #<{c1} sta {z1} @@ -1589,6 +1672,16 @@ lda {z2} sta {z1} lda {z2}+1 sta {z1}+1 +//FRAGMENT vbuz1=_lo_vwuz2 +lda {z2} +sta {z1} +//FRAGMENT vbuz1=_hi_vwuz2 +lda {z2}+1 +sta {z1} +//FRAGMENT vbuz1=vbuz2_bor_vbuz3 +lda {z2} +ora {z3} +sta {z1} //FRAGMENT vduz1=vduz2_ror_4 lda {z2}+3 lsr @@ -2175,6 +2268,49 @@ dey bne !- !e: taz +//FRAGMENT vbuaa=_lo_vwuz1 +lda {z1} +//FRAGMENT vbuxx=_lo_vwuz1 +ldx {z1} +//FRAGMENT vbuaa=_hi_vwuz1 +lda {z1}+1 +//FRAGMENT vbuxx=_hi_vwuz1 +ldx {z1}+1 +//FRAGMENT vbuz1=vbuxx_bor_vbuz2 +txa +ora {z2} +sta {z1} +//FRAGMENT vbuz1=vbuyy_bor_vbuz2 +tya +ora {z2} +sta {z1} +//FRAGMENT vbuz1=vbuzz_bor_vbuz2 +tza +ora {z2} +sta {z1} +//FRAGMENT vbuz1=vbuz2_bor_vbuaa +ora {z2} +sta {z1} +//FRAGMENT vbuz1=vbuxx_bor_vbuaa +stx $ff +ora $ff +sta {z1} +//FRAGMENT vbuz1=vbuyy_bor_vbuaa +sty $ff +ora $ff +sta {z1} +//FRAGMENT vbuz1=vbuzz_bor_vbuaa +tay +tza +sty $ff +ora $ff +sta {z1} +//FRAGMENT vbuz1=vbuz2_bor_vbuxx +txa +ora {z2} +sta {z1} +//FRAGMENT vbuz1=vbuxx_bor_vbuxx +stx {z1} //FRAGMENT vbuaa=_hi__word_vduz1 lda {z1}+1 //FRAGMENT vbuxx=_hi__word_vduz1 @@ -2239,6 +2375,20 @@ tay tza ora {z1} taz +//FRAGMENT vbuaa=vbuz1_bor_vbuaa +ora {z1} +//FRAGMENT vbuxx=vbuz1_bor_vbuaa +ora {z1} +tax +//FRAGMENT vbuyy=vbuz1_bor_vbuaa +ora {z1} +tay +//FRAGMENT vbuzz=vbuz1_bor_vbuaa +ora {z1} +taz +//FRAGMENT vbuaa=vbuxx_bor_vbuaa +stx $ff +ora $ff //FRAGMENT vbuxx=vbuxx_bor_vbuaa stx $ff ora $ff @@ -2251,6 +2401,9 @@ tay stx $ff ora $ff taz +//FRAGMENT vbuaa=vbuyy_bor_vbuaa +sty $ff +ora $ff //FRAGMENT vbuxx=vbuyy_bor_vbuaa sty $ff ora $ff @@ -2263,6 +2416,11 @@ tay sty $ff ora $ff taz +//FRAGMENT vbuaa=vbuzz_bor_vbuaa +tay +tza +sty $ff +ora $ff //FRAGMENT vbuxx=vbuzz_bor_vbuaa tax tza @@ -2296,6 +2454,18 @@ tay txa ora {z1} taz +//FRAGMENT vbuyy=_lo_vwuz1 +ldy {z1} +//FRAGMENT vbuzz=_lo_vwuz1 +ldz {z1} +//FRAGMENT vbuyy=_hi_vwuz1 +ldy {z1}+1 +//FRAGMENT vbuzz=_hi_vwuz1 +ldz {z1}+1 +//FRAGMENT vbuz1=vbuz2_bor_vbuyy +tya +ora {z2} +sta {z1} //FRAGMENT vbuyy=_hi__word_vduz1 ldy {z1}+1 //FRAGMENT vbuzz=_hi__word_vduz1 @@ -2322,6 +2492,10 @@ tza tax tya sta {c1},x +//FRAGMENT vbuz1=vbuz2_bor_vbuzz +tza +ora {z2} +sta {z1} //FRAGMENT vbuyy=vbuaa tay //FRAGMENT vbuzz=vbuaa diff --git a/src/main/fragment/cache/fragment-cache-mos6502.asm b/src/main/fragment/cache/fragment-cache-mos6502.asm index 275e567d0..51a5d8a5f 100644 --- a/src/main/fragment/cache/fragment-cache-mos6502.asm +++ b/src/main/fragment/cache/fragment-cache-mos6502.asm @@ -1,4 +1,4 @@ -//KICKC FRAGMENT CACHE 10dedb3bb9 10dedb58e1 +//KICKC FRAGMENT CACHE 106673312a 1066734e54 //FRAGMENT vbuz1=vbuc1 lda #{c1} sta {z1} diff --git a/src/main/fragment/cache/fragment-cache-mos6502x.asm b/src/main/fragment/cache/fragment-cache-mos6502x.asm index 91821e66d..f09fb7e4e 100644 --- a/src/main/fragment/cache/fragment-cache-mos6502x.asm +++ b/src/main/fragment/cache/fragment-cache-mos6502x.asm @@ -1,203 +1,22 @@ -//KICKC FRAGMENT CACHE 10dedb3bb9 10dedb58e1 +//KICKC FRAGMENT CACHE 106673312a 1066734e54 +//FRAGMENT vbuz1=vbuc1 +lda #{c1} +sta {z1} //FRAGMENT pbuz1=pbuc1 lda #<{c1} sta {z1} lda #>{c1} sta {z1}+1 -//FRAGMENT vwuz1=vwuz2 -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -//FRAGMENT vbuz1=_deref_pbuz2 -ldy #0 -lda ({z2}),y -sta {z1} -//FRAGMENT pbuz1=_inc_pbuz1 -inc {z1} -bne !+ -inc {z1}+1 -!: -//FRAGMENT vbuc1_neq_vbuz1_then_la1 -lda #{c1} -cmp {z1} -bne {la1} -//FRAGMENT vbuz1=vbuz2 -lda {z2} -sta {z1} //FRAGMENT vwuz1=vwuc1 lda #<{c1} sta {z1} lda #>{c1} sta {z1}+1 -//FRAGMENT vbuc1_neq__deref_pbuz1_then_la1 -ldy #0 -lda ({z1}),y -cmp #{c1} -bne {la1} -//FRAGMENT vwuz1=_inc_vwuz1 -inc {z1} -bne !+ -inc {z1}+1 -!: -//FRAGMENT vwuz1=vwuz2_plus_vbuc1 -lda #{c1} -clc -adc {z2} -sta {z1} -lda #0 -adc {z2}+1 -sta {z1}+1 -//FRAGMENT vwuz1=vwuz2_ror_6 -lda {z2} -asl -sta $ff -lda {z2}+1 -rol -sta {z1} -lda #0 -rol -sta {z1}+1 -asl $ff -rol {z1} -rol {z1}+1 -//FRAGMENT vwuz1=vwuz2_plus_1 -clc -lda {z2} -adc #1 -sta {z1} -lda {z2}+1 -adc #0 -sta {z1}+1 -//FRAGMENT vwuz1=vwuz2_rol_6 -lda {z2}+1 -lsr -sta $ff -lda {z2} -ror -sta {z1}+1 -lda #0 -ror -sta {z1} -lsr $ff -ror {z1}+1 -ror {z1} -//FRAGMENT vwuz1=vwuz2_minus_vbuc1 -sec -lda {z2} -sbc #{c1} -sta {z1} -lda {z2}+1 -sbc #0 -sta {z1}+1 -//FRAGMENT pvoz1=pvoz2 -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -//FRAGMENT pvoz1=pvoc1 -lda #<{c1} -sta {z1} -lda #>{c1} -sta {z1}+1 -//FRAGMENT pbuz1=pbuz2_plus_vwuz3 -lda {z2} -clc -adc {z3} -sta {z1} -lda {z2}+1 -adc {z3}+1 -sta {z1}+1 -//FRAGMENT _deref_pbuz1=vbuc1 -lda #{c1} -ldy #0 -sta ({z1}),y -//FRAGMENT vwuz1=vwuz2_rol_3 -lda {z2} -asl -sta {z1} -lda {z2}+1 -rol -sta {z1}+1 -asl {z1} -rol {z1}+1 -asl {z1} -rol {z1}+1 -//FRAGMENT vduz1=vwuz2 -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -lda #0 -sta {z1}+2 -sta {z1}+3 -//FRAGMENT vwuz1=vbuc1 -lda #<{c1} -sta {z1} -lda #>{c1} -sta {z1}+1 -//FRAGMENT vduz1=vduc1 -lda #<{c1} -sta {z1} -lda #>{c1} -sta {z1}+1 -lda #<{c1}>>$10 -sta {z1}+2 -lda #>{c1}>>$10 -sta {z1}+3 //FRAGMENT vwsz1=vwsc1 lda #<{c1} sta {z1} lda #>{c1} sta {z1}+1 -//FRAGMENT vwsz1_lt_vwuz2_then_la1 -lda {z1}+1 -bmi {la1} -cmp {z2}+1 -bcc {la1} -bne !+ -lda {z1} -cmp {z2} -bcc {la1} -!: -//FRAGMENT pbuz1=pbuz2_plus_vwsz3 -lda {z2} -clc -adc {z3} -sta {z1} -lda {z2}+1 -adc {z3}+1 -sta {z1}+1 -//FRAGMENT vduz1=vduz2 -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -lda {z2}+2 -sta {z1}+2 -lda {z2}+3 -sta {z1}+3 -//FRAGMENT vbuz1=vbuc1 -lda #{c1} -sta {z1} -//FRAGMENT vbuz1_lt_vbuc1_then_la1 -lda {z1} -cmp #{c1} -bcc {la1} -//FRAGMENT vduz1=vduz1_plus_vduz2 -lda {z1} -clc -adc {z2} -sta {z1} -lda {z1}+1 -adc {z2}+1 -sta {z1}+1 -lda {z1}+2 -adc {z2}+2 -sta {z1}+2 -lda {z1}+3 -adc {z2}+3 -sta {z1}+3 //FRAGMENT vwsz1=vwsz1_plus_vbsc1 clc lda {z1} @@ -206,6 +25,78 @@ sta {z1} lda {z1}+1 adc #>{c1} sta {z1}+1 +//FRAGMENT vwuz1=vwuz1_plus_vwuc1 +clc +lda {z1} +adc #<{c1} +sta {z1} +lda {z1}+1 +adc #>{c1} +sta {z1}+1 +//FRAGMENT vwsz1=vwsz2 +lda {z2} +sta {z1} +lda {z2}+1 +sta {z1}+1 +//FRAGMENT vwuz1=vwuz2 +lda {z2} +sta {z1} +lda {z2}+1 +sta {z1}+1 +//FRAGMENT vbuz1=_inc_vbuz1 +inc {z1} +//FRAGMENT vbuz1_neq_vbuc1_then_la1 +lda #{c1} +cmp {z1} +bne {la1} +//FRAGMENT pbuz1=pbuz2 +lda {z2} +sta {z1} +lda {z2}+1 +sta {z1}+1 +//FRAGMENT vwsz1_lt_0_then_la1 +lda {z1}+1 +bmi {la1} +//FRAGMENT vwsz1=_neg_vwsz1 +sec +lda #0 +sbc {z1} +sta {z1} +lda #0 +sbc {z1}+1 +sta {z1}+1 +//FRAGMENT _deref_pbuz1=vbuz2 +lda {z2} +ldy #0 +sta ({z1}),y +//FRAGMENT pbuz1=_inc_pbuz1 +inc {z1} +bne !+ +inc {z1}+1 +!: +//FRAGMENT vbuz1=_hi_vwuz2 +lda {z2}+1 +sta {z1} +//FRAGMENT vbuz1=_lo_vwuz2 +lda {z2} +sta {z1} +//FRAGMENT pbuz1=pbuz1_plus_vbuc1 +lda #{c1} +clc +adc {z1} +sta {z1} +bcc !+ +inc {z1}+1 +!: +//FRAGMENT pbuz1_lt_pbuz2_then_la1 +lda {z1}+1 +cmp {z2}+1 +bcc {la1} +bne !+ +lda {z1} +cmp {z2} +bcc {la1} +!: //FRAGMENT vbuz1=vbuz2_ror_4 lda {z2} lsr @@ -213,465 +104,35 @@ lsr lsr lsr sta {z1} -//FRAGMENT vbuz1=vbuz2_band_vbuc1 -lda #{c1} -and {z2} -sta {z1} -//FRAGMENT vbuz1_eq_0_then_la1 -lda {z1} -cmp #0 -beq {la1} -//FRAGMENT vbuz1_eq_vbuc1_then_la1 -lda #{c1} -cmp {z1} -beq {la1} -//FRAGMENT vbuz1=vbuz2_rol_2 -lda {z2} -asl -asl -sta {z1} -//FRAGMENT vduz1=pduz2_derefidx_vbuz3 -ldy {z3} -lda ({z2}),y -sta {z1} -iny -lda ({z2}),y -sta {z1}+1 -iny -lda ({z2}),y -sta {z1}+2 -iny -lda ({z2}),y -sta {z1}+3 -//FRAGMENT vduz1=pduc1_derefidx_vbuz2 -ldy {z2} -lda {c1},y -sta {z1} -lda {c1}+1,y -sta {z1}+1 -lda {c1}+2,y -sta {z1}+2 -lda {c1}+3,y -sta {z1}+3 //FRAGMENT vbuz1=pbuc1_derefidx_vbuz2 ldy {z2} lda {c1},y sta {z1} -//FRAGMENT vduz1=vduz2_plus_vduz3 -lda {z2} -clc -adc {z3} -sta {z1} -lda {z2}+1 -adc {z3}+1 -sta {z1}+1 -lda {z2}+2 -adc {z3}+2 -sta {z1}+2 -lda {z2}+3 -adc {z3}+3 -sta {z1}+3 -//FRAGMENT vduz1=vduz2_plus_pduc1_derefidx_vbuz3 -ldy {z3} -lda {z2} -clc -adc {c1},y -sta {z1} -lda {z2}+1 -adc {c1}+1,y -sta {z1}+1 -lda {z2}+2 -adc {c1}+2,y -sta {z1}+2 -lda {z2}+3 -adc {c1}+3,y -sta {z1}+3 -//FRAGMENT vduz1=vduz2_plus_pduz3_derefidx_vbuz4 -ldy {z4} -lda {z2} -clc -adc ({z3}),y -sta {z1} -iny -lda {z2}+1 -adc ({z3}),y -sta {z1}+1 -iny -lda {z2}+2 -adc ({z3}),y -sta {z1}+2 -iny -lda {z2}+3 -adc ({z3}),y -sta {z1}+3 -//FRAGMENT vduz1=vduz2_rol_pbuc1_derefidx_vbuz3 -ldx {z3} -ldy {c1},x -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -lda {z2}+2 -sta {z1}+2 -lda {z2}+3 -sta {z1}+3 -cpy #0 -beq !e+ -!: -asl {z1} -rol {z1}+1 -rol {z1}+2 -rol {z1}+3 -dey -bne !- -!e: -//FRAGMENT vbuz1=vbuc1_minus_pbuc2_derefidx_vbuz2 -lda #{c1} -ldy {z2} -sec -sbc {c2},y -sta {z1} -//FRAGMENT vduz1=vduz2_ror_vbuz3 -ldx {z3} -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -lda {z2}+2 -sta {z1}+2 -lda {z2}+3 -sta {z1}+3 -cpx #0 -beq !e+ -!: -lsr {z1}+3 -ror {z1}+2 -ror {z1}+1 -ror {z1} -dex -bne !- -!e: -//FRAGMENT vduz1=vduz2_bor_vduz3 -lda {z2} -ora {z3} -sta {z1} -lda {z2}+1 -ora {z3}+1 -sta {z1}+1 -lda {z2}+2 -ora {z3}+2 -sta {z1}+2 -lda {z2}+3 -ora {z3}+3 -sta {z1}+3 -//FRAGMENT vbuz1=_inc_vbuz1 -inc {z1} -//FRAGMENT vduz1=_bnot_vduz2 -lda {z2} -eor #$ff -sta {z1} -lda {z2}+1 -eor #$ff -sta {z1}+1 -lda {z2}+2 -eor #$ff -sta {z1}+2 -lda {z2}+3 -eor #$ff -sta {z1}+3 -//FRAGMENT vduz1=vduz2_bxor_vduz3 -lda {z2} -eor {z3} -sta {z1} -lda {z2}+1 -eor {z3}+1 -sta {z1}+1 -lda {z2}+2 -eor {z3}+2 -sta {z1}+2 -lda {z2}+3 -eor {z3}+3 -sta {z1}+3 -//FRAGMENT vduz1=vduz2_band_vduz3 -lda {z2} -and {z3} -sta {z1} -lda {z2}+1 -and {z3}+1 -sta {z1}+1 -lda {z2}+2 -and {z3}+2 -sta {z1}+2 -lda {z2}+3 -and {z3}+3 -sta {z1}+3 -//FRAGMENT vbuz1=pbuc1_derefidx_(_deref_pbuc2) -ldy {c2} -lda {c1},y -sta {z1} -//FRAGMENT _deref_pwuc1=_inc__deref_pwuc1 -inc {c1} -bne !+ -inc {c1}+1 -!: -//FRAGMENT _deref_pwuc1_eq_vbuc2_then_la1 -lda {c1}+1 -bne !+ -lda {c1} -cmp #{c2} -beq {la1} -!: -//FRAGMENT _deref_pwuc1=vbuc2 -lda #0 -sta {c1}+1 -lda #<{c2} -sta {c1} -//FRAGMENT pbuz1=pbuz2 -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -//FRAGMENT pbuz1_neq_pbuz2_then_la1 -lda {z1}+1 -cmp {z2}+1 -bne {la1} -lda {z1} -cmp {z2} -bne {la1} -//FRAGMENT _deref_pbuz1=_deref_pbuz2 -ldy #0 -lda ({z2}),y -ldy #0 -sta ({z1}),y -//FRAGMENT _deref_pbuc1=vbuc2 -lda #{c2} -sta {c1} -//FRAGMENT vbuz1=_deref_pbuc1 -lda {c1} -sta {z1} -//FRAGMENT vbsz1=vbsc1 -lda #{c1} -sta {z1} -//FRAGMENT vbsz1_gt_0_then_la1 -lda {z1} -cmp #0 -beq !+ -bpl {la1} -!: -//FRAGMENT vbsz1=_dec_vbsz1 -dec {z1} -//FRAGMENT vwuz1=_word_vbuz2 -lda {z2} -sta {z1} -lda #0 -sta {z1}+1 -//FRAGMENT vwuz1=vwuz2_rol_1 -lda {z2} -asl -sta {z1} -lda {z2}+1 -rol -sta {z1}+1 -//FRAGMENT vwuz1=vwuz2_plus_vwuz3 -lda {z2} -clc -adc {z3} -sta {z1} -lda {z2}+1 -adc {z3}+1 -sta {z1}+1 -//FRAGMENT vwuz1=vwuz2_band_vbuc1 +//FRAGMENT vbuz1=vbuz2_band_vbuc1 lda #{c1} and {z2} sta {z1} -lda #0 -sta {z1}+1 -//FRAGMENT vbuz1=vwuz2_band_vbuc1 -lda #{c1} -and {z2} -sta {z1} -//FRAGMENT vwuz1=vwuz2_rol_2 -lda {z2} -asl -sta {z1} -lda {z2}+1 -rol -sta {z1}+1 -asl {z1} -rol {z1}+1 -//FRAGMENT _deref_(_deref_qbuc1)=_deref_pbuc2 -lda {c2} -ldy {c1} -sty $fe -ldy {c1}+1 -sty $ff -ldy #0 -sta ($fe),y -//FRAGMENT _deref_pbuz1=vbuz2 -lda {z2} -ldy #0 -sta ({z1}),y -//FRAGMENT _deref_pbuc1=vbuz1 -lda {z1} -sta {c1} -//FRAGMENT _deref_qbuc1=pbuz1 -lda {z1} -sta {c1} -lda {z1}+1 -sta {c1}+1 -//FRAGMENT vbuz1=vbuz2_bxor_vbuc1 -lda #{c1} -eor {z2} -sta {z1} -//FRAGMENT _deref_(_deref_qbuc1)=vbuz1 -lda {z1} -ldy {c1} -sty $fe -ldy {c1}+1 -sty $ff -ldy #0 -sta ($fe),y -//FRAGMENT _deref_pbuc1=_inc__deref_pbuc1 -inc {c1} -//FRAGMENT _deref_pbuc1_neq_vbuc2_then_la1 -lda #{c2} -cmp {c1} -bne {la1} -//FRAGMENT _deref_(_deref_qbuc1)=_deref_(_deref_qbuc1)_bxor_vbuc2 -ldy {c1} -sty $fe -ldy {c1}+1 -sty $ff -ldy #0 -lda ($fe),y -eor #{c2} -sta ($fe),y -//FRAGMENT pbuz1=_deref_qbuc1 -lda {c1} -sta {z1} -lda {c1}+1 -sta {z1}+1 -//FRAGMENT pbuz1=pbuz2_plus_vbuc1 -lda #{c1} -clc -adc {z2} -sta {z1} -lda #0 -adc {z2}+1 -sta {z1}+1 -//FRAGMENT pbuz1=pbuz2_plus_vwuc1 -clc -lda {z2} -adc #<{c1} -sta {z1} -lda {z2}+1 -adc #>{c1} -sta {z1}+1 -//FRAGMENT pbuz1=pbuc1_minus_vwuz2 -sec -lda #<{c1} -sbc {z2} -sta {z1} -lda #>{c1} -sbc {z2}+1 -sta {z1}+1 -//FRAGMENT vwuz1_le_0_then_la1 -lda {z1} -bne !+ -lda {z1}+1 -beq {la1} -!: -//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuz2 -ldy {z2} -lda {c1},y -ldy #0 -sta ({z1}),y -//FRAGMENT pbuz1=_inc_pbuz2 -clc -lda {z2} -adc #1 -sta {z1} -lda {z2}+1 -adc #0 -sta {z1}+1 -//FRAGMENT vbuz1_ge_vbuz2_then_la1 -lda {z1} -cmp {z2} -bcs {la1} -//FRAGMENT vbsz1=_sbyte_vwuz2 -lda {z2} -sta {z1} -//FRAGMENT vbuc1_eq_vbuz1_then_la1 -lda #{c1} -cmp {z1} -beq {la1} -//FRAGMENT vbsz1=_inc_vbsz1 -inc {z1} -//FRAGMENT vbsz1=vbsc1_minus_vbsz2 -lda #{c1} -sec -sbc {z2} -sta {z1} -//FRAGMENT vbsz1_ge_0_then_la1 -lda {z1} -cmp #0 -bpl {la1} -//FRAGMENT vbsc1_neq_vbsz1_then_la1 -lda #{c1} -cmp {z1} -bne {la1} -//FRAGMENT vwuz1=_word__deref_pbuc1 -lda {c1} -sta {z1} -lda #0 -sta {z1}+1 -//FRAGMENT pbuz1=_deref_qbuc1_plus_vwuz2 -clc -lda {z2} -adc {c1} -sta {z1} -lda {z2}+1 -adc {c1}+1 -sta {z1}+1 -//FRAGMENT pbuz1=pbuz2_plus__deref_pwuc1 -clc -lda {c1} -adc {z2} -sta {z1} -lda {c1}+1 -adc {z2}+1 -sta {z1}+1 -//FRAGMENT vbuz1=vbuz1_minus_vbuz2 -lda {z1} -sec -sbc {z2} -sta {z1} -//FRAGMENT vbuz1_lt_vbuz2_then_la1 -lda {z1} -cmp {z2} -bcc {la1} -//FRAGMENT vbuaa=_deref_pbuz1 -ldy #0 -lda ({z1}),y -//FRAGMENT vbuxx=_deref_pbuz1 -ldy #0 -lda ({z1}),y -tax -//FRAGMENT vbuyy=_deref_pbuz1 -ldy #0 -lda ({z1}),y -tay -//FRAGMENT vbuc1_neq_vbuaa_then_la1 -cmp #{c1} -bne {la1} -//FRAGMENT vbuz1=vbuaa -sta {z1} -//FRAGMENT vbuxx_lt_vbuc1_then_la1 +//FRAGMENT vbuxx_neq_vbuc1_then_la1 cpx #{c1} -bcc {la1} -//FRAGMENT vbuaa=vbuz1 +bne {la1} +//FRAGMENT _deref_pbuz1=vbuaa +ldy #0 +sta ({z1}),y +//FRAGMENT _deref_pbuz1=vbuxx +txa +ldy #0 +sta ({z1}),y +//FRAGMENT _deref_pbuz1=vbuyy +tya +ldy #0 +sta ({z1}),y +//FRAGMENT vbuaa=_hi_vwuz1 +lda {z1}+1 +//FRAGMENT vbuxx=_hi_vwuz1 +ldx {z1}+1 +//FRAGMENT vbuaa=_lo_vwuz1 lda {z1} -//FRAGMENT vbuxx=vbuz1 +//FRAGMENT vbuxx=_lo_vwuz1 ldx {z1} //FRAGMENT vbuaa=vbuz1_ror_4 lda {z1} @@ -693,6 +154,29 @@ lsr lsr lsr tay +//FRAGMENT vbuz1=vbuaa_ror_4 +lsr +lsr +lsr +lsr +sta {z1} +//FRAGMENT vbuaa=vbuaa_ror_4 +lsr +lsr +lsr +lsr +//FRAGMENT vbuxx=vbuaa_ror_4 +lsr +lsr +lsr +lsr +tax +//FRAGMENT vbuyy=vbuaa_ror_4 +lsr +lsr +lsr +lsr +tay //FRAGMENT vbuz1=vbuxx_ror_4 txa lsr @@ -720,374 +204,12 @@ lsr lsr lsr tay -//FRAGMENT vbuz1=vbuaa_band_vbuc1 -and #{c1} -sta {z1} -//FRAGMENT vbuz1=vbuxx_band_vbuc1 -lda #{c1} -sax {z1} -//FRAGMENT vbuz1=vbuyy_band_vbuc1 -tya -and #{c1} -sta {z1} -//FRAGMENT vbuaa=vbuz1_band_vbuc1 -lda #{c1} -and {z1} -//FRAGMENT vbuaa=vbuaa_band_vbuc1 -and #{c1} -//FRAGMENT vbuaa=vbuxx_band_vbuc1 -txa -and #{c1} -//FRAGMENT vbuaa=vbuyy_band_vbuc1 -tya -and #{c1} -//FRAGMENT vbuxx=vbuz1_band_vbuc1 -lda #{c1} -and {z1} -tax -//FRAGMENT vbuxx=vbuaa_band_vbuc1 -ldx #{c1} -axs #0 -//FRAGMENT vbuaa_eq_0_then_la1 -cmp #0 -beq {la1} -//FRAGMENT vbuaa_eq_vbuc1_then_la1 -cmp #{c1} -beq {la1} -//FRAGMENT vbuz1=vbuxx -stx {z1} -//FRAGMENT vbuz1=vbuxx_rol_2 -txa -asl -asl -sta {z1} -//FRAGMENT vbuxx=vbuz1_rol_2 -lda {z1} -asl -asl -tax -//FRAGMENT vbuxx=vbuxx_rol_2 -txa -asl -asl -tax -//FRAGMENT vduz1=pduz2_derefidx_vbuxx -txa -tay -lda ({z2}),y -sta {z1} -iny -lda ({z2}),y -sta {z1}+1 -iny -lda ({z2}),y -sta {z1}+2 -iny -lda ({z2}),y -sta {z1}+3 -//FRAGMENT vduz1=pduc1_derefidx_vbuxx -lda {c1},x -sta {z1} -lda {c1}+1,x -sta {z1}+1 -lda {c1}+2,x -sta {z1}+2 -lda {c1}+3,x -sta {z1}+3 -//FRAGMENT vbuz1=pbuc1_derefidx_vbuxx -lda {c1},x -sta {z1} //FRAGMENT vbuaa=pbuc1_derefidx_vbuz1 ldy {z1} lda {c1},y -//FRAGMENT vbuaa=pbuc1_derefidx_vbuxx -lda {c1},x //FRAGMENT vbuxx=pbuc1_derefidx_vbuz1 ldy {z1} ldx {c1},y -//FRAGMENT vduz1=vduz2_plus_pduc1_derefidx_vbuxx -lda {z2} -clc -adc {c1},x -sta {z1} -lda {z2}+1 -adc {c1}+1,x -sta {z1}+1 -lda {z2}+2 -adc {c1}+2,x -sta {z1}+2 -lda {z2}+3 -adc {c1}+3,x -sta {z1}+3 -//FRAGMENT vduz1=vduz2_plus_pduz3_derefidx_vbuxx -txa -tay -lda {z2} -clc -adc ({z3}),y -sta {z1} -iny -lda {z2}+1 -adc ({z3}),y -sta {z1}+1 -iny -lda {z2}+2 -adc ({z3}),y -sta {z1}+2 -iny -lda {z2}+3 -adc ({z3}),y -sta {z1}+3 -//FRAGMENT vduz1=vduz2_rol_pbuc1_derefidx_vbuxx -ldy {c1},x -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -lda {z2}+2 -sta {z1}+2 -lda {z2}+3 -sta {z1}+3 -cpy #0 -beq !e+ -!: -asl {z1} -rol {z1}+1 -rol {z1}+2 -rol {z1}+3 -dey -bne !- -!e: -//FRAGMENT vbuaa=vbuc1_minus_pbuc2_derefidx_vbuz1 -lda #{c1} -ldy {z1} -sec -sbc {c2},y -//FRAGMENT vbuxx=vbuc1_minus_pbuc2_derefidx_vbuz1 -lda #{c1} -ldx {z1} -sec -sbc {c2},x -tax -//FRAGMENT vbuyy=vbuc1_minus_pbuc2_derefidx_vbuz1 -lda #{c1} -ldy {z1} -sec -sbc {c2},y -tay -//FRAGMENT vbuz1=vbuc1_minus_pbuc2_derefidx_vbuxx -lda #{c1} -sec -sbc {c2},x -sta {z1} -//FRAGMENT vbuaa=vbuc1_minus_pbuc2_derefidx_vbuxx -lda #{c1} -sec -sbc {c2},x -//FRAGMENT vbuxx=vbuc1_minus_pbuc2_derefidx_vbuxx -lda #{c1} -sec -sbc {c2},x -tax -//FRAGMENT vbuyy=vbuc1_minus_pbuc2_derefidx_vbuxx -lda #{c1} -sec -sbc {c2},x -tay -//FRAGMENT vduz1=vduz2_ror_vbuaa -tax -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -lda {z2}+2 -sta {z1}+2 -lda {z2}+3 -sta {z1}+3 -cpx #0 -beq !e+ -!: -lsr {z1}+3 -ror {z1}+2 -ror {z1}+1 -ror {z1} -dex -bne !- -!e: -//FRAGMENT vduz1=vduz2_ror_vbuxx -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -lda {z2}+2 -sta {z1}+2 -lda {z2}+3 -sta {z1}+3 -cpx #0 -beq !e+ -!: -lsr {z1}+3 -ror {z1}+2 -ror {z1}+1 -ror {z1} -dex -bne !- -!e: -//FRAGMENT vduz1=vduz2_ror_vbuyy -tya -tax -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -lda {z2}+2 -sta {z1}+2 -lda {z2}+3 -sta {z1}+3 -cpx #0 -beq !e+ -!: -lsr {z1}+3 -ror {z1}+2 -ror {z1}+1 -ror {z1} -dex -bne !- -!e: -//FRAGMENT vbuaa=pbuc1_derefidx_(_deref_pbuc2) -ldy {c2} -lda {c1},y -//FRAGMENT vbuxx=pbuc1_derefidx_(_deref_pbuc2) -ldy {c2} -ldx {c1},y -//FRAGMENT vbuyy=pbuc1_derefidx_(_deref_pbuc2) -ldx {c2} -ldy {c1},x -//FRAGMENT vbuxx=_deref_pbuc1 -ldx {c1} -//FRAGMENT vbsaa_gt_0_then_la1 -cmp #0 -beq !+ -bpl {la1} -!: -//FRAGMENT vwuz1=_word_vbuaa -sta {z1} -lda #0 -sta {z1}+1 -//FRAGMENT vwuz1=_word_vbuxx -txa -sta {z1} -lda #0 -sta {z1}+1 -//FRAGMENT vwuz1=_word_vbuyy -tya -sta {z1} -lda #0 -sta {z1}+1 -//FRAGMENT vbuaa=vwuz1_band_vbuc1 -lda #{c1} -and {z1} -//FRAGMENT vbuxx=vwuz1_band_vbuc1 -lda #{c1} -and {z1} -tax -//FRAGMENT vbuyy=vwuz1_band_vbuc1 -lda #{c1} -and {z1} -tay -//FRAGMENT _deref_pbuz1=vbuaa -ldy #0 -sta ({z1}),y -//FRAGMENT _deref_pbuz1=vbuxx -txa -ldy #0 -sta ({z1}),y -//FRAGMENT _deref_pbuz1=vbuyy -tya -ldy #0 -sta ({z1}),y -//FRAGMENT _deref_pbuc1=vbuaa -sta {c1} -//FRAGMENT vbuaa=vbuz1_bxor_vbuc1 -lda #{c1} -eor {z1} -//FRAGMENT vbuxx=vbuz1_bxor_vbuc1 -lda #{c1} -eor {z1} -tax -//FRAGMENT vbuyy=vbuz1_bxor_vbuc1 -lda #{c1} -eor {z1} -tay -//FRAGMENT vbuz1=vbuxx_bxor_vbuc1 -txa -eor #{c1} -sta {z1} -//FRAGMENT vbuaa=vbuxx_bxor_vbuc1 -txa -eor #{c1} -//FRAGMENT vbuxx=vbuxx_bxor_vbuc1 -txa -eor #{c1} -tax -//FRAGMENT vbuyy=vbuxx_bxor_vbuc1 -txa -eor #{c1} -tay -//FRAGMENT vbuz1=vbuyy_bxor_vbuc1 -tya -eor #{c1} -sta {z1} -//FRAGMENT vbuaa=vbuyy_bxor_vbuc1 -tya -eor #{c1} -//FRAGMENT vbuxx=vbuyy_bxor_vbuc1 -tya -eor #{c1} -tax -//FRAGMENT vbuyy=vbuyy_bxor_vbuc1 -tya -eor #{c1} -tay -//FRAGMENT _deref_(_deref_qbuc1)=vbuaa -ldy {c1} -sty $fe -ldy {c1}+1 -sty $ff -ldy #0 -sta ($fe),y -//FRAGMENT _deref_(_deref_qbuc1)=vbuxx -txa -ldy {c1} -sty $fe -ldy {c1}+1 -sty $ff -ldy #0 -sta ($fe),y -//FRAGMENT _deref_(_deref_qbuc1)=vbuyy -tya -ldy {c1} -sty $fe -ldy {c1}+1 -sty $ff -ldy #0 -sta ($fe),y -//FRAGMENT vbuaa_lt_vbuc1_then_la1 -cmp #{c1} -bcc {la1} -//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuaa -tay -lda {c1},y -ldy #0 -sta ({z1}),y -//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuxx -lda {c1},x -ldy #0 -sta ({z1}),y -//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuyy -lda {c1},y -ldy #0 -sta ({z1}),y //FRAGMENT vbuyy=pbuc1_derefidx_vbuz1 ldx {z1} ldy {c1},x @@ -1104,657 +226,62 @@ ldx {c1},y //FRAGMENT vbuyy=pbuc1_derefidx_vbuaa tax ldy {c1},x -//FRAGMENT vbuaa_ge_vbuz1_then_la1 -cmp {z1} -bcs {la1} -//FRAGMENT vbsaa=_sbyte_vwuz1 -lda {z1} -//FRAGMENT vbsxx=_sbyte_vwuz1 -ldx {z1} -//FRAGMENT vbuc1_eq_vbuxx_then_la1 -cpx #{c1} -beq {la1} -//FRAGMENT vbsz1=vbsc1_minus_vbsaa -eor #$ff -sec -adc #{c1} +//FRAGMENT vbuz1=pbuc1_derefidx_vbuxx +lda {c1},x sta {z1} -//FRAGMENT vbsz1=vbsc1_minus_vbsxx -txa -eor #$ff -sec -adc #{c1} -sta {z1} -//FRAGMENT vbsz1=vbsc1_minus_vbsyy -tya -eor #$ff -sec -adc #{c1} -sta {z1} -//FRAGMENT vbsxx=vbsc1_minus_vbsz1 +//FRAGMENT vbuz1=vbuxx_band_vbuc1 lda #{c1} -sec -sbc {z1} -tax -//FRAGMENT vbsxx=vbsc1_minus_vbsaa -eor #$ff -tax -axs #-{c1}-1 -//FRAGMENT vbsxx=vbsc1_minus_vbsxx -txa -eor #$ff -tax -axs #-{c1}-1 -//FRAGMENT vbsxx=vbsc1_minus_vbsyy -tya -eor #$ff -tax -axs #-{c1}-1 -//FRAGMENT vbsxx_ge_0_then_la1 -cpx #0 -bpl {la1} -//FRAGMENT vbuc1_neq_vbuxx_then_la1 -cpx #{c1} -bne {la1} -//FRAGMENT vbsc1_neq_vbsxx_then_la1 -cpx #{c1} -bne {la1} -//FRAGMENT vbuxx=vbuxx_minus_vbuz1 -txa -sec -sbc {z1} -tax -//FRAGMENT vbuz1=vbuz1_minus_vbuaa -eor #$ff -sec -adc {z1} -sta {z1} -//FRAGMENT vbuxx=vbuxx_minus_vbuaa -sta $ff -txa -sec -sbc $ff -tax -//FRAGMENT vbuz1=vbuz1_minus_vbuxx -txa -eor #$ff -sec -adc {z1} -sta {z1} -//FRAGMENT vbuxx=vbuxx_minus_vbuxx -lda #0 -tax -//FRAGMENT vbuz1=vbuz1_minus_vbuyy -tya -eor #$ff -sec -adc {z1} -sta {z1} -//FRAGMENT vbuxx=vbuxx_minus_vbuyy -txa -sty $ff -sec -sbc $ff -tax -//FRAGMENT vbuxx_lt_vbuz1_then_la1 -cpx {z1} -bcc {la1} -//FRAGMENT vbsxx_gt_0_then_la1 -txa -cmp #0 -beq !+ -bpl {la1} -!: -//FRAGMENT vbsyy_gt_0_then_la1 -tya -cmp #0 -beq !+ -bpl {la1} -!: -//FRAGMENT _deref_pbuc1=vbuxx -stx {c1} -//FRAGMENT vbuxx_ge_vbuz1_then_la1 -cpx {z1} -bcs {la1} -//FRAGMENT vbuxx=vbuc1 -ldx #{c1} -//FRAGMENT vbuxx=_inc_vbuxx -inx -//FRAGMENT vbuyy=vbuc1 -ldy #{c1} -//FRAGMENT vbuyy=_inc_vbuyy -iny -//FRAGMENT vbuz1_ge_vbuxx_then_la1 -lda {z1} -stx $ff -cmp $ff -bcs {la1} -//FRAGMENT vbuyy=vbuz1 -ldy {z1} -//FRAGMENT vbuz1_ge_vbuyy_then_la1 -lda {z1} -sty $ff -cmp $ff -bcs {la1} -//FRAGMENT vbuxx_ge_vbuyy_then_la1 -sty $ff -cpx $ff -bcs {la1} -//FRAGMENT vbuaa=vbuxx -txa -//FRAGMENT vbuz1=vbuyy -sty {z1} -//FRAGMENT vbuyy=vbuxx -txa -tay -//FRAGMENT _deref_pbuc1=vbuyy -sty {c1} -//FRAGMENT vbuyy_ge_vbuz1_then_la1 -cpy {z1} -bcs {la1} -//FRAGMENT vbuxx=vbuyy -tya -tax -//FRAGMENT vbuaa=vbuc1 +sax {z1} +//FRAGMENT vbuaa=vbuz1_band_vbuc1 lda #{c1} -//FRAGMENT vbuc1_neq_vbuyy_then_la1 -cpy #{c1} -bne {la1} -//FRAGMENT vbsxx=vbsc1 -ldx #{c1} -//FRAGMENT vbsxx=_dec_vbsxx -dex -//FRAGMENT vbsyy=vbsc1 -ldy #{c1} -//FRAGMENT vbsyy=_dec_vbsyy -dey -//FRAGMENT vbsaa=_inc_vbsaa -clc -adc #1 -//FRAGMENT vbsxx=_inc_vbsxx -inx -//FRAGMENT vbsyy=_sbyte_vwuz1 -ldy {z1} -//FRAGMENT vbsyy=_inc_vbsyy -iny -//FRAGMENT vbuyy=_deref_pbuc1 -ldy {c1} -//FRAGMENT vbuxx_eq_0_then_la1 -cpx #0 -beq {la1} -//FRAGMENT vbuxx_eq_vbuc1_then_la1 -cpx #{c1} -beq {la1} +and {z1} +//FRAGMENT vbuaa=vbuxx_band_vbuc1 +txa +and #{c1} +//FRAGMENT vbuxx=vbuz1_band_vbuc1 +lda #{c1} +and {z1} +tax //FRAGMENT vbuxx=vbuxx_band_vbuc1 lda #{c1} axs #0 -//FRAGMENT vbuxx=vbuyy_band_vbuc1 -ldx #{c1} -tya -axs #0 //FRAGMENT vbuyy=vbuz1_band_vbuc1 lda #{c1} and {z1} tay -//FRAGMENT vbuyy_eq_0_then_la1 -cpy #0 -beq {la1} -//FRAGMENT vbuyy_eq_vbuc1_then_la1 -cpy #{c1} -beq {la1} -//FRAGMENT vbuyy=vbuaa_band_vbuc1 -and #{c1} -tay -//FRAGMENT vbuaa=vbuyy -tya -//FRAGMENT vbuxx=vbuaa -tax -//FRAGMENT vbuyy=vbuaa -tay -//FRAGMENT vduz1=vduz2_bxor_vduz1 -lda {z1} -eor {z2} -sta {z1} -lda {z1}+1 -eor {z2}+1 -sta {z1}+1 -lda {z1}+2 -eor {z2}+2 -sta {z1}+2 -lda {z1}+3 -eor {z2}+3 -sta {z1}+3 -//FRAGMENT vduz1=vduz1_bxor_vduz2 -lda {z1} -eor {z2} -sta {z1} -lda {z1}+1 -eor {z2}+1 -sta {z1}+1 -lda {z1}+2 -eor {z2}+2 -sta {z1}+2 -lda {z1}+3 -eor {z2}+3 -sta {z1}+3 -//FRAGMENT vduz1=vduz1_bor_vduz2 -lda {z2} -ora {z1} -sta {z1} -lda {z2}+1 -ora {z1}+1 -sta {z1}+1 -lda {z2}+2 -ora {z1}+2 -sta {z1}+2 -lda {z2}+3 -ora {z1}+3 -sta {z1}+3 -//FRAGMENT vbuz1=vbuz1_rol_2 -lda {z1} -asl -asl -sta {z1} -//FRAGMENT vwuz1=vwuz1_plus_vbuc1 -lda #{c1} -clc -adc {z1} -sta {z1} -bcc !+ -inc {z1}+1 -!: -//FRAGMENT vwuz1=vwuz1_plus_1 -inc {z1} -bne !+ -inc {z1}+1 -!: -//FRAGMENT vwuz1=vwuz1_band_vbuc1 -lda #{c1} -and {z1} -sta {z1} -lda #0 -sta {z1}+1 -//FRAGMENT pbuz1=pbuz2_plus_vwuz1 -lda {z1} -clc -adc {z2} -sta {z1} -lda {z1}+1 -adc {z2}+1 -sta {z1}+1 -//FRAGMENT vwuz1=vwuz1_ror_6 -lda {z1} -asl -sta $ff -lda {z1}+1 -rol -sta {z1} -lda #0 -rol -sta {z1}+1 -asl $ff -rol {z1} -rol {z1}+1 -//FRAGMENT vwuz1=vwuz1_rol_6 -lda {z1}+1 -lsr -sta $ff -lda {z1} -ror -sta {z1}+1 -lda #0 -ror -sta {z1} -lsr $ff -ror {z1}+1 -ror {z1} -//FRAGMENT vduz1=vduz1_plus_pduz2_derefidx_vbuz3 -ldy {z3} -lda {z1} -clc -adc ({z2}),y -sta {z1} -iny -lda {z1}+1 -adc ({z2}),y -sta {z1}+1 -iny -lda {z1}+2 -adc ({z2}),y -sta {z1}+2 -iny -lda {z1}+3 -adc ({z2}),y -sta {z1}+3 -//FRAGMENT vduz1=vduz1_band_vduz2 -lda {z1} -and {z2} -sta {z1} -lda {z1}+1 -and {z2}+1 -sta {z1}+1 -lda {z1}+2 -and {z2}+2 -sta {z1}+2 -lda {z1}+3 -and {z2}+3 -sta {z1}+3 -//FRAGMENT pbuz1=pbuc1_minus_vwuz1 -sec -lda #<{c1} -sbc {z1} -sta {z1} -lda #>{c1} -sbc {z1}+1 -sta {z1}+1 -//FRAGMENT vwuz1=vwuz2_plus_vwuz1 -lda {z1} -clc -adc {z2} -sta {z1} -lda {z1}+1 -adc {z2}+1 -sta {z1}+1 -//FRAGMENT vwuz1=vwuz1_plus_vwuz2 -lda {z1} -clc -adc {z2} -sta {z1} -lda {z1}+1 -adc {z2}+1 -sta {z1}+1 -//FRAGMENT pbuz1=_deref_qbuc1_plus_vwuz1 -clc -lda {z1} -adc {c1} -sta {z1} -lda {z1}+1 -adc {c1}+1 -sta {z1}+1 -//FRAGMENT vduz1=vduz1_plus_pduc1_derefidx_vbuz2 -ldy {z2} -lda {z1} -clc -adc {c1},y -sta {z1} -lda {z1}+1 -adc {c1}+1,y -sta {z1}+1 -lda {z1}+2 -adc {c1}+2,y -sta {z1}+2 -lda {z1}+3 -adc {c1}+3,y -sta {z1}+3 -//FRAGMENT vduz1=vduz2_bor_vduz1 -lda {z2} -ora {z1} -sta {z1} -lda {z2}+1 -ora {z1}+1 -sta {z1}+1 -lda {z2}+2 -ora {z1}+2 -sta {z1}+2 -lda {z2}+3 -ora {z1}+3 -sta {z1}+3 -//FRAGMENT pbuz1=pbuz1_plus_vwuc1 -clc -lda {z1} -adc #<{c1} -sta {z1} -lda {z1}+1 -adc #>{c1} -sta {z1}+1 -//FRAGMENT vduz1=vduz1_rol_pbuc1_derefidx_vbuz2 -ldy {z2} -ldx {c1},y -cpx #0 -beq !e+ -!: -asl {z1} -rol {z1}+1 -rol {z1}+2 -rol {z1}+3 -dex -bne !- -!e: -//FRAGMENT vwuz1=vwuz1_rol_1 -asl {z1} -rol {z1}+1 -//FRAGMENT pbuz1=pbuz1_plus__deref_pwuc1 -clc -lda {c1} -adc {z1} -sta {z1} -lda {c1}+1 -adc {z1}+1 -sta {z1}+1 -//FRAGMENT vwuz1=vwuz1_rol_3 -asl {z1} -rol {z1}+1 -asl {z1} -rol {z1}+1 -asl {z1} -rol {z1}+1 -//FRAGMENT vduz1=vduz1_ror_vbuaa -tay -cpy #0 -beq !e+ -!: -lsr {z1}+3 -ror {z1}+2 -ror {z1}+1 -ror {z1} -dey -bne !- -!e: -//FRAGMENT vwuz1=vwuz1_minus_vbuc1 -sec -lda {z1} -sbc #{c1} -sta {z1} -lda {z1}+1 -sbc #0 -sta {z1}+1 -//FRAGMENT pbuz1_lt_vwuc1_then_la1 -lda {z1}+1 -cmp #>{c1} -bcc {la1} -bne !+ -lda {z1} -cmp #<{c1} -bcc {la1} -!: -//FRAGMENT vbuz1=vbuz2_plus_1 -ldy {z2} -iny -sty {z1} -//FRAGMENT pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuz2 -ldy {z2} -lda {c2},y -ldy #{c1} -sta ({z1}),y -//FRAGMENT pbuz1_derefidx_vbuc1=vbuc2 -lda #{c2} -ldy #{c1} -sta ({z1}),y -//FRAGMENT pbuz1=pbuz1_plus_vbuc1 -lda #{c1} -clc -adc {z1} -sta {z1} -bcc !+ -inc {z1}+1 -!: -//FRAGMENT vbuz1=vbuaa_plus_1 -clc -adc #1 -sta {z1} -//FRAGMENT vbuz1=vbuaa_ror_4 -lsr -lsr -lsr -lsr -sta {z1} -//FRAGMENT vbuaa=vbuaa_ror_4 -lsr -lsr -lsr -lsr -//FRAGMENT vbuxx=vbuaa_ror_4 -lsr -lsr -lsr -lsr -tax -//FRAGMENT vbuyy=vbuaa_ror_4 -lsr -lsr -lsr -lsr -tay -//FRAGMENT vbuz1=vbuyy_ror_4 -tya -lsr -lsr -lsr -lsr -sta {z1} -//FRAGMENT vbuaa=vbuyy_ror_4 -tya -lsr -lsr -lsr -lsr -//FRAGMENT vbuxx=vbuyy_ror_4 -tya -lsr -lsr -lsr -lsr -tax -//FRAGMENT vbuyy=vbuyy_ror_4 -tya -lsr -lsr -lsr -lsr -tay //FRAGMENT vbuyy=vbuxx_band_vbuc1 txa and #{c1} tay -//FRAGMENT pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuaa -tay -lda {c2},y -ldy #{c1} -sta ({z1}),y -//FRAGMENT pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuxx -lda {c2},x -ldy #{c1} -sta ({z1}),y -//FRAGMENT pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuyy -lda {c2},y -ldy #{c1} -sta ({z1}),y -//FRAGMENT vbuz1=vbuxx_plus_1 -inx -stx {z1} -//FRAGMENT pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3 -ldy {z3} -lda {c1},y -ldy {z2} -sta ({z1}),y -//FRAGMENT pbuz1_derefidx_vbuz2=vbuc1 +//FRAGMENT vbuaa=vbuc1 lda #{c1} -ldy {z2} -sta ({z1}),y -//FRAGMENT pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuaa -tay -lda {c1},y -ldy {z2} -sta ({z1}),y -//FRAGMENT pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx +//FRAGMENT vbuxx=vbuc1 +ldx #{c1} +//FRAGMENT vbuyy=vbuc1 +ldy #{c1} +//FRAGMENT vbuaa=pbuc1_derefidx_vbuxx lda {c1},x -ldy {z2} -sta ({z1}),y -//FRAGMENT pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy -lda {c1},y -ldy {z2} -sta ({z1}),y -//FRAGMENT vbuc1_eq_vbuaa_then_la1 -cmp #{c1} -beq {la1} -//FRAGMENT vbuc1_eq_vbuyy_then_la1 -cpy #{c1} -beq {la1} -//FRAGMENT vwuz1=vwuz1_plus_vwuc1 -clc -lda {z1} -adc #<{c1} -sta {z1} -lda {z1}+1 -adc #>{c1} -sta {z1}+1 -//FRAGMENT vwsz1=vwsz2 -lda {z2} -sta {z1} -lda {z2}+1 -sta {z1}+1 -//FRAGMENT vbuz1_neq_vbuc1_then_la1 -lda #{c1} -cmp {z1} -bne {la1} -//FRAGMENT vwsz1_lt_0_then_la1 -lda {z1}+1 -bmi {la1} -//FRAGMENT vwsz1=_neg_vwsz1 -sec -lda #0 -sbc {z1} -sta {z1} -lda #0 -sbc {z1}+1 -sta {z1}+1 -//FRAGMENT vbuz1=_hi_vwuz2 -lda {z2}+1 -sta {z1} -//FRAGMENT vbuz1=_lo_vwuz2 -lda {z2} -sta {z1} -//FRAGMENT pbuz1_lt_pbuz2_then_la1 -lda {z1}+1 -cmp {z2}+1 -bcc {la1} -bne !+ -lda {z1} -cmp {z2} -bcc {la1} -!: -//FRAGMENT vbuxx_neq_vbuc1_then_la1 -cpx #{c1} -bne {la1} -//FRAGMENT vbuaa=_hi_vwuz1 -lda {z1}+1 -//FRAGMENT vbuxx=_hi_vwuz1 -ldx {z1}+1 -//FRAGMENT vbuaa=_lo_vwuz1 -lda {z1} -//FRAGMENT vbuxx=_lo_vwuz1 -ldx {z1} //FRAGMENT vbuaa=pbuc1_derefidx_vbuyy lda {c1},y +//FRAGMENT vbuz1_lt_vbuc1_then_la1 +lda {z1} +cmp #{c1} +bcc {la1} //FRAGMENT pbuc1_derefidx_vbuz1=vbuc2 lda #{c2} ldy {z1} sta {c1},y +//FRAGMENT _deref_pbuc1=vbuc2 +lda #{c2} +sta {c1} //FRAGMENT vbuz1=vbuz1_plus_2 lda {z1} clc adc #2 sta {z1} +//FRAGMENT vbuaa_lt_vbuc1_then_la1 +cmp #{c1} +bcc {la1} //FRAGMENT pbuc1_derefidx_vbuaa=vbuc2 tay lda #{c2} @@ -1768,6 +295,9 @@ sta {c1},y //FRAGMENT vbuxx=vbuxx_plus_2 inx inx +//FRAGMENT vbuxx_lt_vbuc1_then_la1 +cpx #{c1} +bcc {la1} //FRAGMENT vbuyy_lt_vbuc1_then_la1 cpy #{c1} bcc {la1} @@ -1793,6 +323,22 @@ sta {z1} lax {z2} axs #-[{c1}] stx {z1} +//FRAGMENT vbuz1=vbuz2 +lda {z2} +sta {z1} +//FRAGMENT vwuz1=vwuz1_plus_vwuz2 +lda {z1} +clc +adc {z2} +sta {z1} +lda {z1}+1 +adc {z2}+1 +sta {z1}+1 +//FRAGMENT vwuz1=_inc_vwuz1 +inc {z1} +bne !+ +inc {z1}+1 +!: //FRAGMENT pbuz1_neq_pbuc1_then_la1 lda {z1}+1 cmp #>{c1} @@ -1800,6 +346,19 @@ bne {la1} lda {z1} cmp #<{c1} bne {la1} +//FRAGMENT _deref_pbuz1=vbuc1 +lda #{c1} +ldy #0 +sta ({z1}),y +//FRAGMENT vbuc1_neq__deref_pbuz1_then_la1 +ldy #0 +lda ({z1}),y +cmp #{c1} +bne {la1} +//FRAGMENT vbuz1=_deref_pbuz2 +ldy #0 +lda ({z2}),y +sta {z1} //FRAGMENT vwuz1=vwuz1_minus_vwuc1 lda {z1} sec @@ -1816,6 +375,17 @@ sta {z1} lda #>{c1} sbc {z1}+1 sta {z1}+1 +//FRAGMENT vwuz1=vwuz2_rol_3 +lda {z2} +asl +sta {z1} +lda {z2}+1 +rol +sta {z1}+1 +asl {z1} +rol {z1}+1 +asl {z1} +rol {z1}+1 //FRAGMENT vbuz1=vbuz2_minus_vbuz3 lda {z2} sec @@ -1828,12 +398,20 @@ adc {z3} sta {z1} //FRAGMENT vbuz1=_dec_vbuz1 dec {z1} +//FRAGMENT vbuz1_eq_0_then_la1 +lda {z1} +cmp #0 +beq {la1} //FRAGMENT vbsz1=_neg_vbsz2 lda {z2} eor #$ff clc adc #$01 sta {z1} +//FRAGMENT vbsz1_ge_0_then_la1 +lda {z1} +cmp #0 +bpl {la1} //FRAGMENT vbuz1=vbuz2_minus_vbuc1 lax {z2} axs #{c1} @@ -1850,6 +428,14 @@ eor #$ff clc adc #$01 sta {z1} +//FRAGMENT vwuz1=vbuc1 +lda #<{c1} +sta {z1} +lda #>{c1} +sta {z1}+1 +//FRAGMENT vwuz1=vwuz1_rol_1 +asl {z1} +rol {z1}+1 //FRAGMENT vwuz1=vwuz1_bor_vbuc1 lda #{c1} ora {z1} @@ -1867,6 +453,11 @@ rol {z1}+1 dey bne !- !e: +//FRAGMENT vwuz1=_word_vbuz2 +lda {z2} +sta {z1} +lda #0 +sta {z1}+1 //FRAGMENT vbuz1_neq_0_then_la1 lda {z1} cmp #0 @@ -1905,6 +496,57 @@ adc #{c1} //FRAGMENT vbuxx=vbuc1_plus_vbuaa tax axs #-[{c1}] +//FRAGMENT vbuz1=vbuxx +stx {z1} +//FRAGMENT vbuaa=_deref_pbuz1 +ldy #0 +lda ({z1}),y +//FRAGMENT vbuxx=_deref_pbuz1 +ldy #0 +lda ({z1}),y +tax +//FRAGMENT vbuyy=_deref_pbuz1 +ldy #0 +lda ({z1}),y +tay +//FRAGMENT vbuz1=vbuyy_ror_4 +tya +lsr +lsr +lsr +lsr +sta {z1} +//FRAGMENT vbuaa=vbuyy_ror_4 +tya +lsr +lsr +lsr +lsr +//FRAGMENT vbuxx=vbuyy_ror_4 +tya +lsr +lsr +lsr +lsr +tax +//FRAGMENT vbuyy=vbuyy_ror_4 +tya +lsr +lsr +lsr +lsr +tay +//FRAGMENT vbuz1=vbuyy_band_vbuc1 +tya +and #{c1} +sta {z1} +//FRAGMENT vbuaa=vbuyy_band_vbuc1 +tya +and #{c1} +//FRAGMENT vbuxx=vbuyy_band_vbuc1 +ldx #{c1} +tya +axs #0 //FRAGMENT vbuyy=vbuyy_band_vbuc1 tya and #{c1} @@ -1912,6 +554,12 @@ tay //FRAGMENT vbuz1=pbuc1_derefidx_vbuyy lda {c1},y sta {z1} +//FRAGMENT vbuaa=vbuz1 +lda {z1} +//FRAGMENT vbuxx=vbuz1 +ldx {z1} +//FRAGMENT vbuz1=vbuaa +sta {z1} //FRAGMENT vbuz1=vbuaa_minus_vbuz2 sec sbc {z2} @@ -2058,6 +706,11 @@ tax sec sbc {z1} tax +//FRAGMENT vbuxx=vbuxx_minus_vbuz1 +txa +sec +sbc {z1} +tax //FRAGMENT vbuxx=vbuyy_minus_vbuz1 tya sec @@ -2071,6 +724,12 @@ tax //FRAGMENT vbuxx=vbuaa_minus_vbuaa lda #0 tax +//FRAGMENT vbuxx=vbuxx_minus_vbuaa +sta $ff +txa +sec +sbc $ff +tax //FRAGMENT vbuxx=vbuyy_minus_vbuaa sta $ff tya @@ -2088,6 +747,9 @@ stx $ff sec sbc $ff tax +//FRAGMENT vbuxx=vbuxx_minus_vbuxx +lda #0 +tax //FRAGMENT vbuxx=vbuyy_minus_vbuxx tya stx $ff @@ -2105,6 +767,12 @@ sty $ff sec sbc $ff tax +//FRAGMENT vbuxx=vbuxx_minus_vbuyy +txa +sty $ff +sec +sbc $ff +tax //FRAGMENT vbuxx=vbuyy_minus_vbuyy lda #0 tax @@ -2406,6 +1074,9 @@ tax tya asl tay +//FRAGMENT vbuxx_eq_0_then_la1 +cpx #0 +beq {la1} //FRAGMENT vbsaa=_neg_vbsz1 lda {z1} eor #$ff @@ -2488,6 +1159,9 @@ eor #$ff clc adc #$01 tay +//FRAGMENT vbsxx_ge_0_then_la1 +cpx #0 +bpl {la1} //FRAGMENT vbuz1=vbuaa_minus_vbuc1 sec sbc #{c1} @@ -2527,6 +1201,17 @@ sta {z1}+1 //FRAGMENT vbsaa_lt_0_then_la1 cmp #0 bmi {la1} +//FRAGMENT vbuz1=vbuaa_band_vbuc1 +and #{c1} +sta {z1} +//FRAGMENT vbuaa=vbuaa_band_vbuc1 +and #{c1} +//FRAGMENT vbuxx=vbuaa_band_vbuc1 +ldx #{c1} +axs #0 +//FRAGMENT vbuaa_eq_0_then_la1 +cmp #0 +beq {la1} //FRAGMENT vwuz1=vwuz2_rol_vbuxx lda {z2} sta {z1} @@ -2553,15 +1238,34 @@ rol {z1}+1 dey bne !- !e: +//FRAGMENT vwuz1=_word_vbuaa +sta {z1} +lda #0 +sta {z1}+1 +//FRAGMENT vwuz1=_word_vbuxx +txa +sta {z1} +lda #0 +sta {z1}+1 +//FRAGMENT vwuz1=_word_vbuyy +tya +sta {z1} +lda #0 +sta {z1}+1 //FRAGMENT vbuxx_neq_0_then_la1 cpx #0 bne {la1} //FRAGMENT vbsz1=vbsxx stx {z1} +//FRAGMENT vbuyy_eq_0_then_la1 +cpy #0 +beq {la1} //FRAGMENT vbuxx=vbuxx_ror_1 txa lsr tax +//FRAGMENT vbuyy=vbuz1 +ldy {z1} //FRAGMENT vbuyy_neq_0_then_la1 cpy #0 bne {la1} @@ -2571,9 +1275,27 @@ lsr tay //FRAGMENT vbuyy=_hi_vwuz1 ldy {z1}+1 +//FRAGMENT vbuyy=vbuaa_band_vbuc1 +and #{c1} +tay +//FRAGMENT vbuxx=_inc_vbuxx +inx +//FRAGMENT vbuyy=_inc_vbuyy +iny //FRAGMENT vbuyy_neq_vbuc1_then_la1 cpy #{c1} bne {la1} +//FRAGMENT vbuxx=vbuaa +tax +//FRAGMENT vbuxx=vbuyy +tya +tax +//FRAGMENT vbuaa=vbuyy +tya +//FRAGMENT vbuz1=vbuyy +sty {z1} +//FRAGMENT vbuaa=vbuxx +txa //FRAGMENT vbuaa=_dec_vbuaa sec sbc #1 @@ -2599,6 +1321,8 @@ tay //FRAGMENT vbsyy=vbsxx txa tay +//FRAGMENT vbuyy=vbuaa +tay //FRAGMENT vwuz1=vwuz1_sethi_vbuxx stx {z1}+1 //FRAGMENT vbuxx=vbuxx_minus_vbuc1 @@ -2651,6 +1375,13 @@ lda #{c1} clc adc {z2}+1 sta {z1} +//FRAGMENT vwuz1=vwuz1_rol_3 +asl {z1} +rol {z1}+1 +asl {z1} +rol {z1}+1 +asl {z1} +rol {z1}+1 //FRAGMENT vwuz1=vwuz1_rol_vbuz2 ldy {z2} beq !e+ @@ -2763,6 +1494,9 @@ tay lda ({z1}),y //FRAGMENT vbuaa=pbuz1_derefidx_vbuyy lda ({z1}),y +//FRAGMENT _deref_pbuc1=vbuz1 +lda {z1} +sta {c1} //FRAGMENT vbuz1_neq_vbuz2_then_la1 lda {z1} cmp {z2} @@ -2771,12 +1505,36 @@ bne {la1} lda {z2} cmp {z1} bcc {la1} +//FRAGMENT vbuz1=vbuz1_minus_vbuz2 +lda {z1} +sec +sbc {z2} +sta {z1} +//FRAGMENT _deref_pbuc1=vbuaa +sta {c1} //FRAGMENT vbuz1_neq_vbuaa_then_la1 cmp {z1} bne {la1} //FRAGMENT vbuz1_gt_vbuaa_then_la1 cmp {z1} bcc {la1} +//FRAGMENT vbuz1=vbuz1_minus_vbuaa +eor #$ff +sec +adc {z1} +sta {z1} +//FRAGMENT vbuz1=vbuz1_minus_vbuxx +txa +eor #$ff +sec +adc {z1} +sta {z1} +//FRAGMENT vbuz1=vbuz1_minus_vbuyy +tya +eor #$ff +sec +adc {z1} +sta {z1} //FRAGMENT vbuz1_neq_vbuxx_then_la1 cpx {z1} bne {la1} @@ -2821,6 +1579,13 @@ bne {la1} sty $ff cpx $ff bcc {la1} +//FRAGMENT vbuyy=vbuxx +txa +tay +//FRAGMENT _deref_pbuc1=vbuxx +stx {c1} +//FRAGMENT _deref_pbuc1=vbuyy +sty {c1} //FRAGMENT pbuc1_derefidx_vbuz1=vbuz1 ldy {z1} tya @@ -2964,6 +1729,8 @@ lda #<{c2} sta {c1} lda #>{c2} sta {c1}+1 +//FRAGMENT _deref_pbuc1=_inc__deref_pbuc1 +inc {c1} //FRAGMENT _deref_pbuc1_lt_vbuc2_then_la1 lda {c1} cmp #{c2} @@ -2973,6 +1740,9 @@ lda #<{c1} sta {z1} lda #>{c1} sta {z1}+1 +//FRAGMENT vbsz1=vbsc1 +lda #{c1} +sta {z1} //FRAGMENT vbsz1=pbsc1_derefidx_vbuz2 ldy {z2} lda {c1},y @@ -3000,9 +1770,18 @@ stx {z1} lax {z1} axs #-[{c1}] stx {z1} +//FRAGMENT vbuc1_neq_vbuz1_then_la1 +lda #{c1} +cmp {z1} +bne {la1} //FRAGMENT _deref_pbuc1=_deref_pbuc2 lda {c2} sta {c1} +//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuz2 +ldy {z2} +lda {c1},y +ldy #0 +sta ({z1}),y //FRAGMENT vbuz1=vbuz1_plus_vbuz2 lda {z1} clc @@ -3024,6 +1803,23 @@ sta {z1} lda #>{c1} adc #0 sta {z1}+1 +//FRAGMENT vwuz1=vwuz2_rol_2 +lda {z2} +asl +sta {z1} +lda {z2}+1 +rol +sta {z1}+1 +asl {z1} +rol {z1}+1 +//FRAGMENT vwuz1=vwuz2_plus_vwuz3 +lda {z2} +clc +adc {z3} +sta {z1} +lda {z2}+1 +adc {z3}+1 +sta {z1}+1 //FRAGMENT pwuc1_derefidx_vbuz1=vwuz2 ldy {z1} lda {z2} @@ -3042,6 +1838,10 @@ lda {c1},y sta {z1} lda {c1}+1,y sta {z1}+1 +//FRAGMENT pbuz1_derefidx_vbuc1=vbuc2 +lda #{c2} +ldy #{c1} +sta ({z1}),y //FRAGMENT vbuz1=vbuz2_ror_2 lda {z2} lsr @@ -3075,6 +1875,11 @@ sta {z1} lda #0 adc {z2}+1 sta {z1}+1 +//FRAGMENT vbuz1=vbuz2_rol_2 +lda {z2} +asl +asl +sta {z1} //FRAGMENT _deref_qbuz1=pbuz2 ldy #0 lda {z2} @@ -3090,6 +1895,11 @@ sta {z1} bcc !+ inc {z1}+1 !: +//FRAGMENT pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuz2 +ldy {z2} +lda {c2},y +ldy #{c1} +sta ({z1}),y //FRAGMENT vbuz1=vbuz2_band__deref_pbuc1 lda {c1} and {z2} @@ -3104,6 +1914,10 @@ lda ({z1}),y cmp ({z3}),y beq {la1} +//FRAGMENT vbuc1_eq_vbuz1_then_la1 +lda #{c1} +cmp {z1} +beq {la1} //FRAGMENT vbuz1_gt_0_then_la1 lda {z1} bne {la1} @@ -3183,6 +1997,17 @@ tya clc adc #{c1} tay +//FRAGMENT vbuc1_neq_vbuaa_then_la1 +cmp #{c1} +bne {la1} +//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuxx +lda {c1},x +ldy #0 +sta ({z1}),y +//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuyy +lda {c1},y +ldy #0 +sta ({z1}),y //FRAGMENT vbuz1=vbuz1_plus_vbuxx txa clc @@ -3433,6 +2258,11 @@ sta {z1}+1 asl asl sta {z1} +//FRAGMENT vbuz1=vbuxx_rol_2 +txa +asl +asl +sta {z1} //FRAGMENT vbuz1=vbuyy_rol_2 tya asl @@ -3453,10 +2283,20 @@ asl tya asl asl +//FRAGMENT vbuxx=vbuz1_rol_2 +lda {z1} +asl +asl +tax //FRAGMENT vbuxx=vbuaa_rol_2 asl asl tax +//FRAGMENT vbuxx=vbuxx_rol_2 +txa +asl +asl +tax //FRAGMENT vbuxx=vbuyy_rol_2 tya asl @@ -3481,6 +2321,10 @@ tya asl asl tay +//FRAGMENT pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuxx +lda {c2},x +ldy #{c1} +sta ({z1}),y //FRAGMENT vbuaa=vbuz1_band__deref_pbuc1 lda {c1} and {z1} @@ -3533,6 +2377,9 @@ lda ({z1}),y cmp ({z2}),y beq {la1} +//FRAGMENT vbuc1_eq_vbuaa_then_la1 +cmp #{c1} +beq {la1} //FRAGMENT vbuaa_gt_0_then_la1 cmp #0 bne {la1} @@ -3839,6 +2686,18 @@ ldy {c1},x //FRAGMENT vbuxx_gt_0_then_la1 cpx #0 bne {la1} +//FRAGMENT vbuc1_eq_vbuxx_then_la1 +cpx #{c1} +beq {la1} +//FRAGMENT vbuc1_eq_vbuyy_then_la1 +cpy #{c1} +beq {la1} +//FRAGMENT vbuc1_neq_vbuxx_then_la1 +cpx #{c1} +bne {la1} +//FRAGMENT vbuc1_neq_vbuyy_then_la1 +cpy #{c1} +bne {la1} //FRAGMENT vbuz1=vbuyy_bor_vbuxx txa sty $ff @@ -3890,6 +2749,14 @@ sta {z1} lda {z1}+1 adc #>{c1} sta {z1}+1 +//FRAGMENT vwuz1=vwuz2_plus_vwuz1 +lda {z1} +clc +adc {z2} +sta {z1} +lda {z1}+1 +adc {z2}+1 +sta {z1}+1 //FRAGMENT pbuz1=pbuc1_plus_vwuz1 clc lda {z1} @@ -3909,12 +2776,17 @@ inc {z1}+1 //FRAGMENT vwsz1=vwsz1_rol_1 asl {z1} rol {z1}+1 +//FRAGMENT vbuz1=_deref_pbuc1 +lda {c1} +sta {z1} //FRAGMENT vbuz1=vbuz2_plus_vbuc1 lax {z2} axs #-[{c1}] stx {z1} //FRAGMENT vbuaa=_deref_pbuc1 lda {c1} +//FRAGMENT vbuxx=_deref_pbuc1 +ldx {c1} //FRAGMENT vbuaa=vbuz1_plus_vbuc1 lda #{c1} clc @@ -3968,6 +2840,8 @@ txa clc adc #{c1} tay +//FRAGMENT vbuyy=_deref_pbuc1 +ldy {c1} //FRAGMENT vbuz1=vbuyy_plus_vbuc1 tya clc @@ -4063,6 +2937,11 @@ lda {z1} sta {c1},y lda {z1}+1 sta {c1}+1,y +//FRAGMENT pvoz1=pvoc1 +lda #<{c1} +sta {z1} +lda #>{c1} +sta {z1}+1 //FRAGMENT vbuz1=_bnot_vbuz2 lda {z2} eor #$ff @@ -4842,6 +3721,15 @@ bvc !+ eor #$80 !: bmi {la1} +//FRAGMENT vduz1=vduz2 +lda {z2} +sta {z1} +lda {z2}+1 +sta {z1}+1 +lda {z2}+2 +sta {z1}+2 +lda {z2}+3 +sta {z1}+3 //FRAGMENT vwsz1_ge_0_then_la1 lda {z1}+1 bpl {la1} @@ -4871,11 +3759,38 @@ sta {z1}+1 lda #0 sta {z1}+2 sta {z1}+3 +//FRAGMENT vduz1=vduc1 +lda #<{c1} +sta {z1} +lda #>{c1} +sta {z1}+1 +lda #<{c1}>>$10 +sta {z1}+2 +lda #>{c1}>>$10 +sta {z1}+3 //FRAGMENT vwuz1_neq_0_then_la1 lda {z1} bne {la1} lda {z1}+1 bne {la1} +//FRAGMENT vbuz1=vwuz2_band_vbuc1 +lda #{c1} +and {z2} +sta {z1} +//FRAGMENT vduz1=vduz1_plus_vduz2 +lda {z1} +clc +adc {z2} +sta {z1} +lda {z1}+1 +adc {z2}+1 +sta {z1}+1 +lda {z1}+2 +adc {z2}+2 +sta {z1}+2 +lda {z1}+3 +adc {z2}+3 +sta {z1}+3 //FRAGMENT vwuz1=vwuz1_ror_1 lsr {z1}+1 ror {z1} @@ -4899,6 +3814,14 @@ sta {z1} //FRAGMENT vbuz1=_byte_vwuz2 lda {z2} sta {z1} +//FRAGMENT pbuz1=_inc_pbuz2 +clc +lda {z2} +adc #1 +sta {z1} +lda {z2}+1 +adc #0 +sta {z1}+1 //FRAGMENT vwuz1_ge_vwuz2_then_la1 lda {z2}+1 cmp {z1}+1 @@ -4925,6 +3848,25 @@ sta {z1} lda {z1}+1 sbc {z2}+1 sta {z1}+1 +//FRAGMENT vbuaa=vwuz1_band_vbuc1 +lda #{c1} +and {z1} +//FRAGMENT vbuxx=vwuz1_band_vbuc1 +lda #{c1} +and {z1} +tax +//FRAGMENT vbuyy=vwuz1_band_vbuc1 +lda #{c1} +and {z1} +tay +//FRAGMENT vbuxx=vbuxx_bxor_vbuc1 +txa +eor #{c1} +tax +//FRAGMENT vbuyy=vbuyy_bxor_vbuc1 +tya +eor #{c1} +tay //FRAGMENT vbuaa=_byte_vwuz1 lda {z1} //FRAGMENT vbuxx=_byte_vwuz1 @@ -4933,6 +3875,11 @@ tax //FRAGMENT vbuyy=_byte_vwuz1 lda {z1} tay +//FRAGMENT _deref_pbuz1=pbuc1_derefidx_vbuaa +tay +lda {c1},y +ldy #0 +sta ({z1}),y //FRAGMENT pwsz1=pwsc1_plus_vwsz1 clc lda {z1} @@ -4977,6 +3924,15 @@ lda {c1},y sta {z1} lda {c1}+1,y sta {z1}+1 +//FRAGMENT pbuz1_lt_vwuc1_then_la1 +lda {z1}+1 +cmp #>{c1} +bcc {la1} +bne !+ +lda {z1} +cmp #<{c1} +bcc {la1} +!: //FRAGMENT _deref_pbuz1=_inc__deref_pbuz1 ldy #0 lda ({z1}),y @@ -5031,6 +3987,10 @@ sta {c1},x lda ({z2}),y ldx {z1} sta {c1},x +//FRAGMENT _deref_pbuc1_neq_vbuc2_then_la1 +lda #{c2} +cmp {c1} +bne {la1} //FRAGMENT pbuz1_derefidx_(pbsc1_derefidx_vbuz2)=vbuc2 lda #{c2} ldx {z2} @@ -5247,10 +4207,21 @@ tya sta {c1},y //FRAGMENT pbsc1_derefidx_vbuxx=vbsaa sta {c1},x +//FRAGMENT vbsyy=vbsc1 +ldy #{c1} +//FRAGMENT _deref_pbuz1=_deref_pbuz2 +ldy #0 +lda ({z2}),y +ldy #0 +sta ({z1}),y //FRAGMENT vbuz1=vbuz2_plus_vbuz2 lda {z2} asl sta {z1} +//FRAGMENT vbuz1=vbuz2_plus_1 +ldy {z2} +iny +sty {z1} //FRAGMENT vwuz1=vwuz2_plus_vbuz3 lda {z3} clc @@ -5281,6 +4252,10 @@ lda ({z1}),y cmp #0 bne {la1} +//FRAGMENT vbuz1_lt_vbuz2_then_la1 +lda {z1} +cmp {z2} +bcc {la1} //FRAGMENT vwuz1=vbuz2_rol_3 lda {z2} sta {z1} @@ -5318,6 +4293,10 @@ tay lda {z1} clc adc #1 +//FRAGMENT vbuz1=vbuaa_plus_1 +clc +adc #1 +sta {z1} //FRAGMENT vbuxx_eq_vbuz1_then_la1 cpx {z1} beq {la1} @@ -5354,6 +4333,9 @@ lda ({z1}),y cmp #{c1} bne {la1} +//FRAGMENT vbuz1=vbuxx_plus_1 +inx +stx {z1} //FRAGMENT pbuz1_derefidx_vbuaa_eq_vbuc1_then_la1 tay lda #{c1} @@ -5381,6 +4363,9 @@ lda ({z1}),y cmp #0 bne {la1} +//FRAGMENT vbuxx_lt_vbuz1_then_la1 +cpx {z1} +bcc {la1} //FRAGMENT vbuxx=vbuz1_plus_1 ldx {z1} inx @@ -5464,6 +4449,21 @@ ldx {c1}+1 ldy {c1} //FRAGMENT vbuyy=_hi__deref_pwuc1 ldy {c1}+1 +//FRAGMENT pbuz1=pbuz2_plus_vwsz3 +lda {z2} +clc +adc {z3} +sta {z1} +lda {z2}+1 +adc {z3}+1 +sta {z1}+1 +//FRAGMENT pbuz1_neq_pbuz2_then_la1 +lda {z1}+1 +cmp {z2}+1 +bne {la1} +lda {z1} +cmp {z2} +bne {la1} //FRAGMENT vwsz1=vbsc1_minus_vwsz2 NO_SYNTHESIS //FRAGMENT vwsz1=vwuc1_minus_vwsz2 @@ -6142,6 +5142,11 @@ sta {z1} lda {c1}+1 adc #>{c2} sta {z1}+1 +//FRAGMENT _deref_qbuc1=pbuz1 +lda {z1} +sta {c1} +lda {z1}+1 +sta {c1}+1 //FRAGMENT vbuc1_neq__deref_pbuc2_then_la1 lda #{c1} cmp {c2} @@ -6151,12 +5156,22 @@ lda {z2} ldy #{c1} sta {z1}+1 sty {z1} +//FRAGMENT vwuz1=vwuz2_plus_vbuc1 +lda #{c1} +clc +adc {z2} +sta {z1} +lda #0 +adc {z2}+1 +sta {z1}+1 //FRAGMENT vbuz1=vbuz2_minus__deref_pbuz3 lda {z2} sec ldy #0 sbc ({z3}),y sta {z1} +//FRAGMENT vbsz1=_inc_vbsz1 +inc {z1} //FRAGMENT vbsz1_neq_vbsc1_then_la1 lda #{c1} cmp {z1} @@ -6178,6 +5193,10 @@ sta {z1} lda {z3} ldy {z2} sta ({z1}),y +//FRAGMENT pbuz1_derefidx_vbuz2=vbuc1 +lda #{c1} +ldy {z2} +sta ({z1}),y //FRAGMENT vwuz1=vwuz2_ror_1 lda {z2}+1 lsr @@ -6215,6 +5234,10 @@ sta {z1} lda {z1}+1 sbc {c1}+1,y sta {z1}+1 +//FRAGMENT vbuz1_eq_vbuc1_then_la1 +lda #{c1} +cmp {z1} +beq {la1} //FRAGMENT vwuz1=vwuz1_plus_pwuc1_derefidx_vbuz2 ldy {z2} clc @@ -6524,6 +5547,9 @@ sta {z1} lda {z1}+1 sbc {c1}+1,y sta {z1}+1 +//FRAGMENT vbuxx_eq_vbuc1_then_la1 +cpx #{c1} +beq {la1} //FRAGMENT vwuz1=vwuz1_plus_pwuc1_derefidx_vbuaa tay clc @@ -6560,6 +5586,9 @@ dex //FRAGMENT vbuyy=vbuyy_minus_2 dey dey +//FRAGMENT vbuyy_eq_vbuc1_then_la1 +cpy #{c1} +beq {la1} //FRAGMENT vbuz1=vbuz2_bor_vbuyy tya ora {z2} @@ -6599,6 +5628,17 @@ cpx $ff bcc {la1} //FRAGMENT pbuz1_derefidx_vbuyy=vbuaa sta ({z1}),y +//FRAGMENT vwuz1=vwuz1_plus_vbuc1 +lda #{c1} +clc +adc {z1} +sta {z1} +bcc !+ +inc {z1}+1 +!: +//FRAGMENT vbuaa_eq_vbuc1_then_la1 +cmp #{c1} +beq {la1} //FRAGMENT vbuz1_eq_vbuxx_then_la1 cpx {z1} beq {la1} @@ -6615,6 +5655,11 @@ beq {la1} sty $ff cpx $ff beq {la1} +//FRAGMENT pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuz3 +ldy {z3} +lda {c1},y +ldy {z2} +sta ({z1}),y //FRAGMENT pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuz2 txa ldx {z2} @@ -6625,6 +5670,10 @@ sta ({z1}),y ldx {z2} lda {c1},x sta ({z1}),y +//FRAGMENT pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuxx +lda {c1},x +ldy {z2} +sta ({z1}),y //FRAGMENT pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuxx txa tay @@ -6633,6 +5682,10 @@ sta ({z1}),y //FRAGMENT pbuz1_derefidx_vbuyy=pbuc1_derefidx_vbuxx lda {c1},x sta ({z1}),y +//FRAGMENT pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuyy +lda {c1},y +ldy {z2} +sta ({z1}),y //FRAGMENT pbuz1_derefidx_vbuxx=pbuc1_derefidx_vbuyy lda {c1},y stx $ff @@ -7160,6 +6213,10 @@ cmp #{c1} beq !+ bcs {la1} !: +//FRAGMENT vbuz1=vbuz2_bxor_vbuc1 +lda #{c1} +eor {z2} +sta {z1} //FRAGMENT _deref_pbuc1=_deref_pbuc1_band_vbuz1 lda {c1} and {z1} @@ -7168,6 +6225,17 @@ sta {c1} lda {c1} ora {z1} sta {c1} +//FRAGMENT vbuaa=vbuz1_bxor_vbuc1 +lda #{c1} +eor {z1} +//FRAGMENT vbuxx=vbuz1_bxor_vbuc1 +lda #{c1} +eor {z1} +tax +//FRAGMENT vbuyy=vbuz1_bxor_vbuc1 +lda #{c1} +eor {z1} +tay //FRAGMENT vbuz1=vbuaa_bxor_vbuc1 eor #{c1} sta {z1} @@ -7179,6 +6247,28 @@ tax //FRAGMENT vbuyy=vbuaa_bxor_vbuc1 eor #{c1} tay +//FRAGMENT vbuz1=vbuxx_bxor_vbuc1 +txa +eor #{c1} +sta {z1} +//FRAGMENT vbuaa=vbuxx_bxor_vbuc1 +txa +eor #{c1} +//FRAGMENT vbuyy=vbuxx_bxor_vbuc1 +txa +eor #{c1} +tay +//FRAGMENT vbuz1=vbuyy_bxor_vbuc1 +tya +eor #{c1} +sta {z1} +//FRAGMENT vbuaa=vbuyy_bxor_vbuc1 +tya +eor #{c1} +//FRAGMENT vbuxx=vbuyy_bxor_vbuc1 +tya +eor #{c1} +tax //FRAGMENT _deref_pbuc1=_deref_pbuc1_band_vbuaa and {c1} sta {c1} @@ -7201,6 +6291,8 @@ sta {c1} tya ora {c1} sta {c1} +//FRAGMENT vbsz1=_dec_vbsz1 +dec {z1} //FRAGMENT pbuz1=pbuc1_plus_vbsz2 lda {z2} clc @@ -7283,6 +6375,10 @@ txa sty $ff ora $ff tax +//FRAGMENT vbsxx=vbsc1 +ldx #{c1} +//FRAGMENT vbsxx=_dec_vbsxx +dex //FRAGMENT vduz1=vduz2_minus_vduc1 lda {z2} sec @@ -7371,6 +6467,14 @@ sta {z1} lda {z2}+1 sbc #>{c1} sta {z1}+1 +//FRAGMENT pbuz1=pbuz2_plus_vbuc1 +lda #{c1} +clc +adc {z2} +sta {z1} +lda #0 +adc {z2}+1 +sta {z1}+1 //FRAGMENT _deref_pwuz1_le_vwuz2_then_la1 ldy #1 lda ({z1}),y @@ -7763,6 +6867,14 @@ sta {z1} //FRAGMENT vbuz1=_hi_pbuz2 lda {z2}+1 sta {z1} +//FRAGMENT pbuz1=pbuz1_plus_vwuc1 +clc +lda {z1} +adc #<{c1} +sta {z1} +lda {z1}+1 +adc #>{c1} +sta {z1}+1 //FRAGMENT vbuc1_lt_vbuz1_then_la1 lda #{c1} cmp {z1} @@ -7771,6 +6883,10 @@ bcc {la1} lda #{c1} cmp {z1} bcs {la1} +//FRAGMENT vbuz1_ge_vbuz2_then_la1 +lda {z1} +cmp {z2} +bcs {la1} //FRAGMENT vwuz1=pbuc1_derefidx_vbuz2_word_pbuc2_derefidx_vbuz2 ldy {z2} lda {c1},y @@ -7807,6 +6923,9 @@ sta {z1} cmp #{c1} bcc {la1} beq {la1} +//FRAGMENT vbuxx_ge_vbuz1_then_la1 +cpx {z1} +bcs {la1} //FRAGMENT vbuz1_ge_vbuaa_then_la1 ldy {z1} sta $ff @@ -7887,6 +7006,11 @@ tay cpx #{c1} bcc {la1} beq {la1} +//FRAGMENT vbuz1_ge_vbuxx_then_la1 +lda {z1} +stx $ff +cmp $ff +bcs {la1} //FRAGMENT vbuc1_lt_vbuxx_then_la1 cpx #{c1} beq !+ @@ -7927,6 +7051,20 @@ bne {la1} lda {z1} cmp {z2} bne {la1} +//FRAGMENT vwuz1_le_0_then_la1 +lda {z1} +bne !+ +lda {z1}+1 +beq {la1} +!: +//FRAGMENT pbuz1=pbuz2_plus_vwuz3 +lda {z2} +clc +adc {z3} +sta {z1} +lda {z2}+1 +adc {z3}+1 +sta {z1}+1 //FRAGMENT vwuz1=vwuz2_band_vwuc1 lda {z2} and #<{c1} @@ -7960,6 +7098,14 @@ ldy #0 ora ({z1}),y ldy #0 sta ({z1}),y +//FRAGMENT pbuz1=pbuz2_plus_vwuz1 +lda {z1} +clc +adc {z2} +sta {z1} +lda {z1}+1 +adc {z2}+1 +sta {z1}+1 //FRAGMENT pbuz1=pbuz1_plus_vwuz2 lda {z1} clc @@ -7986,6 +7132,11 @@ bne {la1} lda {c1},y cmp #0 bne {la1} +//FRAGMENT pvoz1=pvoz2 +lda {z2} +sta {z1} +lda {z2}+1 +sta {z1}+1 //FRAGMENT pbuz1=pbuz2_minus_vwuc1 lda {z2} sec @@ -8176,6 +7327,14 @@ lda ({z1}),y ldy #{c1}+1 adc ({z1}),y sta ({z1}),y +//FRAGMENT pbuz1=pbuz2_plus_vwuc1 +clc +lda {z2} +adc #<{c1} +sta {z1} +lda {z2}+1 +adc #>{c1} +sta {z1}+1 //FRAGMENT vbuz1=_neg_vbuz2 lda {z2} eor #$ff @@ -8191,6 +7350,19 @@ lda #{c2} ldy {z1} cmp {c1},y bne {la1} +//FRAGMENT vwuz1=vwuz2_rol_6 +lda {z2}+1 +lsr +sta $ff +lda {z2} +ror +sta {z1}+1 +lda #0 +ror +sta {z1} +lsr $ff +ror {z1}+1 +ror {z1} //FRAGMENT vwuz1=vbuc1_plus_vwuz2 lda #{c1} clc @@ -8418,6 +7590,9 @@ tax //FRAGMENT vbuyy=pbuz1_derefidx_vbuyy lda ({z1}),y tay +//FRAGMENT vbuaa_ge_vbuz1_then_la1 +cmp {z1} +bcs {la1} //FRAGMENT pbuc1_derefidx_vbuaa_neq_vbuc2_then_la1 tay lda #{c2} @@ -8493,10 +7668,22 @@ lda {z1} sta {c1},y lda {z1}+1 sta {c1}+1,y +//FRAGMENT vbuyy_ge_vbuz1_then_la1 +cpy {z1} +bcs {la1} //FRAGMENT vbuyy_ge_vbuxx_then_la1 stx $ff cpy $ff bcs {la1} +//FRAGMENT vbuz1_ge_vbuyy_then_la1 +lda {z1} +sty $ff +cmp $ff +bcs {la1} +//FRAGMENT vbuxx_ge_vbuyy_then_la1 +sty $ff +cpx $ff +bcs {la1} //FRAGMENT vwuz1=vwuz1_ror_3 lsr {z1}+1 ror {z1} @@ -8513,6 +7700,19 @@ asl {z1} rol {z1}+1 asl {z1} rol {z1}+1 +//FRAGMENT vwuz1=vwuz1_rol_6 +lda {z1}+1 +lsr +sta $ff +lda {z1} +ror +sta {z1}+1 +lda #0 +ror +sta {z1} +lsr $ff +ror {z1}+1 +ror {z1} //FRAGMENT vwuz1=vbuc1_plus_vwuz1 lda #{c1} clc @@ -8585,6 +7785,13 @@ sta {z1} lda #0 rol sta {z1}+1 +//FRAGMENT vwuz1=vwuz2_rol_1 +lda {z2} +asl +sta {z1} +lda {z2}+1 +rol +sta {z1}+1 //FRAGMENT qwuz1=qwuz2_plus_vwuz3 lda {z2} clc @@ -8763,6 +7970,11 @@ sta {z1} lda {z1}+1 sbc {z2}+1 sta {z1}+1 +//FRAGMENT pbuz1_derefidx_vbuz2=pbuc1_derefidx_vbuaa +tay +lda {c1},y +ldy {z2} +sta ({z1}),y //FRAGMENT vbuyy=pbuc1_derefidx_vbuxx ldy {c1},x //FRAGMENT _stackpullbyte_1 @@ -8785,14 +7997,31 @@ ldy {z1} lda {c1},y cmp {z2} beq {la1} +//FRAGMENT vbsz1=_sbyte_vwuz2 +lda {z2} +sta {z1} //FRAGMENT vbsz1=vbsz2_minus_vbsz3 lda {z2} sec sbc {z3} sta {z1} +//FRAGMENT vbsc1_neq_vbsz1_then_la1 +lda #{c1} +cmp {z1} +bne {la1} //FRAGMENT vbuz1=_byte_vduz2 lda {z2} sta {z1} +//FRAGMENT vduz1=pduc1_derefidx_vbuz2 +ldy {z2} +lda {c1},y +sta {z1} +lda {c1}+1,y +sta {z1}+1 +lda {c1}+2,y +sta {z1}+2 +lda {c1}+3,y +sta {z1}+3 //FRAGMENT vduz1_ge_vduz2_then_la1 lda {z1}+3 cmp {z2}+3 @@ -8927,6 +8156,10 @@ tax sty $ff cpx $ff beq {la1} +//FRAGMENT vbsaa=_sbyte_vwuz1 +lda {z1} +//FRAGMENT vbsxx=_sbyte_vwuz1 +ldx {z1} //FRAGMENT vbsz1=vbsz2_minus_vbsaa eor #$ff sec @@ -9046,6 +8279,9 @@ tax //FRAGMENT vbsxx=vbsyy_minus_vbsyy lda #0 tax +//FRAGMENT vbsc1_neq_vbsxx_then_la1 +cpx #{c1} +bne {la1} //FRAGMENT vbuaa=_byte_vduz1 lda {z1} //FRAGMENT vbuxx=_byte_vduz1 @@ -9064,6 +8300,15 @@ lda {c1}+2,y sta {z1}+2 lda {c1}+3,y sta {z1}+3 +//FRAGMENT vduz1=pduc1_derefidx_vbuxx +lda {c1},x +sta {z1} +lda {c1}+1,x +sta {z1}+1 +lda {c1}+2,x +sta {z1}+2 +lda {c1}+3,x +sta {z1}+3 //FRAGMENT vduz1=pduc1_derefidx_vbuyy lda {c1},y sta {z1} @@ -9106,6 +8351,15 @@ beq {la1} cpy #{c1} bcc {la1} beq {la1} +//FRAGMENT vbsaa=_inc_vbsaa +clc +adc #1 +//FRAGMENT vbsxx=_inc_vbsxx +inx +//FRAGMENT vbsyy=_sbyte_vwuz1 +ldy {z1} +//FRAGMENT vbsyy=_inc_vbsyy +iny //FRAGMENT vbuaa_lt_vbuxx_then_la1 stx $ff cmp $ff @@ -9826,6 +9080,15 @@ ora {z2} sta {z1} lda {z2}+1 sta {z1}+1 +//FRAGMENT pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuaa +tay +lda {c2},y +ldy #{c1} +sta ({z1}),y +//FRAGMENT pbuz1_derefidx_vbuc1=pbuc2_derefidx_vbuyy +lda {c2},y +ldy #{c1} +sta ({z1}),y //FRAGMENT vwuz1=vwuz1_bor_vbuxx txa ora {z1} @@ -11725,6 +10988,19 @@ bne {la1} lda {z1} cmp #<{c1} bne {la1} +//FRAGMENT vwuz1=_word__deref_pbuc1 +lda {c1} +sta {z1} +lda #0 +sta {z1}+1 +//FRAGMENT vwuz1=vwuz2_plus_1 +clc +lda {z2} +adc #1 +sta {z1} +lda {z2}+1 +adc #0 +sta {z1}+1 //FRAGMENT vwuz1=vwuz2_ror_4 lda {z2}+1 lsr @@ -11762,6 +11038,11 @@ bcs {la1} //FRAGMENT pbuc1_derefidx_vbuxx=_byte_vwuz1 lda {z1} sta {c1},x +//FRAGMENT vwuz1=vwuz1_plus_1 +inc {z1} +bne !+ +inc {z1}+1 +!: //FRAGMENT vwuz1=vwuz1_rol_8 lda {z1} sta {z1}+1 @@ -11843,6 +11124,19 @@ sta {z1}+2 lda {z2}+3 adc #0 sta {z1}+3 +//FRAGMENT vwuz1=vwuz2_ror_6 +lda {z2} +asl +sta $ff +lda {z2}+1 +rol +sta {z1} +lda #0 +rol +sta {z1}+1 +asl $ff +rol {z1} +rol {z1}+1 //FRAGMENT pbuz1_derefidx_vbuz2=pbuc1_derefidx_(pbuc2_derefidx_vbuz3) ldx {z3} ldy {c2},x @@ -12646,6 +11940,19 @@ sta {z1} lda {z1}+1 adc #>{c1} sta {z1}+1 +//FRAGMENT vwuz1=vwuz1_ror_6 +lda {z1} +asl +sta $ff +lda {z1}+1 +rol +sta {z1} +lda #0 +rol +sta {z1}+1 +asl $ff +rol {z1} +rol {z1}+1 //FRAGMENT vwuz1=pbuz2_bxor_vwuc1 lda #<{c1} eor {z2} @@ -12999,6 +12306,28 @@ sta {z1}+1 //FRAGMENT vbuyy=pbuc1_derefidx_vbuyy lda {c1},y tay +//FRAGMENT vbsz1=vbsc1_minus_vbsz2 +lda #{c1} +sec +sbc {z2} +sta {z1} +//FRAGMENT vbsz1=vbsc1_minus_vbsaa +eor #$ff +sec +adc #{c1} +sta {z1} +//FRAGMENT vbsz1=vbsc1_minus_vbsxx +txa +eor #$ff +sec +adc #{c1} +sta {z1} +//FRAGMENT vbsz1=vbsc1_minus_vbsyy +tya +eor #$ff +sec +adc #{c1} +sta {z1} //FRAGMENT vbsaa=vbsc1_minus_vbsz1 lda #{c1} sec @@ -13017,6 +12346,25 @@ tya eor #$ff sec adc #{c1} +//FRAGMENT vbsxx=vbsc1_minus_vbsz1 +lda #{c1} +sec +sbc {z1} +tax +//FRAGMENT vbsxx=vbsc1_minus_vbsaa +eor #$ff +tax +axs #-{c1}-1 +//FRAGMENT vbsxx=vbsc1_minus_vbsxx +txa +eor #$ff +tax +axs #-{c1}-1 +//FRAGMENT vbsxx=vbsc1_minus_vbsyy +tya +eor #$ff +tax +axs #-{c1}-1 //FRAGMENT vbsyy=vbsc1_minus_vbsz1 lda #{c1} sec @@ -14191,6 +13539,14 @@ lda {z2} sta {z1}+2 lda {z2}+1 sta {z1}+3 +//FRAGMENT vwuz1=vwuz1_minus_vbuc1 +sec +lda {z1} +sbc #{c1} +sta {z1} +lda {z1}+1 +sbc #0 +sta {z1}+1 //FRAGMENT vbuz1=vbuz2_plus_pbuc1_derefidx_vbuz3 lda {z2} ldy {z3} @@ -14387,6 +13743,20 @@ asl {z1} rol {z1}+1 rol {z1}+2 rol {z1}+3 +//FRAGMENT vduz1=vduz2_plus_vduz3 +lda {z2} +clc +adc {z3} +sta {z1} +lda {z2}+1 +adc {z3}+1 +sta {z1}+1 +lda {z2}+2 +adc {z3}+2 +sta {z1}+2 +lda {z2}+3 +adc {z3}+3 +sta {z1}+3 //FRAGMENT vduz1=vduz2_rol_1 lda {z2} asl @@ -14423,6 +13793,17 @@ asl {z1} rol {z1}+1 rol {z1}+2 rol {z1}+3 +//FRAGMENT pbuz1=_deref_qbuc1 +lda {c1} +sta {z1} +lda {c1}+1 +sta {z1}+1 +//FRAGMENT vbsz1_gt_0_then_la1 +lda {z1} +cmp #0 +beq !+ +bpl {la1} +!: //FRAGMENT vbuz1=vbuc1_minus_vbuz1 lda #{c1} sec @@ -14454,6 +13835,23 @@ sta {z1} //FRAGMENT vbsaa_neq_vbsc1_then_la1 cmp #{c1} bne {la1} +//FRAGMENT vbsaa_gt_0_then_la1 +cmp #0 +beq !+ +bpl {la1} +!: +//FRAGMENT vbsxx_gt_0_then_la1 +txa +cmp #0 +beq !+ +bpl {la1} +!: +//FRAGMENT vbsyy_gt_0_then_la1 +tya +cmp #0 +beq !+ +bpl {la1} +!: //FRAGMENT vbsyy_neq_0_then_la1 tya cmp #0 @@ -16314,6 +15712,11 @@ lda ({z1}),y tay lda {c2},y sta {c1},x +//FRAGMENT _deref_pwuc1=vbuc2 +lda #0 +sta {c1}+1 +lda #<{c2} +sta {c1} //FRAGMENT vboaa=vboc1 lda #{c1} //FRAGMENT vboxx=vboc1 @@ -16354,6 +15757,405 @@ iny lda {z2} ldy #0 sta ({z1}),y +//FRAGMENT vwuz1=vwuz2_minus_vbuc1 +sec +lda {z2} +sbc #{c1} +sta {z1} +lda {z2}+1 +sbc #0 +sta {z1}+1 +//FRAGMENT vduz1=vwuz2 +lda {z2} +sta {z1} +lda {z2}+1 +sta {z1}+1 +lda #0 +sta {z1}+2 +sta {z1}+3 +//FRAGMENT vwsz1_lt_vwuz2_then_la1 +lda {z1}+1 +bmi {la1} +cmp {z2}+1 +bcc {la1} +bne !+ +lda {z1} +cmp {z2} +bcc {la1} +!: +//FRAGMENT vduz1=pduz2_derefidx_vbuz3 +ldy {z3} +lda ({z2}),y +sta {z1} +iny +lda ({z2}),y +sta {z1}+1 +iny +lda ({z2}),y +sta {z1}+2 +iny +lda ({z2}),y +sta {z1}+3 +//FRAGMENT vduz1=vduz2_plus_pduc1_derefidx_vbuz3 +ldy {z3} +lda {z2} +clc +adc {c1},y +sta {z1} +lda {z2}+1 +adc {c1}+1,y +sta {z1}+1 +lda {z2}+2 +adc {c1}+2,y +sta {z1}+2 +lda {z2}+3 +adc {c1}+3,y +sta {z1}+3 +//FRAGMENT vduz1=vduz2_plus_pduz3_derefidx_vbuz4 +ldy {z4} +lda {z2} +clc +adc ({z3}),y +sta {z1} +iny +lda {z2}+1 +adc ({z3}),y +sta {z1}+1 +iny +lda {z2}+2 +adc ({z3}),y +sta {z1}+2 +iny +lda {z2}+3 +adc ({z3}),y +sta {z1}+3 +//FRAGMENT vduz1=_bnot_vduz2 +lda {z2} +eor #$ff +sta {z1} +lda {z2}+1 +eor #$ff +sta {z1}+1 +lda {z2}+2 +eor #$ff +sta {z1}+2 +lda {z2}+3 +eor #$ff +sta {z1}+3 +//FRAGMENT vduz1=vduz2_bor_vduz3 +lda {z2} +ora {z3} +sta {z1} +lda {z2}+1 +ora {z3}+1 +sta {z1}+1 +lda {z2}+2 +ora {z3}+2 +sta {z1}+2 +lda {z2}+3 +ora {z3}+3 +sta {z1}+3 +//FRAGMENT vduz1=vduz2_bxor_vduz3 +lda {z2} +eor {z3} +sta {z1} +lda {z2}+1 +eor {z3}+1 +sta {z1}+1 +lda {z2}+2 +eor {z3}+2 +sta {z1}+2 +lda {z2}+3 +eor {z3}+3 +sta {z1}+3 +//FRAGMENT vduz1=vduz2_band_vduz3 +lda {z2} +and {z3} +sta {z1} +lda {z2}+1 +and {z3}+1 +sta {z1}+1 +lda {z2}+2 +and {z3}+2 +sta {z1}+2 +lda {z2}+3 +and {z3}+3 +sta {z1}+3 +//FRAGMENT vbuz1=pbuc1_derefidx_(_deref_pbuc2) +ldy {c2} +lda {c1},y +sta {z1} +//FRAGMENT _deref_pwuc1=_inc__deref_pwuc1 +inc {c1} +bne !+ +inc {c1}+1 +!: +//FRAGMENT _deref_pwuc1_eq_vbuc2_then_la1 +lda {c1}+1 +bne !+ +lda {c1} +cmp #{c2} +beq {la1} +!: +//FRAGMENT vwuz1=vwuz2_band_vbuc1 +lda #{c1} +and {z2} +sta {z1} +lda #0 +sta {z1}+1 +//FRAGMENT _deref_(_deref_qbuc1)=_deref_pbuc2 +lda {c2} +ldy {c1} +sty $fe +ldy {c1}+1 +sty $ff +ldy #0 +sta ($fe),y +//FRAGMENT _deref_(_deref_qbuc1)=vbuz1 +lda {z1} +ldy {c1} +sty $fe +ldy {c1}+1 +sty $ff +ldy #0 +sta ($fe),y +//FRAGMENT _deref_(_deref_qbuc1)=_deref_(_deref_qbuc1)_bxor_vbuc2 +ldy {c1} +sty $fe +ldy {c1}+1 +sty $ff +ldy #0 +lda ($fe),y +eor #{c2} +sta ($fe),y +//FRAGMENT pbuz1=pbuc1_minus_vwuz2 +sec +lda #<{c1} +sbc {z2} +sta {z1} +lda #>{c1} +sbc {z2}+1 +sta {z1}+1 +//FRAGMENT pbuz1=_deref_qbuc1_plus_vwuz2 +clc +lda {z2} +adc {c1} +sta {z1} +lda {z2}+1 +adc {c1}+1 +sta {z1}+1 +//FRAGMENT pbuz1=pbuz2_plus__deref_pwuc1 +clc +lda {c1} +adc {z2} +sta {z1} +lda {c1}+1 +adc {z2}+1 +sta {z1}+1 +//FRAGMENT vduz1=pduz2_derefidx_vbuxx +txa +tay +lda ({z2}),y +sta {z1} +iny +lda ({z2}),y +sta {z1}+1 +iny +lda ({z2}),y +sta {z1}+2 +iny +lda ({z2}),y +sta {z1}+3 +//FRAGMENT vduz1=vduz2_plus_pduc1_derefidx_vbuxx +lda {z2} +clc +adc {c1},x +sta {z1} +lda {z2}+1 +adc {c1}+1,x +sta {z1}+1 +lda {z2}+2 +adc {c1}+2,x +sta {z1}+2 +lda {z2}+3 +adc {c1}+3,x +sta {z1}+3 +//FRAGMENT vduz1=vduz2_plus_pduz3_derefidx_vbuxx +txa +tay +lda {z2} +clc +adc ({z3}),y +sta {z1} +iny +lda {z2}+1 +adc ({z3}),y +sta {z1}+1 +iny +lda {z2}+2 +adc ({z3}),y +sta {z1}+2 +iny +lda {z2}+3 +adc ({z3}),y +sta {z1}+3 +//FRAGMENT vbuaa=pbuc1_derefidx_(_deref_pbuc2) +ldy {c2} +lda {c1},y +//FRAGMENT vbuxx=pbuc1_derefidx_(_deref_pbuc2) +ldy {c2} +ldx {c1},y +//FRAGMENT vbuyy=pbuc1_derefidx_(_deref_pbuc2) +ldx {c2} +ldy {c1},x +//FRAGMENT _deref_(_deref_qbuc1)=vbuaa +ldy {c1} +sty $fe +ldy {c1}+1 +sty $ff +ldy #0 +sta ($fe),y +//FRAGMENT _deref_(_deref_qbuc1)=vbuxx +txa +ldy {c1} +sty $fe +ldy {c1}+1 +sty $ff +ldy #0 +sta ($fe),y +//FRAGMENT _deref_(_deref_qbuc1)=vbuyy +tya +ldy {c1} +sty $fe +ldy {c1}+1 +sty $ff +ldy #0 +sta ($fe),y +//FRAGMENT vduz1=vduz2_bxor_vduz1 +lda {z1} +eor {z2} +sta {z1} +lda {z1}+1 +eor {z2}+1 +sta {z1}+1 +lda {z1}+2 +eor {z2}+2 +sta {z1}+2 +lda {z1}+3 +eor {z2}+3 +sta {z1}+3 +//FRAGMENT vduz1=vduz1_bxor_vduz2 +lda {z1} +eor {z2} +sta {z1} +lda {z1}+1 +eor {z2}+1 +sta {z1}+1 +lda {z1}+2 +eor {z2}+2 +sta {z1}+2 +lda {z1}+3 +eor {z2}+3 +sta {z1}+3 +//FRAGMENT vduz1=vduz1_bor_vduz2 +lda {z2} +ora {z1} +sta {z1} +lda {z2}+1 +ora {z1}+1 +sta {z1}+1 +lda {z2}+2 +ora {z1}+2 +sta {z1}+2 +lda {z2}+3 +ora {z1}+3 +sta {z1}+3 +//FRAGMENT vbuz1=vbuz1_rol_2 +lda {z1} +asl +asl +sta {z1} +//FRAGMENT vwuz1=vwuz1_band_vbuc1 +lda #{c1} +and {z1} +sta {z1} +lda #0 +sta {z1}+1 +//FRAGMENT vduz1=vduz1_plus_pduz2_derefidx_vbuz3 +ldy {z3} +lda {z1} +clc +adc ({z2}),y +sta {z1} +iny +lda {z1}+1 +adc ({z2}),y +sta {z1}+1 +iny +lda {z1}+2 +adc ({z2}),y +sta {z1}+2 +iny +lda {z1}+3 +adc ({z2}),y +sta {z1}+3 +//FRAGMENT vduz1=vduz1_band_vduz2 +lda {z1} +and {z2} +sta {z1} +lda {z1}+1 +and {z2}+1 +sta {z1}+1 +lda {z1}+2 +and {z2}+2 +sta {z1}+2 +lda {z1}+3 +and {z2}+3 +sta {z1}+3 +//FRAGMENT pbuz1=pbuc1_minus_vwuz1 +sec +lda #<{c1} +sbc {z1} +sta {z1} +lda #>{c1} +sbc {z1}+1 +sta {z1}+1 +//FRAGMENT pbuz1=_deref_qbuc1_plus_vwuz1 +clc +lda {z1} +adc {c1} +sta {z1} +lda {z1}+1 +adc {c1}+1 +sta {z1}+1 +//FRAGMENT vduz1=vduz1_plus_pduc1_derefidx_vbuz2 +ldy {z2} +lda {z1} +clc +adc {c1},y +sta {z1} +lda {z1}+1 +adc {c1}+1,y +sta {z1}+1 +lda {z1}+2 +adc {c1}+2,y +sta {z1}+2 +lda {z1}+3 +adc {c1}+3,y +sta {z1}+3 +//FRAGMENT vduz1=vduz2_bor_vduz1 +lda {z2} +ora {z1} +sta {z1} +lda {z2}+1 +ora {z1}+1 +sta {z1}+1 +lda {z2}+2 +ora {z1}+2 +sta {z1}+2 +lda {z2}+3 +ora {z1}+3 +sta {z1}+3 //FRAGMENT vduz1=vduz2_plus_vduz1 lda {z1} clc @@ -16368,6 +16170,14 @@ sta {z1}+2 lda {z1}+3 adc {z2}+3 sta {z1}+3 +//FRAGMENT pbuz1=pbuz1_plus__deref_pwuc1 +clc +lda {c1} +adc {z1} +sta {z1} +lda {c1}+1 +adc {z1}+1 +sta {z1}+1 //FRAGMENT vbuz1=vbuxx_band_pbuz2_derefidx_vbuc1 ldy #{c1} txa @@ -17060,6 +16870,8 @@ bmi {la1} //FRAGMENT vbsyy_neq_vbsz1_then_la1 cpy {z1} bne {la1} +//FRAGMENT vbsyy=_dec_vbsyy +dey //FRAGMENT vbsyy_neq_vbsxx_then_la1 stx $ff cpy $ff @@ -19828,6 +19640,27 @@ sta {z1}+3 sta {z1}+2 sta {z1}+1 sta {z1} +//FRAGMENT vduz1=vduz2_rol_pbuc1_derefidx_vbuz3 +ldx {z3} +ldy {c1},x +lda {z2} +sta {z1} +lda {z2}+1 +sta {z1}+1 +lda {z2}+2 +sta {z1}+2 +lda {z2}+3 +sta {z1}+3 +cpy #0 +beq !e+ +!: +asl {z1} +rol {z1}+1 +rol {z1}+2 +rol {z1}+3 +dey +bne !- +!e: //FRAGMENT vduz1=vduz2_ror_pbuc1_derefidx_vbuz3 ldy {z3} ldx {c1},y @@ -19870,6 +19703,26 @@ rol {z1}+3 dey bne !- !e: +//FRAGMENT vduz1=vduz2_rol_pbuc1_derefidx_vbuxx +ldy {c1},x +lda {z2} +sta {z1} +lda {z2}+1 +sta {z1}+1 +lda {z2}+2 +sta {z1}+2 +lda {z2}+3 +sta {z1}+3 +cpy #0 +beq !e+ +!: +asl {z1} +rol {z1}+1 +rol {z1}+2 +rol {z1}+3 +dey +bne !- +!e: //FRAGMENT vduz1=vduz2_rol_pbuc1_derefidx_vbuyy ldx {c1},y lda {z2} diff --git a/src/main/fragment/cache/fragment-cache-wdc65c02.asm b/src/main/fragment/cache/fragment-cache-wdc65c02.asm index 4e173505c..c357471a3 100644 --- a/src/main/fragment/cache/fragment-cache-wdc65c02.asm +++ b/src/main/fragment/cache/fragment-cache-wdc65c02.asm @@ -1,4 +1,4 @@ -//KICKC FRAGMENT CACHE 10dedb3bb9 10dedb58e1 +//KICKC FRAGMENT CACHE 106673312a 1066734e54 //FRAGMENT vbuz1=_deref_pbuc1 lda {c1} sta {z1} diff --git a/src/main/fragment/mos6502-common/_deref_qvoc1=_ptr_vbuaa.asm b/src/main/fragment/mos6502-common/_deref_qvoc1=_ptr_vbuaa.asm new file mode 100644 index 000000000..4e6faa2f3 --- /dev/null +++ b/src/main/fragment/mos6502-common/_deref_qvoc1=_ptr_vbuaa.asm @@ -0,0 +1,3 @@ +sta {c1} +lda #0 +sta {c1}+1 \ No newline at end of file diff --git a/src/main/java/dk/camelot64/kickc/model/operators/OperatorCastPtr.java b/src/main/java/dk/camelot64/kickc/model/operators/OperatorCastPtr.java index 1c42ab090..1c58d757c 100644 --- a/src/main/java/dk/camelot64/kickc/model/operators/OperatorCastPtr.java +++ b/src/main/java/dk/camelot64/kickc/model/operators/OperatorCastPtr.java @@ -5,10 +5,7 @@ import dk.camelot64.kickc.model.InternalError; import dk.camelot64.kickc.model.symbols.ProgramScope; import dk.camelot64.kickc.model.types.SymbolType; import dk.camelot64.kickc.model.types.SymbolTypePointer; -import dk.camelot64.kickc.model.values.ConstantInteger; -import dk.camelot64.kickc.model.values.ConstantLiteral; -import dk.camelot64.kickc.model.values.ConstantPointer; -import dk.camelot64.kickc.model.values.ConstantString; +import dk.camelot64.kickc.model.values.*; /** Unary Cast to a pointer ( type* ) */ public class OperatorCastPtr extends OperatorCast { @@ -24,6 +21,8 @@ public class OperatorCastPtr extends OperatorCast { public ConstantLiteral calculateLiteral(ConstantLiteral value, ProgramScope scope) { if(value instanceof ConstantInteger) { return new ConstantPointer(((ConstantInteger) value).getInteger(), pointerType.getElementType()); + } else if(value instanceof ConstantChar) { + return new ConstantPointer(((ConstantChar) value).getInteger(), pointerType.getElementType()); } else if(value instanceof ConstantPointer) { return new ConstantPointer(((ConstantPointer) value).getLocation(), pointerType.getElementType()); } else if(value instanceof ConstantString){ diff --git a/src/main/kc/include/mega65-dma.h b/src/main/kc/include/mega65-dma.h index 842ffba97..0242c6a6a 100644 --- a/src/main/kc/include/mega65-dma.h +++ b/src/main/kc/include/mega65-dma.h @@ -26,4 +26,20 @@ void memcpy_dma4(char dest_bank, void* dest, char src_bank, void* src, unsigned // - src_bank The 64KB bank for the source (0-15) // - src The source address (within the MB and bank) // - num The number of bytes to copy -void memcpy_dma256(char dest_mb, char dest_bank, void* dest, char src_mb, char src_bank, void* src, unsigned int num); \ No newline at end of file +void memcpy_dma256(char dest_mb, char dest_bank, void* dest, char src_mb, char src_bank, void* src, unsigned int num); + +// Fill a memory block within the first 64K memory space using MEGA65 DMagic DMA +// Fills the values of num bytes at the destination with a single byte value. +// - dest The destination address (within the MB and bank) +// - fill The char to fill with +// - num The number of bytes to copy +void memset_dma(void* dest, char fill, unsigned int num); + +// Set a memory block anywhere in the entire 256MB memory space using MEGA65 DMagic DMA +// Sets the values of num bytes to the memory block pointed to by destination. +// - dest_mb The MB value for the destination (0-255) +// - dest_bank The 64KB bank for the destination (0-15) +// - dest The destination address (within the MB and bank) +// - fill The byte to fill into the memory +// - num The number of bytes to copy +void memset_dma256(char dest_mb, char dest_bank, void* dest, char fill, unsigned int num); \ No newline at end of file diff --git a/src/main/kc/lib/mega65-dma.c b/src/main/kc/lib/mega65-dma.c index f9df17d0f..daad38f0e 100644 --- a/src/main/kc/lib/mega65-dma.c +++ b/src/main/kc/lib/mega65-dma.c @@ -127,3 +127,87 @@ char memcpy_dma_command256[] = { 0, // sub-command 0, 0 // modulo-value }; + + +// Fill a memory block within the first 64K memory space using MEGA65 DMagic DMA +// Fills the values of num bytes at the destination with a single byte value. +// - dest The destination address (within the MB and bank) +// - fill The char to fill with +// - num The number of bytes to copy +void memset_dma(void* dest, char fill, unsigned int num) { + // Remember current F018 A/B mode + char dmaMode = DMA->EN018B; + // Set up command + memset_dma_command.count = num; + memset_dma_command.src = (char*)fill; + memset_dma_command.dest = dest; + // Set F018B mode + DMA->EN018B = 1; + // Set address of DMA list + DMA->ADDRMB = 0; + DMA->ADDRBANK = 0; + DMA-> ADDRMSB = >&memset_dma_command; + // Trigger the DMA (without option lists) + DMA-> ADDRLSBTRIG = <&memset_dma_command; + // Re-enable F018A mode + DMA->EN018B = dmaMode; +} + +// DMA list entry for filling data +struct DMA_LIST_F018B memset_dma_command = { + DMA_COMMAND_FILL, // command + 0, // count + 0, // source + 0, // source bank + 0, // destination + 0, // destination bank + 0, // sub-command + 0 // modulo-value +}; + + +// Set a memory block anywhere in the entire 256MB memory space using MEGA65 DMagic DMA +// Sets the values of num bytes to the memory block pointed to by destination. +// - dest_mb The MB value for the destination (0-255) +// - dest_bank The 64KB bank for the destination (0-15) +// - dest The destination address (within the MB and bank) +// - num The number of bytes to copy +void memset_dma256(char dest_mb, char dest_bank, void* dest, char fill, unsigned int num) { + // Remember current F018 A/B mode + char dmaMode = DMA->EN018B; + // Set up command + memset_dma_command256[1] = dest_mb; + struct DMA_LIST_F018B * f018b = (struct DMA_LIST_F018B *)(&memset_dma_command256[4]); + f018b->count = num; + f018b->dest_bank = dest_bank; + f018b->dest = dest; + // Set fill byte + f018b->src = (char*)fill; + // Set F018B mode + DMA->EN018B = 1; + // Set address of DMA list + DMA->ADDRMB = 0; + DMA->ADDRBANK = 0; + DMA-> ADDRMSB = >memset_dma_command256; + // Trigger the DMA (with option lists) + DMA-> ETRIG = EN018B = dmaMode; +} + +// DMA list entry with options for setting data in the 256MB memory space +// Contains DMA options options for setting MB followed by DMA_LIST_F018B struct. +char memset_dma_command256[] = { + DMA_OPTION_DEST_MB, 0x00, // Set MB of destination address + DMA_OPTION_FORMAT_F018B, // Use F018B list format + DMA_OPTION_END, // End of options + // struct DMA_LIST_F018B + DMA_COMMAND_FILL, // command + 0, 0, // count + 0, 0, // source + 0, // source bank + 0, 0, // destination + 0, // destination bank + 0, // sub-command + 0, 0 // modulo-value +}; \ No newline at end of file diff --git a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java index 67357a1e9..44d2211cc 100644 --- a/src/test/java/dk/camelot64/kickc/test/TestPrograms.java +++ b/src/test/java/dk/camelot64/kickc/test/TestPrograms.java @@ -385,6 +385,16 @@ public class TestPrograms { compileAndCompare("examples/mega65/banked-music.c"); } + @Test + public void testMega65DmaTest6() throws IOException, URISyntaxException { + compileAndCompare("examples/mega65/dma-test6.c"); + } + + @Test + public void testMega65DmaTest5() throws IOException, URISyntaxException { + compileAndCompare("examples/mega65/dma-test5.c"); + } + @Test public void testMega65DmaTest4() throws IOException, URISyntaxException { compileAndCompare("examples/mega65/dma-test4.c"); @@ -435,6 +445,11 @@ public class TestPrograms { compileAndCompare("examples/mega65/raster65.c"); } + @Test + public void testMega65Dypp65() throws IOException, URISyntaxException { + compileAndCompare("examples/mega65/dypp65.c"); + } + @Test public void testAtariXlConioTest() throws IOException, URISyntaxException { compileAndCompare("examples/atarixl/conio-test.c"); diff --git a/src/test/kc/examples/mega65/camelot.png b/src/test/kc/examples/mega65/camelot.png new file mode 100644 index 0000000000000000000000000000000000000000..2779cb5981843277da1f3bb3afdd7ba6fb9d06ac GIT binary patch literal 12958 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�zMlmi}z86uvr1 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 T)ukX3;-M(3CQ~V89`yeJig~jX literal 0 HcmV?d00001 diff --git a/src/test/kc/examples/mega65/camelot.png.kra b/src/test/kc/examples/mega65/camelot.png.kra new file mode 100644 index 0000000000000000000000000000000000000000..ba4069e4c05777932befebf05a4d1a8fedcaf656 GIT binary patch literal 480233 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%0D;t#MQoB7kH&oj6{(sV14BRV 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 z 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%0A&&|>gr2n0eC=X&B7b=xWKAuaBd*g+H$H`EH3cG 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­Jgr)-mVnQWvL3X?+UVJ2+f3Wi**ee%|6+F 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
wy3tOXgSu> z{88=W%8wZzUw=~n8`PJj=iLWi+ zMt$@Amiz5v+vv8nZ717Wzw3No_dW0X=O4O1ynYn?`0`Wlr}xiOKfkt*Y2VO(y1nh! z*k3-s3V(g?7}v3}qp0IYr$OhY&f?CWzbAmNl>GknXW}3KKc#;<{u=%b_Z-J`w54>I^feh_8B3WknQOAbvX-)8 zve)_v_p|I5*6*5}h};ahaJlR9BJwlj!{x6lh$zfZ2v@kSD55w+F;E2ID zhlmZa8WJ(&=1}pW)E`852F`&RChTwqs+)-W?}1&URePxVr{22DSz<26xBHjJF*h zGyd)b*$Hze?3-|JqU^-E6ZcKLXDDkp*KnWVJtJA8xkmep?iu$pwlm&uTsx`XB)dub zC)JwtGqE$-Z&EwC-(D!Ui=h)AQpHpYk-)5oB zL7PXm{cRW89<+TlxBuLQa}UmaWY^zrq1{2dNAm{EbC`E%-sAZL<~z(kH2?8}0Sg=! z99r<$et^A${UQ6u3zZfwT9~l#iGz~EB8LQrCySI8En1YY=*eQG#fugvEPmoR&~dS2 zqT^GifliB^5}lqd8MtKelEfuXod-HEc20DDx^&P|$EAmt*1HUHadbKCQon4_GRI|y zm(?#HwA^v|;pO!!lvg;dII^N)rSeLrl}A=KxGK9kxgK$Ca8q`3ay#PI;6B)WiF=a! zvsHsvEm@Vc>e=eStCy@!TK&vpu*VXQB#&onhOBX3lf34+=MYb4&t%W%Ylp0LUYor3 z`MM$NoYy6hHqKEC2h;gz~O<*1JeRuZXLdL`PQ_pFSiZfwtQRKwwFPwK`Vle1-;s? zx_!m=W7}WtP~EX&$FUu+cB<}NvGdr@SHWt*D}&R6n?uw>R)(YtI6!)6^DebrD|e;u zY7SEma}CP~dmXMG?i!vE{(86iZr9xzyI)7BN4Q30M7-XkvBzys=AJi^8j)_1nUQaz zG@{(1GNaz?)!6H{H*@cs=n>KG(OJ=NV@AZd$7IF4-8W*N`@XDwZ}*Sb@4i24|Jwta z2UZ=(KJYG9Gj>&McI>-2&A3%@*>UgUHRD&sXUD%gsC97l!JLEd4{04*eJJP9`vk3o z)d@KX?-R8WS10BqzCS$ju*c!!hd&${dBo$$@gpCSMkaYA9Z&j@JTloM`FQe&qoa$OaV%>?n z6Ro*Ax$AQCa$8U8oLqM@?__J9PTsn_yu8+Y-F&b7{QS=ax&>YZ`30X(>7MdBm4E8< zY2DLar}IyLF4QYrUszE1<&55$^=Assd@0f^T3=L9^rcv@cztm}@s|?)67P~zC0|SR zOT9}^m3}>|f7bi#sk2|t>7VmHck0~NvN2^F%1)PkJ3r?9hV!S-e=8qTzM=ed`L_#W zE^N4P`og!1V=ww#EWFruY3wDRONE!(D#lj$R1{XURgSInsVuB)yFBjl#>;0ef3F%> zwXy0<)%X9G1&q78@#>kY->(^5^SxGd?Z%P~EuK&1UaKraT(TyKB4Q~40EV}vQ z*7#eSZWZ79d3*frO}C40|EwNgy{Wpm`e)7fnoTvuH9zl6xZ`)H zH{qV&y^?$FwG(RnYD;R{?@zq%f4}tpuLlz!_&+Fp@ay5khyD*sAO5PFSm$3?TKDUb z;iG^@XCHMuHhdiL`0V43Cx%Y~o}7Ks@zn5Xz|*r&JL-+t3S2=`i^RNHBne-;`&G|Qf-kQAK`nLS--*+bOw!SNW_xHWY z`>pTG-~at!@?qmdwx&* zz4LeF@7_Pt{_Oly`KR~qw7)z5R{rhnn%1?mtFo)NdwO?p_vP-sf7Aa3|GWIJuV;Es zaL?tQzTWA*!M&Gz`})lKLi(xz|7L6mTlGKu{~!MU5C8v%|Nq1P|Kb1t@c;it{AXGF zbcV6o!Lk!H8OB9Wzd1mSlaqh0rFx1>a+dGoq}N2}P4qtfA$z(4p!@-A>DYXvN@0=9-6i!~&n`_Oo zLsPrkr=)(PyE9!iA6RhGulHg&CxbH!WH=e|D~)QJMMuZe9fkY9urZR1raPe z>=ajnvx)AG@SA&OB_~5)pQaiodqdLb?x+Kau~ggk;KnezJ0W2m%kDB^m~qos*13;i z9J5(=u8Zil)pS3s*u#j2v_4ydXL8b&*+B2-1}t}_`*V|?E~)3_aec>8oP4=+;n2<$ z?ztPL+?C*DxJEJ6n%SR_wu6(0EcQ{qj>v>iZIz^q&2;D2(FZKM?*_x@>9cGgW@=6j z_eQGFY`58%-%^Iz9nH)~eKu!#Vu>+6U;pZSOCkbdSlwDQjJ+A8pGv^7m3~tGY~gxE~Hq zrCPq}$0L)(U062rQlPlVYnIJ!_SOWxk0=`S<&G&*kI^7gwf%+CRE5-(P)VtdBf_!;BADe5kY8OHrBs&9OD8ab7Abl*(Fs0fmXINu%P8PP0r@D%#zp-q79m8nuLEpDQBh@ii zmFPzd=1K!Az^&acjQkh+YpJj>&YorCpD|26`gh1-xO%19)N>4Te{6TIDczxRXQlz& zRbI7Jm+myXv|f|$?keA?N_VN3Nerdh1f_omlD?D}^`|>gir_DbV;M$cJpKmzo%D=l zFZznPTe(3N!(%*V*_&?}W{W$^zAQw4ZgkydS*^Wsccab7bI~Y09+Y)++QYKfErq*P zi_niBjG@eBmc5+FFyinolD#M6i?aMHB5%|ip&Xcy};Q-)<91T%~izVpUL$aeLSvKXmbW&Ic);g)*XIISi>DGST4*14t!F-*Oll3x#4?49@rgn-D^tM*U+GsPR z70cdwBmPzfe(Hf9`u+m*k99B_gXZB0ro3+^&0MOLN9~8?I9PKsxPtG;sz3cISa#Yb zJACdw`Jo_W6T=ij=aSD0FW&>Z$XX_L%-0w?mnL4e67zB5ocPPd(76*$;@9n3A+Irv zen3AyF8RpM!%7EP zUzQyaIM-JkUTBhswYd^JVDwl+VD`Vu?+&|8WtayC|JiS=6gyg~3|vbFI!}auKguvM zV_|df3Bh*oS+LOn{PHkx>)REEk+JF3ryFZ}n?G<;v-c8tPK%-ty4he!rdBT}9R-!) z7ne%RhuxUWnkS6aHZ-w}=jO?q9Z6PNm}RtwVZO6%x0a?c%%gifXE(r0Tm*;Mnk*!D zaxpMXj$x9~zddUiWVy+e0qg`F*?T6X(7)94PVgK05TWAE_6kY?gT*Ehc=oaXTU z6vGSvj_gU|>q)GD-Yy>s{*f!4x0=7dUnib;p`~J2HzzmD-AGn_=$+SJPUbQ$!0mCs z5xoH~hw!t0CRlIyntkiZin8{mNL9P{pz=coTceB$1m&$sza*@tL-k%h<7L(Q0?r~=ySme_;t)x0ov6;Ji}ckZU!!y zGn2c?A9D&#-z<;MZUeULL;q4h&~oeEElyp)FcsGg9>cr6e^z5c&%JkG4Bcs8Wj&ha z{gR40k3>bK3E!r!& z3hRO&IrmvQ(j04A+^iHc6>E70W6(T@`2goqg)SCv;CWHu4W0*aPrDr?{YnmK|4<5^ zs|!5j8CO4sYrns=&E`iGQ3Y%ZC(m*C29I|I#BvwAro&zRg-?uz*UV7GTD})s9<&_# z*eq4L4z_l3x0I_B#((mul+b(!$W-tm*jnBpo*(4`wW^nKHJ(|v?t}2A{;;iA_&o9> zKYm@Km(6^noktPm*2@rDU1UWFG70;8Tc#GWb(oS1I_OnAJZ?@%QAl@FepfY^B- zV$Gw7Znt7g$DpNN(EW69aaSN`2KcMD04q}W852XJ1~bsi0uP`Z3$SH_uzk`Si^2r{R-F4pbfP}oSgC_ z3p}u2{QOr-FzfOna|M-^mhF)Q5{%Hby2LcG?1b$W6jhI{nM~1Y&bw_806>!ncd6REy`l1nVAXA~XD) z2=${W9J4y)p^1$OMY4-S`F@=i3p`xf+r>Rsc<(#9;ZxS^wl~WvCMqT# zqD+EGj%@%R*(!z;(piXn#ozO0kXKS?rqd1BW5Xve<9X1;oS~S{z>Pz%h(G35U5CC` zEuqWt*WxxWLqy#zC0(|b0a9#(4a?5yW0-1u(+PYd6m}>&5B?i-G!A~=0v%XdxQA*|SPX62#>tf- zx2Sf8_l)u zKVpUPE4C8OtzOo{$%G^J3#cDE7ZMJizw8L!rUmR7Z~o1Vd%la~1F9YGV^Kl1N`v|r zq!S-FeT;B0GV&1B_=tv9?3>Q}k6pg-V|b2jJ6epyYDXcie9k>zGI1x3cV>(?;r-g6 zb+w#~?OxSE{kY&Vi<4IeIRVoY;irrm8tJZTAEzr+3u4EncV29Yi%|k3cUD`|sro$H~k3xUovnOJlTvZiE zOP1Y?mGrUT*XKB%r9EwO&oR2!*QejfK2BB)KeN3Fy!@~EnfoV<2Ey{w--M9iB40h?NZoac!Ff9A;l2|_2}zQz8?jiVCGz22pBOQ zUi|b)VG&cHNQM?XMjWJ*L`{SQFumXKl7p9@8)d+U7I}}g1Z(oUSFPA6+}jvjmpz8^ zJC|RKqFUG&>(pI2c|K|=#Y^V~52Bh#C0+fg&Ehc%Qk*=Kfd30Bj+P;wl9B=+fiKo= z1rGsZnuhhLXknOjN#FzUD}IMQ9e%$RvAbdR*0+e%vgR?&?E|jWm%-A*rr*9)4*Z(- z1?|6uFG8$w5xAlXL?~AfiyHwQKf6_NmnLww=^0FLZVsTx1%dfrBvN6VlO`SSf79YXLK{KyP8T3{}6$^vV9vQ?tV6uvPR zeYvW^_u~%Qmps6-^(mrP24H>O$zpvr{*L4{!OEdpf+D&Zd+Dab@Yjlz+0P6effZc! zWnY>eH@jm)BYS~|F%>p@7^sAD^?r?riI zKVD#E#adXlO@(0;OuNdtb~M}`Q-$6+jv3_H*C{Thoq!-gh3W9A8i+8RB^PJtW9Ife z7*DJHt=<{h_r$5!X*0aXS@_y;B}6&kX)z8A69->$0R0FB=ZrT5KZ1Q7gr91>%=e=W z{!6^9OS=d0ovh?r%+`qG@>XS3>0_2{&=Ep9g%MO4Zq-)>TOdiQjhHxQ&MMIAj=nm} zZdV&k6*#lU8;}+JT*%!w*%Z)wa?MVLxdBYw5Xmqlh!q2&W7+6mNDjj!LXX10sXqe| zMZfm7_gFwba^6wCMb7sIWwa+qAELaNC9?q0kC?304+-KS3;&2a0SWzQQ1*PHf*GNf z;d+y$vSTnxB|WN~UT|HXyvFx+rs53quBvB}Eu!y7KQMzJf7gK3Zt$+9;DYO}^}YQA zjxT!t+XogLS6uJ02FuFUNRBJm%e7~)V;flgfKY~{7_y zQ5{2iOraOEUW{PzY$=6GSd6Tdtkqu1eCU5CR`anA^!p26nR007XPwau^O@~^F#$2o zHbY)Ne1U)p&=(8DJ{Hg&*^yiZh--cHvlX=OVt17P>>AGRcf>B5f1Z;kC(qa90uMG6X z5+<~wdjS1#K~w}^W1bD| zn}xVVP)B+Tc@Ohee_P@o1>Us(vgJYm@y4uC{u4M^^VK_%Wru?48y#<^TEDK@x2cw! z&#v>72MHRSyPr7MilbDsE8=q;?GHqOPemQ&`>_{%NElkN8S61d2XhHquoK*qAG(f{ zhP^vWIJv@hE3xJv|6s~n<;d^)#>odAp*4Mk_pb4E#78$;SIj0pvMQf6DPl;94z=|( zwuzJbt#?rknpk*={loZv#7YYIA^hlQ#McYKBp255{n%s1vcu!YKiEkpt?YK~rv1Zh zqxMpibs}g#MIB8)4&=A|;hquj^eROTAr7ah_VHeo6yk*kR>Yj*SRh9`qNY*ngGA@{t{{Iq4e^1ICrTpcO zi)mqXEIngs3Gwv(OH$`hdmEw%?~hmq58-4|mM`(r6n9S#;!FDAg>8KMDQkHdzYcsE z(R>JEK6AucYi;}atkLJ^C5^KD`Ulg9AFmmn{*serin)_s*)z=h&|J+jie!@R9VzCY z8OHO!T>ofJW{h4-xStukocfhjy=;@jcphKUe(~*RIq@8M8e%8!2NRjxRPD@rUn6juPK~zMg;&9RyDWCgtp67*h@- zk28!1?DiO9^q}n>ea9a%%--uaijHDNbJX<)2;ZBiaMg2!&=CEbomb|LpgiG~qbd(L zdEu+F7IB-G11N4ft0PA>yh~K2DQ+lQAV>Cc8u8GnD}4KB-FaC#g1a%EWiJ6cr&ZvY zV}xy8(mI^)!XvGaf0g$dE53U8F{wuI>jZeE%PCGj&plnPPQ6&*2_UHxMBjsaZOiHX44y;u7& zX!Cf6xdfgQvVL^&X~YG=h*ILg%MKul*#(`C1J~S^3_F5$Z9oi?0L-o1!MEQ`6>0u0 z`vR<%{P?NxUkJkto>5B~+X*@8r7SBdXXm>S9z|Vk$v_@=L!;G~awxuJyB-*AoU$2Z zwadnvfR}xd?m6cK{`J6;^;?sSC>;FM7yK~~J}?M;_UKh0;Rm2pKlt)PXg`(j$M-n+ z)7nq7+AlGTwC8hpY(-WgwD>sTzgHOgp}g8e*b)(p?Bv;BrNCx}|F(7)8V*F-XWpp? z&%bN$h%K^Q7D`l?yk%{XHe#aR*E-KzA|`7x=<}Tq)_xB&y95|kX#&5CD6?n;7pwI} ze}z4Y>b1RVSI0aU)}QYl3_f<|8u&(kKPl;b-ZUSzbLd2hrJUG%PR`#bjPZ}SYeAoC4yA}g^9tI?xF(L-viE@km=zt)kr1mk3>df%77J>Mr^r99CT^DE*#wZJm# zo{j>peW`v;0iAY`V{ZEOXfup_)N!;UJV1G~51u14LOWcC_=u&TBC9n;BN{WNP&Rh# z*74*;r!UvLHVl!-Y7K>!6bu8vrp!@7-aMI69*^sfv zKRxd(V;BkldtZOUPe{}hed_^tlb;q!?P<)jpmmwt+P{_03vs^}O_)ObQ^nSR&_h33 zhxpm#M6G(B2dO_+#5xAtQY2K5&QrTY{kf}lkGw~Ksx>F;#8g-fFrZ(a+^2N{{qR)e zCD)dLKfgaVOP6b1*Jlag>FlLTY5&WWaYVGxFE9GN9pxi(mn;(J;%$q$oB zT7L=m$9KObe4nKA(2w|t@m1Q7Sv=@G)ev3zxX_2%wgHE3=G))!f|oO}c1G}@8qZ*- zlr>a}Uqftt#s^ob>+CAN0#S{+&;CYx!o3sw+=#_jJFP^lq~`rcVcN_#T0y<~20EWK z>(cE_oOBeqNIS1?ip7*~SeJQ%@-)69S=P^pZ{IJGm-A|%mv!J(U{Ld^PL8y;58<5o z5D(H)H!pV@|K^|##l(Xoz0Yy-UcYs)0sZ^k?bc`C(mtSB&;yc=idA$@#!dI^EKaVs zKIuff&^ev<9|E5O$8PfN2WIhdGnl0eaNPua)kcSK)@MrsCruZ6-zOdvyPno3Kw~rQ zhh<9#5+AE;4W#{;Zt0B+p3!{FZ@$sMNq6D%RJ+VOBR`VbxSK&W@V3_{(7ptxjoVN0 z?eFZ*%WXiOeot7|7P@C8s9zLJ?Ti!NLea#+$Uxfd4Z0O{oA}t|P&!xk%sKqZFKAnr zP0*)%RJ&!RK?UKS&ze&d$!tBAK@m?#Vgl9V3D1kB+P8Z!?%jgUaKVj<#(%q z)+N*}EuU{Ao_NpRtT5t@`^vVH#UB7K+^52~zyG*^AHo)eYFKs!dORwqu@0UePDQM~L55-6cd_i6Ig0l; zc>*!IM0s#5qO!wIdTtUb`l%Os6>OE4UtMs)StUg&>bu%S9R>0q=NU=zsOM&jl7}m4 z6`?qy=qoP^Z^_sa_p;&k68ZLvy?I%Neo2A5l&@r%iHK)zWHRq8pS`!294=L?Xd?z=zQeKa#gFOtZ}0l4M{#>#?$;fNZ)$-FVydV^uEW1MSuW4^!y zwt%H(zy}7yCgXF#H-IQn;2pc6-62}g#e?kJM^sIaJ=jdO!dkDr#CIgM8qB@`Q^gkD zyxI$%HYD*Fomey66NIPfZJC^yjf0o?-y>|YENb-lV{&8M<)+v5K<4*pWezzi&`Uftw9`G4SGEs zqYXYia6IAsd=2srC9gF9jC;efKcV5OKuq?r1i1EhV6z_hKoerpv1zU0pAm`59C=Xx z1$HU!eE!LIa5;&}l#l=5Px>i)07=ExXDb>?PYMeB=rBCN@CdcaB zAB^vLKN=uT-a2JC<%3cyhf}nje_}XQG^_cbrZ_r>W!te@L!4N)_khT!7uUanOG;T* zE&pnOdH9)=-hs7~h}}x(m4=P7;CW$3KdNXwU7qiUu@WbT*6Gt}*D)8gLU`t)O8vAB zAF`_-q6FXOe)KuqN||=?leP|~sQ38J!Q|!3Rh7xh*O?814cS-o_F{jRm&Wjr8p*sL zpF54RQ=4t6j`JK-TVb9D&89dv(r^}?hdsf}CSG!5_iV&Oau#joV=ek;I3%)t zF5OmleDPA6uj(f*h_2LU{|=bC>L;}`UbWtllVc64DZ^`KUrBg3XVY2YgAT6>sK3j= z@?EO<_MLTjX$xH+0bA!dtqq+Amfp9T*2DDB@-4J3APjd*dtw>kpJT)+%G0d;nL~MrHNX)sW4?WlWC2e-$xCfu zg&oa<(A0HQZ{5UyHJ!_Lj$2Kq5B&;!sP1-FpfBa`p1$?>`i_YD*Ut48^~86Us9d4E zi+##j+8xmd#4V1+$2U!m}lVQGB3L6rhNHkOz3Ve_^J;1ym$GavGL8$mqTsDH%fKEwm= z5qm8^f@LSI-oKLu5-Zq&Enfrvm7*4F?*w3Ux}oxwWn z>Yti;2=PI+;n9nMhZ&|NHao)m4a4+Z%@%h%z&$H1+2u3Iwnb}6-kMMAm1aJR@~Ek` zeKG&##f~-cG80(L?c%3^@#?{wrh#Kj?)#gUj&*XVeBz!0pXl~9H)I!L`N(?xu`=}| z?-dOfJ2OP=+}JajGBwI4TBa8z$+So;VA)bZ74ss&o@k+flb`D4Wr2f;HS+>|q_HpQ z#3#YOZ5QyN8v;Ir6;-?V$EWf!!{{7%=5Y-^P*?ZLuxfawX-@let^>0+A__ScYkW8p zz9&h#tSK3|7ci{FIc*;^f7v0733F@P1a1c$v4+p#q6PCT$RJpsCI8t3F+lpRe-lcm z_G!=R3#1pnuUrQ25VD6Ay$h#!&Q3*Z+1sN;e+=9|GdUQC&02- zfpf-6{FS{-HDUkmuBN>5=d8P!Z}IHsT8|dMVmIAh|B@=@mA?B5UOGr`@7fM{K$B&2 z{oMMq@*Y+F`;q+k4tUR-XWyQ1)i^)h%zHun{jB{bss^2Ms|y-9 zFm?+@Go*gpQiUs=<#>KjL_{;^w1eg-Sk!@!Q`5K=y>yn-zCTaf8%&|=^?!g_6-?(H z_!u*I*DCyS4zRuK7W}C$!<<_aZI%h zb1XJwD|eF4S|ibtkYp-lBgI8$CKLbIHla=xEFwH$0PSuZwj4qGEyZ_+wdqIxSF`N* zQI^$$7k>#X(Z<|A4r1AH@M1Oa$;KByhc;~l|F~6W(*&L>>T{v{74g*^*^gLTp?Tpw zJ@CkiCQe-}D^aJpiJ^1sGbn36aGx<{MW>(EYv)eVdVBPbm7NQV7gJtAINzi~{N%!t zp~Q<`xD1`81s?HlC~pbCC`6y15vvVrdAa!Ybd(gr9zFM8&R-FqoXIV+G{-NhDc&E-UZF@w zU#*2O7lJ6tCIA=DD>=odiIRdbiUs1z;RkH z$6@J|hgo*Ew`{c_ALQuB%XI^JIT5~adJjJ@tB7yuzI4|keZ8}q^wl@ei_R-$z1|qZ zy`}N^iEr2w@VuYDyi+R?(e>7OoGu{TU+k7ceArd$7@aFy6Ly&LV&0K4w12g!<6p}r z0T1*RoSO>N;^jQ_XA1bY0kCNi@li4P&9wV4sW8y{Ga{2^4clBA;L)NBc6!}u0RI@d z?ROE7<7@CP)3ii*(28)YShABq_Xy%UJ4Hjuazm_wXrF9X*rr^e!80QX%*1m@2<2mH+$|`htyo?J+VZ2C*o&`n)dD_ooCTJB|iPr97le z2OYH~`Tocj;95YJYa-eo{pjP`M9lnD*Bgol@z*(ihwFS1qiwydU$2;=av>*EEJ@{I zMnN{b!qCL$#W|f~g9a-6UXk~le`Y>rM+j@1D*_B%frxGs7dx_Sc9)Q}G-9yKA;0&e zQq9pnuQO{n*`aiT^!DrLljZRD*P7kVAdcxLU9;>Q>`FTk* zK57@nu^u)X*6>~TJe@Q6eC0Bo-+Dg1st4_7-TrlhszH~E-=#{l+08HLj?swUE#MAH zHMV4^I-FU_vI}7)C*bp(VZF!3 zf^)xQn8WHUyBgXQE6%cOb=%Z#QO(p>tE(}0Vy$;C)GR0d^Wz?!=gRbbqRPow&sMVM zbw~ao&KaqxM;_hg6Cu-EyZvh1eoKuZ?PuJ4YE}eq7X4dc(lLgq1LAQN)T_Z)4V0kG zzCdW;-+4PQ2CV0qH}Ik1pH|<8<%pkqG^7@uMSM<0%)>QYd%1HTKjUOv<*PnU`o(m@ zG8OD+k>?sC*q`Ii1y6mUZ=(E`%a->e>p1d4nWFgfcNI4bxcDCr>Htqw0_wf|3%r5# zKB)ti!OPsM1V1|RD)Ff+^zp^@+B(dcuxjC~C*0+(dyix{Qf=QI%0HnW5|Q?l(N}*a zM(4Gr&_0;lRDH@SOjgryRRRn3Q0_NL6i66+wLe8CDd7Xii$6M`SUChp_8reK@loHY7Ra+<_-RLXnCLv*)C@kyT&0edSxr$8hZq9&AC#H~1Yt z4-+XW>))wGQT+Jcq0i-}gKhqhwvd5V1~^GkG#Mo)PpFn#+K-~^vqxlUm*K9H9OZ3Z z2r1|&%xBpjh)}LXG(g8ho}FC(jN3;(9JjcI@-p6ciGj#l)0-{B-6z_!teDXNd%hpq zE5(yAyD7>k1D{|%cuxo(BxfXn$Zwgdgq8R_M9R_P#6I@PO3~X{DW=lI({h(eQ=aIo zic}5h(+R0x9Gl{wGFA}hN&pG9XkSCMO`GcR8s&|q(_D7Zx^&Le!(j}uv_0v1mxzC` zI)p=)BuCPF^v~1OntEYX9dDJNeWZ9^LB8QJC#A1GAVw*9w3-;Jc*+&(ktjIy1i^XB zaf1AZasYZjcs4kGH06a197ogXx;d$%sr{9^#?rZy@ULSidzh}QPy1$<9%$2k&CAoO z=el9h-OmSmG!xJ0S64^-A5uqaC|@Np@d}+65*d1t@6EE62%#8A7>941~ru^723-2EAk1uB?wZ0}z*1va`&I|RguAt8{H_uYuL)Em1 zG)6}v&z0sth-Izc^6gu05cCIe#Bj{RAou`dH}w7X;C3^bhY267=#;;svDFle&11{f znY2HZp=Cqsao=pdOAFBI%fH!+9@2dV=9??&WZSrc!W@#VCn@4FVY8?oW>M*Me%pFO zU+a9qIfJ=7dAYopmwLdLi8FW~w21ha?#czEr?yWPk02iOe95$5YZ>N9?=t82h=yuAeE(LgO zECkYif4AN<86NJB%$7?rl==6s4Iy6Wo4JknU_js&+P~cL#)tS&kW~8{U*aEs6n*Jj ze~(-MafZH#%|p2JhJQm{GZA_-W+JTQhu$b(3pT(jAlEw3=Kl^uD5+6EH^8H0PX|3t9X9wsf zBfjom7e6|wKf|afHl!aJ1rP4pmX?O^awjCye{(*YWsd>(q@derkTT#WsjyXfc+8`l z+U(+qUwn;CAia2VGI1s+pG{7NZx(L6r;rv5sb8j;1x*mYp3-t0ct1jJlS6t0JR3M| z@E|qiaOiYoV~S!RFd^vfv-jJ;%RIZf$ArQEI!Ci?45FBY9T-2j)T}`)8=DF~1dkkx zn9ZUJ^O5;!NII=cb78hLC+lsF6W_SKD0ehRKT6{Zo)Z4&oGavHOz>r_fNYm*>s9bH zW5gO2J0}*dg*8;}JF2@P4~${z^PejrQ=fGCtqFqH9Ssf+ey|NO&PIH1Gi=Kb{AUwv zAmAGiAf?7ZuKtPUN)Zg%c{E#@Qkms{>JFKa_^6^Eo$%KZDY9;ybN;@ z$T)f`<}Cr31}rID%Cd%8FPU558KNRLv#!D83y(hIaeWBaUUJuM15WN5{DAze*Zucg z{|3#s;yg#cR)!)dBRWkwF<5#y@yNXtWGG+tM}(;v1p*vJ};4+DOxFBzJqH^yT`oY$r5P zd@09 &XoeUON9+8@AYhhFo$YliuloB!z!)vRv2@}?&U9!K zX4O~PR|p8Ckgt$0RSWjJ`9B^cazQAKWnD^z(u6SU+oXkv$L@bA^o)}y<_i(~C>|+H zr$a7n5hk8?R|l}oYPj%EQAC`rNV~K$A*wE%)HG4c0(VFfz>2dUF6ogX)x@*$5S`-lIAMSjkf9rF&T@lRbW`_V&wChr;Z^5zp>Ru%D* z&qHxi8|xu-n8&pd#B0=QRf&~Oh|@q+Ff7lhTL`N#?5lU6s5yW zs>DN{IVwi9!|VJQBkTK$?jI3uzB7w&?}iyKFAw2mxzm6B7?sQSW7Gm(%Hx-V>3*Vt z#;SBKT2Dlsb}KE~M}<;eYJpA*@gOm6%2#DXXwv)h7h^RjkJW55sNoAd*PnyZwoiWv z+Wp4Mi=%mYb|x5;)_eA^yxhC zj$8WlUVr)wJ-RRF@+Q6HUqG5S;iHzlz%+L~8JgXew|B`n!*beT*Urr@6C#URd9?VpRsz$lz}!@>29$U zoCmfPZ~2i?Ed>hg1Vqzn00 zM)wjK=G(fNn@aA&(@I-r+_Xm zo?N@%a+cA#hqmKx5}f>Q;<1U7AEh0E^TTDI>04f6n8|@9JCuNxD>V*-e-6v>eh{@C z$eyuw$2RmccZH|_I{bV6NAF+G;BUX$!XoBpaP35|w51b<;YrpMnMW8{{^jJJ@=5f5 zThzW5CqLSMY8f9u`O7y=0d(H5@$Oc_xkn?mfXhg)tNOATe^=1Y?B2k|`&I$#?7L=-bD4wB35IyB`HT7VgSuj)6}WezEsMTqoe} zz3ZI4&~!`S_6EP9J2qi9wwpu`^T6B%Y`x>Tx(8hCSEuIs3*6l@EX(aqE^uYpT_p@- zU%~AFFwA_!B4LOsY{AdMB$^%^Dy8;M9HD*w8pk6vAEj#!B7P7$b8KuP#S?q?r*R;` zY;DTNJc)EKzH|mNug9J9{iA(&G1jVR)1Ip~A`Ek?x#syCjt7}^T%V74de3i`b%K^` zKFzW#5xe?h{O(vyU+^*yXv+rpNKcg)iP?0%@uAD{d`@1h%LJ!j%rbM+X@5ILE31Us z*E>ydr^o#(Vw{|vR|CGP1f8yx)5@9(t9%>~d}}-q^?uduQ3hiW!MAm)jK^FT!WSAs zE0TeflTL#F1j23xga1UbtOf8t27JJ3+cUl5bKG-pEjTlVlcyT? z7ty))wFy@#s$VqY3FY-B>%H~I_rOQLM5%gea$a0%lhZJ)S^L$h+#y>T=KcDPm&%CQ z@BQi(?hjvm9tfxe>?pN{A3?thHGwIx_B^c1$iPQM6_kG}uRDu>6A{iRErBMB2F3ik zK<|P0ms}?vuwv@dPEO9a^_}{wO7AHt&|5v)$_nmMi1=0|iqc!IY4;`Rl*8jdam1=! zpZ+|N0ERbK^Vs#sftPpE5og0^+(3*ZC3n&Z6J%;AuG~4K@d_v1&AP!9L>sN?#vb7)T{_tz{$}7ousL@zio#^aOVYV<-TVA= zty+2M%J4E&AdlqpvWP#a##XN4mJvi1PtAG-BQSW6KX zb4CX2O@6QA8}56ei`E;CfetA0|%MtcTOoUgfT5N2KazS&AK9hMz1-+?en zs@-#bVNF-jLO`;{i=#cLpw=e`hzRrFVNzsG-Xd(BWfKb?Ac zAmxwBzsVoy1X?|LCfW5C(fT*A)7roMcgqe6c+Y16|Cqze<1_wGUZ^3+kM+ZU<>}PC z{1@d4PL6CFMtQR7HwL|9*%80p#0CBE8cO#Xq}&)R+6BH>?yFqaf{36&zJK}SEa2Qe zxytJ!`0wUU=H)RXflTIQI`u)wnPqhZ=Yn|R0`E;|IKie#sHSp z(q0BV>$QPR>1t}X)iKPWQJSi6yWycGsh?@UQyOopzPb+2@waWbW(ncGiZU0KV{KiM z>3w!3se|<1m|9jGon+IN>^@;gd9gkXLpmeU8)R~rtb49HuyCk;C%moH*|9@^!Ha1h z&~0jir?Pmg7xb!_VO#@rQlH?tVPD3*s1?SXC+gq7hWUQ|S!YDiLU0=Eu?5G}xps^c z_S5~IleKqKo^0xrT{KVTX*=mW)2vl(T^3~BKhrEmkep|Eo|A2@mWcmF>)+>UU=>DB zYXs^`tTFX?2oF7a@#Lbakql$C*>v6+pzwO#=}%9hy&Pt;Vu~MkbB&R1EJo8Yd(PTW z%J;0a^CEuemcEL3soS#^bZ%;OlQZ2zx^~*T`S!G*@%HTk%HzISzo3Vcuh!THaq?;L zoOsyL#9KF~0Dsl;a`J}{0%MMfKx8*~h12zI(1Up{4u5^HPKhP<7v11AZssq#v>3Yl z{j#U|EPB6kXR$H0yUTeD<*9b1s}XOH2vsLt2+x1{%Y*h`8b7U}yjcBGkNKRudv!JO zfQl{LyD}oT@{TPB(-*#ZVA4|jbm%1yRZH*%D|!bJo&-Kn;+@BrAaH`g*U!H9-w6aN zd%xWuz0qFCHirN+)b^uYa6a`bXczIF`bWrW{=S^>lIL-Oig178j-cG(QWGJ@7GEmQiq5?bi>cZ=^rXwlm1WpVTH z8@Gm**$(ES(JL}ob_L>nC*aBk_+LjqM8FL|tTQYd@P%RK!sY_jJ^2?!8BP0nz)c}G(}J&liWj)hs|o=@?(#ryI{{F+=08TLg7T72bzSGOwS z=c@Rkh9S`H@;faCDwzMg-+dAq`0kN?uunu$`+(5;nDfZ(KuARTyAi2RoOsVNXB<7P zkmp^;gp=XnM8$WXKSJ+)`X*-3c|RBVGlc&Z>{V)C`yZd5fF?g3v|AQD=tZ(?hZwwP zlTtyP$Q6cpF7|GiFs$`f>EC?OT6l8!WQn&7a}xYeRt=t1hP&gIVKOhV?7;cAQqGV* zoR-MN+6s3coSF^25YgQce3J4&o_*!CFSp>=9pdv7Y?=rMl!CwX@%`wK7*0FkUHe@q zL*DI{=0S2u-4#xL*ZxH((x2t=zOiOEFRuySC8?w{gBA16(Rr;5wbRgL@qtn2&QN~P zucVUB`z;IS_v>b^{no`vT~Yqm40wR}9~n9|FqV46vP*99a(4?a^GEXXg&i;XUv^yM zW&0Rjex{Syg>L0sel8;+=Nx#c(3l;eRjT|vJfZxd{k-l=oHSa)|7ut}&>)GSx4Wgq z#A$zW%mcn1`#rqeDA-v#GL4tT&v@A=K#srT|Ns5!Aq>kjtN;QDr|(^UU7h<^fB*Un zPCEbk$>kxO%#C{~ZqRP!efEZWd4gcUd=L9>h#i;@w zVErHN%MAFhALt3?l?H`LfoF-?=vRqw?;|ytdNZ(bp}ctl?%*CSOt)`sH;|$IkEFGd z8~U&|#nB>%zaqN20S3{CwRiz;cJ~`J6`bV4bN;vdd0bfY0RjKW{I4HU4SYZ3CI0J= zjD=JjC)HJ?;d@0E82uEwf%!?AO}PURyA{Xy?`{1lO?jxKPhx{RzJpsm6OH|_oMEaF zHPi#o-T}d{!P>ik7-wqu-()86GPQ-5$@2g8L-rltzSK-!io@54Qj9U+lhkvt^I>Cm zi_pD+W&)bAOxb_$dGVtRO?gk1e z?ScG#juQ?An{m=)_*S|vXSziIy}xFW+`>-EKa z<_6bTz{@?*F1?BvP0LkFq!2bZ{i4>-bm*bGtake0o4_O)tv#_orz?}y{_a6L-`?nS z2XW_aF3;WSPUn)GV-^s{Ua@%|W#U)fm`mq$T#cLeS&^T5={A$R;j`T{6*&2Dp2adw z-V~p%&&e|536sDv%91yzV1y$sY=#dV;9+^n3-fHzXTH=ulwm>wP5qtm?XqMu)*iF` zM$5)>I^u-h<~27)8glIgjTU%ZLF5;HotMF{pDQgQxASPy5;~_{v(}NK#L7|!vY!Gu zJNoS*3meMk1?kLz9?RWz-Y~_G+s`DI#cagrMamZqTZi8$P0yUT5}tMF;l~e_!|#sT z*dxCNW7G0yS^xist?z)R`i=g-_TGE%EjvW^R>+=}l}%=($SNr*BSfO`m7P!#X%Zo6 zN`sUYitKg&=RTkN`;XV_-|OXdxZV4Cp65L0ocH^jXI#*|0OV*V0dWN4L2_X{=tRxX zY!F(9>T3x_b+Si6ftdt(`<-XpL+yx4|rBm z9&4xyWY(Dh?w`cLwz4=X@qHi$x)dCaJEwNOukgd> z$4#vn~53 zvfZ0!ihv)ISe^~aBj|_u__=E)gxB5f)*$;dxYR+Yo8iQN4XtABzu&>+R{;^U0z9Mb zjw%PgzvrXKI4jVT0~9-#GgkL*EItuYm!HzUYBj9aMQOeebo+NVM1 z*0?CJc2tNv6kKm$^0)vdOFS{zOuRv22JxUBB0t=GOsr2KeH5@Z6Ik6$BHu&A#{-3j z5HGapnCv3Ry@`v+p9Du%Cony%8<2TY0lMw%7h=YquQrTHd*VugFOiR3Ao8$MJSN-D zVDcyNeGA0TFOvhV1mMs;7c0P$nE?CNAU=zLcdf$j3J@^}d%E|7W|qJz4?@oU7a{~< zquV0zn<&7t*|#{{MPP0do!}W;q{^efIa(njeFM?A51#)5IO;dh&;39gZjRtZfEK&( zcjYdIv*pT|Tn)lTxdPTe3C~*7$KiM&+N>85PI&;Uh4`-ynDq~SHwVvI1Uz?z&;0|h ziUjQc9SxBKFmnRfROL3Q`3P9^1DL@9U^PP!9lGH8KLHyXVYKVM;136|c8ddvxbKb0 zwRgmRh+uM66QVX`+#8@{z5d>0_>b&B-}Cq*%I(dA9(g#cwPcT*j~_AA)w1+erOwh9zwMF3?5z& z`dx*&ymk<4@4_ccUjC0LDKNQAPBTVmcbT3H;rv1!Ey^n=0Y}MyQJV@n!XV3~Rf7Tgvo=(u~cbEXidp`4^{9s~`$ABP5-*OTDJ}}G!Xur#x`Wn1R zV3v-$8#uVyC5nan5Sb6c9MqJ7UZ6iW@8NJMz~OFy&KjVf*X#&;C`j8cgFe^Axj!T! z4l30jfo`7In-zxaWZ(5bbOJ*A`FFf5+UNN_NE)qcj08xbYV?~}2^7a))ba|0W_TYs z0J5KCt8SDftWME{6+zU|I84Kn0e)eBhOsaSSWNsmcG@%0uUaSO-gwaG$SaoXQP-d! zCaT>>&^hsgau#S`nFEz6;_Z$U2B<#f)b(*^KiW6`?$>@aAN{o0zP87#%CiL7A}Eit z!iq^TwC<4llNDxxc_v_jaB5o4!UNc&=6?!wPT(IwtqSiC0kbGmRkXE)>};?_<*6R{ z;Htf`wh&r}^OM9PM)WLE5^JT$$A{+4Q64|wYmT_lV=;5I54TZ8A4SW;QZ2+g5|3+T z5M+QEVZR%>r464lSiUIHy4}#3ZZmRwm<^UYmqreN2eFHEikdwJ?fqV0wSZZb6ozqs zAoY`U#pAtg;Pn;gmn+7DeByiFxFP&{DtH9p=Uq`3q>pR9HYjUN2(`2(NN-nDH-fZZ zJ3#19lzzM|WGL*Q1%ps(#{IzcZ6fW-6~UTp?p%5ytwY!`^Q1?b9uVsDUjum`Kx`2_ zUIU_>)dxJ@q!vui4v#+oR$?)M$6HK1`5THNN5_>2be^#MzAwV{b2IK_1Q`_VfX??h zez!yYG8Okgyhyz`QVY|?acjC(VVK)^Z;J~og#Fr|&fjN%s1-ll`Hdc|CvNZW2MiDe zBKQE205km7@pv)NrF$wKFAo`~`#X>?IOM9zK5f1ICjnttzI1A_5`~i zt+2{IhUQc?EEb_V$Ls|GtRK14Jl9E}og(W4=#>J8MD(Qmt`>xtxu1U_ajlTkLd1=w#p4;D--|o1f$UK99KzRgL#I&PC8RzY;jD{ntS~|9ccr5@(&avfC%RNgnD^J{E>yGXJ2yRVQToE=KgJ3ch+je z#|*bR(0ZIq@EgL#>^MfgaVM-FYuh|TTsO(Vq~{zabCWRHK&;#^AkE^5JaFkVCcgw@ z@;%zad9ADh*+T-`EyRQU@83cDxNMbPpnOv+_WNTrA9v>dV(rfvFKe23FhI0Q?6& zGYmYT4xax5X1omEvjmZ$0IY8t_~cdKC%f?ZUrks)#u5puqRVu!3#iE?LC=ITy<@IeioB$3!ZzKMqp=KS3s!08kW$%_b@|;;k`qI8%)6-Ucwl1_JSV378)U{wS%q+dxL9%w-IhuFNWD) z1CP77inV)22$RW`n4HVO+Mjm7h=6Ljqk`YHrph=6&?18dI% zu9XKov8x}V)^B+B2KWQ|-VqAAGpIg9RTqoy@#8Fy$tFl1p|L=Ew4U*`j}ld*Kj3K) zhW0>G@-!6wtd zPP)KmQvpe)Bk3gL(0Mvx(@<20lDzJN?!8vrI*Qh*ls}B*2&3_Tydi|{nHo^zNA>K- z1{`SLYs(i_^m-*iTk4HMh^CyNyEDL6L-MKZQpao1POP5tGxbVuux`S(pKfi_LecNmHRW#v zdA>ps@ss0W@(5>K+Z7NWFvd$0_Baz`tO@jn>X(+geh=YW{7xLu1}tFPt_@WOuE|w5 zVyPN}!-)yv@#@N?JJJexya7B@#0HNykHdJ7d3qP#8m;p@va&<_fUCqT5L#UvGerC> z{P})_cg}A6P@T-=fhNlC)xGoy@ihs&c^`R+JYcl(Ym*qEJa`BB$z$B0OS8)jdpN)= z%p<>i;e>veHQ@2Q&|f3MdJsejUEpOZ;AJ|FAUWE*kD_e6+1eZNje_USX#A(HTH6ui zkzZy=hnDV!Xx=nCEIbKPEY0mDrVFn<4DaXx*@M66HsT<11ndb%F(9z13hf6CAbXES z5W<4t$1Qz}QVCwTXi5o8K4){p4Jm<%T3 zT@bo6qmDTq)w_x~Pa-@&tsjEwsNRA8NFUZgL1_GHBXQ_&&gzT?tRFcXjHvQk*eHW4 z0yonvk_fV5HYgg6Y_J+J-3sR?{ip?fBLDe;$ulP~c^ciVU+#GhX)n_*89gO@Ivzzb zSNT&20S!)P>Jg-*Kp7p@el6fIHAJgcHx87OwgssnJnh!@Kn$&q4=?*%NDroj>1MA1@ zII;p#4ZG z_OLKP^5=a3zaR(J@#z#rCl!qBiwZxAu;W!~h^bC%SfCT$3nrdOUklkWXvg_Knp_$* z{-m3z{vWSRSG!& z2{7g=VCEFy;e|j{i^8QtAJ?GGx3`J2&VtGQ7QlOW#w$Y{jt}}kSWl4xOL+_tNConc zcKAQNcEEe^0UH=s3%u@Q1pR=1o`RTu2RM8YyuTi_dJm#@C0O|&M8a#J^>M&9!urdi zHp~NIKMp)Afp8-fM63@XSo_2KF*!hBqhMdJAgZwdzW2Tby@3Bc1I$-|*B=5->p&md z;Mvxoi~IVJV}S1N01706r8QiKvCrUeHNXqHAfG7#pB_C2oDuMU4xW<&(Rv%aEoKAb z9kCxUIkJwm|GpNJZ*qzK0gg)sV;O*Kp9^@%Q_z7F^rPh#%nwA^8i?d3z!+`-D!2f4 z7r=W$;r9ZVuPpG_tH32&q0JmS!k$uya_%q>z@MUt>xFT1M2XJLb%$hAfsJrLgwi9l~Vq2TVR(#^fCW>Va-6 z2{;dNArJVS5b*T`7{6i}#69ST9z?ic7^}kup)e1+27d~KC|w2p3Wsd`-F8a2@rb}qvDC$nb zyBL>nQh^kJ++a(G!A8`JNJHI{A)na5eRKuXJ^_yA0togWaB^pe21DEAZx5k5rI@om z(#M`=V{~Jzd<~cvNCmyVBciCz(-SC+c;UUjBB*9lIm3$>{H2#XXkUB$2rJ@4K9SU6 z1Ze~9&^gi_Ht7c5s>{f(M>q){!iv)dn~ad*w9o>*+{k4OP=^@To6n{w4E%qWPWAyM zIp}#6BFu!x zOF+)b9|C&$hkXy2VqW_TLsX->mt}&oykco>v|A#HR};9AbKG3rPzquc*PYJWHPg-0@0?#(&=tc2fUwjQ^@LGv@JT+t- z%Hm)rfD;O9csyTD^JPMo2znrOLa31W(+cs>2qPnemQE}Ck-iM7)Dd4)XwX9EGFTp1 z68Ggeyk$EhLlq^vfB?iaZ50Zz5qx@rz8Angdj;Wv1#$n0F&QQe(RV`EL?1s$IjSaToJt8c@1qzHTC|B`gReQ({vl^fTBAF=ZXF0gsB@({6rpugkQZ9ja`kXW z`$3IW4v-Nph;UVenh3~GYRPD@AQ zj`@*<@&u2%6jW6);m<*%l0R07cJWfx-WA5-XnkJd-O1p1=CC(fTlm9&}Lc_*!l;5#k8MN#H{*(05L-h(_R6!VqXx8e|dHWecMk2Yu@ENu~Z!*O`uF3fz`V~mFk5bH2KHkj;q zNbHXyQ9qzd28dU6z!&(33HN~Ea599`s$fkTkWHsR_H6=sPXHWq1OG_`9(oG=H3j(3 zZ5T%q=wt}`5DRlK1NLQcW?~FVe+{&CR>QB=hZM@WbpZ7uq_s7 zD+AD02Kd)enq454W@Z&%` ztX*Gpb1IppC#nZgZVl*Q?e%#Q?Zgd}^?NZ{LgZ@~VUB4aUyX(Aj}7>rA3R??2v_I^ z&sC|$k!4aJ$VB)nw=jPeQ zdqSyEJbzwEj-pUY7$wSME0V}jT+8YsNBi7PZWH!$!Z={u6ynehU>BDsF3bXKQyThU z0(PVWZ5u{G+u&=)fcTj(MkBDz2jCyZfR2BbXebQP{yA0;eRL9)ZAUwbAi3q9oaRAM z=+Pk_FM_Q5%8BqK=PVb>j*>!H(Y@>e26QOC+TEi@QV(J#*;R60O+abEv!tbJV7FS4 zWW&mU&K?a^yoz9t7uhK<%7V|`W2d?;05&uk$x^_G=0UWQ1$|GRSU=leBumfW?tlLi0Ysspm9Z9r?1M$Y zIhG5?#;tYv2s^NR?)FX!7T_+tOf#vpFx%V*@puOCYW6F5JO@}QBjlI7w#`q`at5x^ zRtsgV*;mw1J{|X2F^M2O>ZH*+p~(|5gz`!^M9_VQ0vZyZu|6m}(_~XXL{qj=M$Ap6 z*b^ayLPQpdE zv<`Ibi5FUjNz7eB?N#D1aJcw}j%1HQU>|McV<>APFUsTmF zH}XfTYJ0Sz5zAt=O5Vcyafy@}@t!;yX>>xg_=OhQ?@~_Zi1@&N6`sfgYwqSD{I9>? zibmQvhqYUsiph(_oyL*qn_JU|5>RD7R52D+DI8=^BE4vxNk{8L;(>+LSo@V8)bg~T z@g_G>v_q(EK?{xd)s_p&0pIdQpq*8pN%ByoYb@je+7~>o-$h6+adX7F)HfnO?IYG> zuAy(1J@qjIt-pEg%|KeVs4DzUkZO-=Q1y@Q$^(cDtdPq*Pvy2EhZxt>sepR?s=@?i zFGEi5$dlg*gdu+ZX)ptw4EWYujWFZq!V^^6SW4JH5o%?UxIc(!r*EGSU(rud#<=Ldh%&?#;{L4_bT++V6w`V&D<&&oHpt8v=WZh0%WpyNQI{X8}0QUE->69Wn2(9KhsF$TBH9fJXpJ zWQFLLO*r=pk^VgNK@$3(3bvp!56=bP(EUuNeHyUEp@Zzx85mEb56RV3@Yy`T@D$Ju z;U0} zA~Hn!4B$^<;I*j`yOberB|r?-GbLL+1>DiaoxFg+KTcl8jS%*v5WZ0$8Ti5zag2X` z1j~y6-OR!q1Odn206X?2+@lBl73226zg}Rnkyy98-9hZn708`nKJy@(VS}+JLj>oC zpA+y5S-{?4;B6X3WRLv~2)DD5lLo>(1i<(LVf;Dz;D<1GozTZ1(DOIwa{xr+ZQwSZ zFEJkCK|BN3vj=PM1(6@N6kzf{Vx8(Lktd}A`qRSPL;zB;eZy*mqJYdUg%E4oNMjv9 z$GWv7362EZ2U~H}1D*;NPl$^5fv>m$H~bEE=HZUD>zsi}`!P&DBl52fRZKSg#^iP4 zzNz!X{zMZ_bHUtu`VhX&8So!s2X_F8kQwMxycVZs2<$}-=3O7!wg$g80-ccuAtCQI7LuI0UuwgP+9)~K4iSncfHT~XVuiGM@1Udpd zl_3*1wio<>54>6h+S~*BQU=a!3jV1A^BM~bOA&G?LLgLy{*ORB+jj+PSMxX~)zCfP zq}pwz%;>z@eM{y(g1qIL~>S^-BBIStQ%oP=i@e6pAHB`09q=Lh6*Ea<)onq>}j?*+9N7dl5rQ_&J4 zj8^5FcEnJ$&gl|CJS-t!1fhgy2?tsaJIKI-?)On|r$^^fM4D+Z;)4FMfEMWnWVjfB z9WuK+bdtlEI4sX2?#tcOfpR1^r3r+C%tcuIV(P>sO&ajz5B2*L5wEEBQ$e3P&!vE( zV%Tdbp7lR^0fG zKR}$Db7mM-?%9d^E|~TbCA#UQqDvd?Pr629i1=W_buCnXIO?l{#%sPu4&9fd{6G?+ z7O#sm(W6vCNbGPhBXYdV$Y!MY_M#b+4nB+!LM$T|S(apA3p$@89{voi=!mpo?Q>ti zBnMijD%?GQ_B~(vdkEoL7?TOI0|x;ew6AS{zdEX4N~~xiRzp2t5RUc3Ae{zPinOe` zQ6+JolL4wfXdd)NyijE}3RPCrc^c3S-l|3qQLd;;MdV@cFe$=->K`{19Jbb}^GeD`n0$2B@dDd$E-?hXbJq z*BokYB40f8?+sd63M8)6*)S3Lm;gbZPw+?Dim32Lr>&fBdmuif_tpcUq{LJpswR-= zM?wZd4PFwT&4l>RS#eQRkGWK`7ct7b87DOE{FK8;W0~*Dk)>Unt4DaBe+g?hJDgab zs>Gx_;z4KhVo*KOmoyA{;z7FbF=P*dr%_dnpEi@Ihe8+D1Ei3hl$XmOJ=FfyK{u#1 zN7|$Py$_ZGkw*>qW}?;Q_wVl^KJX#I|bzh&d-xk z^+um13;B)wiLw@~{n{Utnw(|8zj`DQ|7a83hyJHs(HgCsb!&Pe%YCJN9AV}gt}Mi4 zN4PNz|7PBW>Y9@myHTdNVu-cBOI)WLKQiY({JQ#cy@xZr#a?!kePP~is^S!DI zwY!kHfbyAT;=Kmz$X-gWVWZBk!Q^Ek-kk@pr36e)(kI;J1h@^>$_|=~1bh<&KM1}@ z$b=}E3GrTKo+ii_yw1>yjy52OV7ZjDAu#r6b<)?zAxdVq0gDIRsRIrb0bJn;;BQzf z%$y-`Cg6-yfVt(weK|!wn9Lc%Bw_z93GniitAuZZ15N?h#sZuv3it^h@Q5J5ZizqS zGsoaH6$_diABc8FBXqR>&`*yRiZ8*?_tSGE_rhQ-H&~z_khQi!#0~=vJp{-V3^x4} ze)lJXnF8)t&4IOhlemMkAOVwEL_TtsaLNQ`=oIve0s0UH{D>R;FbI4=>;rkO56q%+ zDNVZjd92Fp6D8wojK%ArSEP)4POpY*DvVv5mcF?AF z3*}))7`qEUj@n6>fYtCjaItFm@kqnr2sem%!dO-Thn)a#cRUIAS75l?MqGz#F2`gQ z5&v_Ed>{$Kd0ZGFW&^i73_ORhW5;F@BCO{8k4EVh8gi4M{TWK2H*#s*B?-U`X7~{WUloV` z2?Dklf~^a}^CO^dyr92wm=9ji?;t!=kgyH~w!%-mZ%cp|lXq*Vk!3bqrA9m>uZRZq zAc2Jz-DB+ai~?!G(w+)2S@nN7#1lk_e#H(bL`}Fk7o;fRo3~-kEWrNgz>iJ?C!>U) zdUz5!pvDJ?H{`(MH(`#*yRi1DqA^+jlN)8JxBu~=b)5`f0rWjA5wlzZS!{*lm%Yh%Azpjsozfzt?oaZ~kr*z0e%F^Q)qO8ozkRSD9F z|6SLXL)DC=voeSw`%wua+_O5%i`GHZt=Q4NUBP4~w2DDt&O$tgLVbi0tyob!mqE;h zJlGP&adNjfl%rA1{D*4QWLNvp+){-6-|hd8EDq5?`@?gpwa~iYi8pEpXWV?`5vwtn zlR!_CeISh31WTzXF~bpyCVfnhyjNII-GR+T74aUHL0gm)GLmB`pI+Z2j9|3auXg`XLy(Su^#w}H}4@U5XDzZLJjw04ljHU6hwhj?mQCszLn&GJO^Z!hJBsu$Xv?&x)qE55`P zfDjGbDkVhY2zpjjgO9u^ie@avQU%rNPPigi$Hl#kL;XpDw9LR^}+{49&#StbrL?A zjM$u$U@GE6I=xwFJxpq)gm_M`N|>&n8PKTtsuWr|Y_-%vo^s#QR)`=Ua(ke8=`M^! zJN^e`FCl+@FIk7U#OUu1RAc$s@d~X&E&F5bZ<%7UAAKjKZ$cirSM%VNQpBP(F4rM5 zr!pW^Xt*FoG~MHurUoX~LZO6ataaTG+2#FWd&I}ux7|_Z^`i7RV%B~0=Mirk8oY`! zkB>2}Xs^we8B8zpCi5sWSSI#k^BmEC6>#pj4BUO(FA`P~eUdPeVv=5xHBt#uJJKZ5 z2GTENG-MiN$H;QYo{%k&^OIYW$C3X>{*Ho#LXqMy#YKuXiYZEVN<+$U${UpZl$%u2 zR8CZ>R83UhsTruXsROACs9#Y3qY5Q~tFP?peuFrBcaaE5S? z2&IULNSeq~Q4&#o(KDitM7PDX#p1=<#MZ?%#7~H~iZ4s3N<>ODN&J;mlnj%smzAPyRN_){Rw_{XsLZMCq@1t(L4{MrNhM$9gDR)0lWM-| zM>Q@rXSD*gk9)cIy6i37`$?Tg-BrC<{fCB(M!3d(ja^L>%}mX=`*`?HnlY^GMzA!H;XZQWKLy%$o!i5 zgoV6CjKw2MYD-(oV#}Wg_8f>k@Z=!vL5G7S2dAu*txj3Jux7M&vA$(JXQOVDWYc$u ze`;S9kvs&^S8Tew{34`pKbreLDC_@p~I2V(bn<0b<1`ebr*N{cdvE-+#S7f7s}7`r%hcn2y*V zDL68EROqPB(W;}rJrzBpJnwsMdFgqjdA;Sh^ zy2nzE_4v{G+4$x9ee&n`_w=vyp9$C#5D{=MU^7rRFeR`jh%U$`C^zU+Fn_RTa7FNR z$exghkk*imP~Fg!(C#qWFq^R4u#d<2jvqZ#cb!1ND zhbX?NqfzBiQ_=F#;n6M88!EMM%=*z(xvIQh8nxYoFhlR77p zPj<)C##_hd#(zA;cgpir#i{Ajdrn83Zaux3pp%fC@H~+!@jzl$;+r$wLobt_;!)%SY5b$VfZ5ZMW>5}7e8n6XCBSGnK^Mu z;*$TR>Px?~_GE=+-N{mOT5syu9~UIj_20y>|6;K3~2^eo6kf0-*xWf|~_D3PlTj3M&eKU6Z`#cdhE$ zbdhvXU{Q6^Y_V){aB*$%+;#cuq1WrL&zC5agq1Xu{JEiWBko3LDOssSX;$gmGM=&{ zWff&JHx+J1-)y_Nd&~G%#;w6}wsM#98|4!f(iNcEFI=(eP^ z^t95o9%{{N9l0lX&--50z2Enh?#JA3yTALu@Im^6{x;?|$F`!j@9kpk0qyneix1Tw zo_hGWgQCNtBdg zsm;^Er{m9LpG7_Ecuw)$`gy_gu@^EgB40f0ChxZD&hP%-Bi$3x)Bcj|rPa&)m*0D( zdn0<=`^fvO`ttj}zmk3x`RZXmdB0VELI2o*%s}Ko#~{U^^Y8zY%^RqJpNYhZS>pDca-mJ-W9$Ze=qkw`hDjI$`3Xl3O|g0l>Hd> zvEvivC!0@&pT~#I~#0>Y0^-S7K`^?{2$ytxt+}Yk) z{O`TLgMZ)r{c(uBT;trYdA@nu`Skfm^UDje3!V%43;lmc|7iX>{-^TK=wFt< zW`7g@HvgSn6kc>%%v^lBxUrt$$R{ayDXb|{DehDJ zrWB@hpgd36Nx4WRN##bBMfHqojar`ClRA&OmwJarg~pGjnC3MtIjtsb2<=VU_jI&$ zx^z)=RdiqIS?EpZ3WHVxmW2<8uXXgZrPhxLjpWzVXu;)nU=-^o7 zl;m{hyu$gMbAwBP%ZICwYk-@STZ228yNvri4=s-#Pc%<8&o^E+UJKrI-sgOzeENKe zd=L3H_%--r`0w)n6;Kce5vUQE7L*Y55xgn*T}VL4UFe$7M_~?OJK-zBgCg`ImLlgx zx{)~L5{PrI0Jty}(*t4df zt`M!ztgxi0tax0pL2+J5UMX0qMrm4EO4(1jQu(Kfn2NW`O_ecKA=M+QC8}T4_|)9g zuBm<6%eB{O@72BU)!EhU)pOL}Xs~D;(zvWKsL7~l1xWvDAKgC7eHr_Dv?#QUw34;D zw6?XiwBxkzX)o_r*&n{YVgHy*PMRmP&OLf2M@#(qh73jU!XVK&G=#){r(Ymp^ag1@Z@sf#>$#Iiy+>44RN%mc3g|IH7kAMCcGurjtv zwR&nzVy$PLXx(YOZKG`yZ_{S8en|6B?4f&yR&3R5qipZmF4`&Eh1)gSE!gj|54Eqe z|Lq{_5adwpFzqPq=>b#j{BU4w1=-pna7vI+=m?wUpd@=gzAXVkuygg9$7uAay0B{_0eCR z!k!+Ug`RJ{n7k~#&U!uZ+V^Z+^@=Tv z9g7o=I~rFS_x+^c$s;FkoctOu5bqIxJ%02Q?D}OfVZ1vfxa}wu#&fPjUmM)m?kzSPk={)Cohx0k-UuQ669LUJX=)ORH z!SKSF3!N9XE^1ypak2U0-%N$f;LPgG$xC9FJTH}88qMO)a?HxfdVQJxvc=_dm!Dn1 zUD3&+{H(WtBU_zSHGTky}N{= z#IfXh$;1u08<98KOG!%2ORtoEEE6m{R#sQGd{g^o%FW(e%(t9x-MICuT)sT2yuE^? z!o1>g#rsPBN}tM_%EkXQ|4aPuMHPLOebu$9vD;F&LvOd--mEsLJ`dc1qsG1FR?T#+ zVr@+A!#dJB^SZ3M_w{`B-u1WZ7aI09oN9R5NYiN3nBVy2j@X@`J9qA^HR(2;ZF+T= z^{(sPGGGo0%`wd#Eo3d0E!i!fT7_EuTI*Yv?`hvlz1Mf2<-W`PvinmH6ds&-@TiTx z?QmOTJFeZfy}W(-q3Oedhcg{o9hn_pI~6;VJBJ^MKRWTKr;Dd6xU2Iq(_^p4%}>am zI6b-jWb>)j)6%Dl&y1d3eKz%c-}B7p-(D!aNPY3XTdF(0yT3;Wn8NdyoG$}kKI~=e z_3CZzqwI6-tLxi+W&5h))mp!0e@Xw}0i%KZftkVmgI5M8UaP;(c>Q%qX()B*12BYy zH*bc;hvSA{y%l;J`L_EV&%4lfPu{b?4|w14f$4+Khx;GtJ|6wp4BWu&Q^N@9h|@^T z$nIym&;Nbi9JL-TA6@%$;7jS3e_zeNUjO>{o5{Cp-{!v?e$W5@drWUEZ)|2WB7^lRuh&EKEpGcu!oP`1q6M=YgN+em?%W^=t31kM^JG zzm$KE{%tJpU5;3;U!GYJU-4YIzVd06ef7|4=IYBe@-=&ok)>(%SOHbgg$ zY!q#L++^Fd+05L0xka&Mu$8#gzO}Zkx*fh`5Xx#PW4y7Oh1d)IL{XZJOp4sVV> zi^pyj)WOB$?&1ECC;|FclT4C|k$RGrkdBaXlG&48AsZm4B{w5aC4Wr5L!m_xOVL8H zNU1;>OnIB~7nLa05vpRUPt+XLcGQ=t`)O!sOleYS9@Fg7YSYHiw$d)qDbj_|Rntw< zi_v@1m(Y(ga5FeEw~J=6dGeEYd8;SZ=Y5u?n!d zu@d58VXh~Q@__Xj75h{^`BH1DzMfpX&M5{#S#8kv$#X7`E#m&Soi4RL~OB|Lc z2UJ&(jFN1V+?6tx%8+_3%`WXGT?U!EoJ@qwJ(+D;L)moM0Xa4~7s%Ux%FD_hmv5Ed z+GDWi+@5{~Rs|P@5`_sx89?(E#Z4uBrE^NJlv$LWm9H!RP?1&%Q)yP&P}NgSQ|(h@ zR&!JaOeQ>ZR%R=`-s)>0j6XVIX4=W^mVF z#c-eDX~V}xWJYF27mWsuS&f~HuNi+e5ivPtavQK)$u!#Zf$6rHzFC^tOLKb2+Vjjm zS@2tUT2xp}TgqF8TeeuPAJ93FeBi}FnuFE{a}Iv6;3wDqyQZ94~;eZuac9p2v9KEr;{fz83ip~T^bqm*NaW0T{mleSZm z(+g)>XB+1{=Mfh{7hjiZmjzc<*ErWlZe)Pgm)wTkx!gV6Z@N!<$a#c&w0LYB);*kh z_~jA$BeqBKQU30G^!CwtPZiG-o)10oUdCSMz52abydAxZyubN~`uO?O`26;j_YL)J z@cna4=~%?EyT|_dsrkkD-Sb=X*YuC`Z}Z;_&<;2q&=If$8T^^Rt{_~HK~Qqg(_pe- zqu{jQ=OGj!CLw1-xtqL*&Rg@WfFBZ>UlJIv{7_Q^wSuU7=xIkn68-J6S^l7PIR2uiq(oe8T%l1 zElxcyCaxv!-$|8|5hw4Q{1d+?J|w<2e)g2~DgRUdo%(rN?6lYEveVxZ1QOg6iV{90 zawR$@<|YoGVLoGhCiBcIKxMO}vq{gBNt5-H6O%iVH&ZlIPNcM?ETt-?hNs>IR8~)m zOKVTtKC62+>Fm>U+rfJeK)i=F}zWO97D4&t}PH1!vV}&0Uti9CEq-^8A%OS3<8eTv^Cg z$PUYH$X>`%$O+A<&zaBNlN*v-m-{7F!gj7r(epcHQ9mnd_a`w@NfiPL#Bi zEZtDN5qhKc#&oGci`s>X#Z+8=@Op8&(@N8si$<8aMA~-$}Uh=nlR~ zzbU2Z*(_fi_q^_v-}`l6>VDw; z+WYel6dy!9XnC;Orr8$X*4c({H*8O9?|De`@ZiJC58rgKcQ|)k>-f?s)al(>**Oh4 ze%Pa?N6TFrUGad~xW~qi(;xReVSHly60-cTXLp~iJXd=j@x0;r z>XX_}5$Ux884WzWx4A@SVrI;&&tOx!*gzzxw{&2i6a^AFg~D z{K)X};KvIedp}WsGW&Gy)AJFs5yO$>k;fzW&pMw^e|`u^zi%{d^#17Tm%U%2zchbY z`l|dj{A=UaKi?F-g?_91_WQf+_rUMf->1i<#{9TDlXUxy~pOe3Ye!2Y0{?$84I;lMwJy}0FIVCjZGL=2mH%&IZe>!Hm zVR~vtc*b=mXXX_kzwT`8?48+}-(tT#eqa4PI7dBaFc&}9GB-ajHSalpZT{^7{etPj znT586r9bk2j{Pb9GxC@9@4>(4{&xM{SX5mMS^N*MpLfZA>C#fqKazji|6=|%{F`1D zUG`YcUmjYaT`^usTzRmvv?{;qzj||Zbd6)pW-Vjw`P%Nf=6d9M{rc2~$cD#8{>IQI z-KNRrna%di|DDG0s zQA$yIQC_F~NX0^Rkm?-O6RIt0b?OM}TIxv}5gK=ze4013bhM_l$+R7`t8~i10jlVJ z(DTzf)926+Fi*5Dt{Sdi z+#=i_+=bk4d6;-CdCu`X;o0HUKEn|_7tuWUKY`X{C*f%fS>3c(Je6(vCCp3;$q^V;twQ9B@RmD zON>j(NybP%mZFt%lq!{)kyevVlix?)x;hy;Z*>K90|588_006L^+xq2^pESe8IT!R859_d8_F5R7t&*IuBAGv_o}z6{`fR9&1+X!`4;SOEx+-={CcM1P%opYCg1MYi^rs`^`?qF50fk zp4Q&cz6`Q+b%$h!en)OcAIApA4JTu#D^8=%lFpINoi5Za4lboGzg^W`Q(On!c-(y5 z8r`8R_`a=>^E&t%U&FLtlPUR7Ry zz4v*ic)#*t_c`qIpU)p(P2VKn-eWAs+>YHkHtVPAcgpXXKb^n5f3g3s0M&q$fT2L4 zz|g>lK{P?mL6t%Of(?SRg1>~whQx-v2xSZP3~dPA3NsJO51Tlyd_3{^t8ngczwqV= zT!d9bQN&cFT4ZwMU=&|eKvZiqX|zprarAV|-k6k_!4rHZ{7pRJL(&uF3$*p*^_}uvKr{qq>o_cng>9qUls?$pex(OE&J|v1Hh9*8ZLw@Ganc_2( zNh(PRNxjMJ$w!lGl2=mfseXJY{avSDmtQwmZ%|)QKi^=~P}s20Xxv!T`1g+Ko$Gg&n#`MSG%eq? zg#33EaP?O6dW&^SMax#JZEIEQ&OQ5kHTQA%o$l8^Aba5Y;7%JQiMe|d@q7tw0F~XyLDH0Z}eF76!px$)Ova0L=~D@2~7%8!#Uz8kif@9n40#@A=oGLkdI5L+{>5y*c$}a9DKs#BkqR zLCAf3-toN)fA{=7&-<|V&p+^dIR4@JN8XR&AG<&Ce~SFnJ0d)CVr1a6I3VKNQMu8S z(a&F0zFhb+@m2e4-q-nWrr%1xt$(-sUOPrHc66+5oNYX8{N)d^ABjIkCiYI8pXi$S zK7s!!^i%KW(Vu62mj3Me`TZvzP*DGu=dYw+WxpQ(8lNPY6qz)f^qx$aET4Qf`E!bV zN@B`n%5Uo2RMphWsp)B&X_;xu>EP+i>ALBG>4h1l8KoK9nFzqh=9zahE3=%l8nZ65 z@w3IV9kX9&cYh20Hu&xRJN0+P@9y7Ib2M|Za|h-^=d$MR%)OcWH_tw=KJPMra=v)J zbN<@`Zb5Xx7_#T|h3bV@3-f=N{wV*k{}c14;7{A1(LXzXh5j1+^#we={kQM${36q$ z@}k4yiN(Ujhl^jAa7&^~CQJTH7nbUlUN0^EWB;e|&+T8rztVqC|NUB~UY1+7SoT>? zSk7IpS$?woad}~dVugQ2WyJzA?%0*Am5P;zE5j=@tGHFJRfSdKRrl4%)r{4$)%&Z1 ztG`ya*Vxu%*9_KN){d{8TPs;>S$nniV{K!dWnFq*Z`}!U^R)Hi_2%`y_3`!f4dxB0 z4c!gLjnIv>jpB{wjlPZXjg3v_O{q=2O{dM!&9j@=H(NGeZBA@%Zn193KnCx!6~2|e zRl0R=YjA6FYiFBdTYlSk+haRw`{H)_cKi15_UsPH4$qGAj>V4GPTbCwo!dK)cRua> z*`?YQ+SS;#+4bK&vsKBd9rI3*m zzTO-6|Ni^`{7sHS$KUjE$+#yZBqW9;DI`xxNlA@JQ%RqZk&_vdrIEcLryw^WKS$n8 zK}lgokxtP=NkwT+d7knm6%CaIRR&cbH7&Iz^+oDeG;}lvX) zA6PkAommT5KeBPNxv&+ojj;2uyRsLtf9BxjaOWuI80F;S^x(YC`Gre>>o8Xd*EeoK z?jzi#+~0YGc#iUv@r>~b^Lp{#L}o>0MT13aMSqLQi-m~QiOq}e0hZ7pz969> z5hl?n@kdfoGFL@=}75j>3=e+GEp)uGRv}RvN5u)vMX}xawp{O z$*sw2$j8b*kYC@UxhHN<+nx=DeG2gk?FyTU+KQ(XA1ZDu?N>Uj)S=RbMqp^|2a>nt@uf+LOJcdky!d?0u$Arf#I3rv6-mT*E};ti}sXN=;ME zbDG`zsP>udOW*fWi(1QED?_VSn?~DG`vUL>y8Q?CU)=vnhhFEPPNvR)E`zQBX+W00 zm2Q^qpdO>1joxLw*ZR!*hxD)L4;io+*cxOT3>&f<+8O2=zBOVqaxls>dS}dG>}Y(| z_`M0IiIYjb$wyNzQ)kmc(@$pHX0B$}%tp+4%-zh3%s*T3S-4viTYRzPxAd?qvHW^K z;J}dsHx7I|D0uMb!P0}@t%R*St;(#%twpT8tZ!NWuo1QKu_?EiI3#w+_fW;5pSBXV z$80NYC+#Hd{OqdirtGEc1MF|xPdi9E1UghZ%s9$A207L^{&tdc3U;bf66Vt2vf!%ddfc_q^{<4N>z%$}JA9${N?ejY6)#kP7t>qo>{m^^MN89I=PlwO8?|$C| z-%j71W4gx@k3Bku_tWz`Caz-K|^LB>I8K`(+S zf=zF(?wobx-bbKk)1HG8jhUDw*P zXYXD1;r8!ONuJtsD&o|K)6%E+o<4v2ql1itwnL=DXGdAbeU8zNU!Xz`oQXM8?lj&> z$LWGoh4TdGgU+$eUtK1;=(@zad~==TddM}wwd$0W=lXLy@>XF`+A^f}^_=T?=Xro*!%z zd_A}=WI>2+$c>Qp&_$sqLvMz5hAj@W3(F7d3SSa_D!d@PJ7Q_X>4;kqJ?EF7cQ}9h zd|#w$q+?`ZWIyzZQ`Ft4f#?;{&e28DgE1O0E-}S1!xvUwaJ_KC3+`5P2x{l4;Aw)Ss;01^10;aDMBe)DZVK$ zQ-xDErTV9qq=}?$P76qTl`fjTH9au>b%uDxwv3>Rx0w=|+cSeROS490?Z^tvdY3&q zdslW?cG*SAi@Ps|U;J=M>e8M|5tlw*mcG3Aa^&StS7fg2gTncIb?nvs&^YBe<8lr_ z}zFUc6ghq*!#U=u%Nbv2w9R@#W&idvop`zjx(c)BU;kE$`>tZ+@Wi!0JKngO-Q$ zA6h@W_OSKQf=4!wu0LvjyzsH@3uS)myi>4@#-h)uryGkKXaTTl3EI-QzOevUO!%Wl!GoyJO1~#Ka>9G{Ym&! z^>^}L{lAHSzt>KwHKd7-LLv-^@jDS_0}aynW%=XF|j=61Gr&F`}Ay57~+y`bB+`$l(r&m!oRn?0Sqi+k;Q^Lo4b zmh{>874&uYFYQ0wf2+S|VEKT*PZtvAH}zt&z;K@d&LE@(_9?%p<%;*hBb{2#?4b5f70^qP(JOMLk6yi}8xB z74sB(EY2&wR@_tku>`NgS_w~y$D{a0tsCVv>d9!n(d$NgjeatQZ_K(eUSpm}@=30f z^pboc#V@s9%3JEGG{5wEX>aMLGW;^@WxQpc%JR#um-Uu?I#yuphOs_lpN$h3w_%*m zxM$-9#%~z!Gyd5Gfe9NX_)K^ym9im$O1wtG@)r)(|o7Bm@YJ3Yr60B7xKdLo8E9->~V zF-l{HMun(FX6KsFHSgArS-Wd( z*xIsnW7h3j7q+f!{h0N;)`zVx+c0Lst_@)u$~H=F+`Tb;<9jVht=(GTTJJYWZrZ&m zeAD~QlACvL4&VHKi`14qTOzi6*ebPk&(?^oAGS$t+p{fV+lTE^+xKjb*#2RM^p3qd z&hPlRQ+ns#o#%Ic+$Fth@2>N^KJJ#@y?6Kd-5>YJ?9tv6x#!bfnZ4S3BlmvNmeJPM zj@16NPiCL?zQ}!__RH?yw?AtC=L50__8o{i@L5MzXP-`#&gX-&2lpL}I`~<4tnPl@ zXx%S*WA*myMeBVzH1^Q`L(zx6=#SOkuOF@d#bBJl0fQKW^26f}A2=LyxZH4@;Q_-K z!*Zi>MhA>yjLMD28|xTfFs?8eZ=z#z!KA`;ys3`q1=9+%@n$+^7tAV-OgM7zNbHeH z^9kk$&120gk4`vx@M!GO%3~9b9Xu9$tkPnlg|0=M#nq*vn*74TgY$n<0*~Hs?vz=tCXB%((?d0T>hfXG(tg@SI zcgQZmuF8J0{UQ4V`>IouPaQgyaH{IG+-d#OiKo9i$T{dcBszR|lylT~OmzHyM(&LM znZz^Sou)V$I3+p#aGv69;GE?A!)1z#flHFh57#NK2Chl2Kh91)d-!bf*`IDx-444Y za~dGo{inxNkHa3x9zQ*&c^Z1Ac>eO5=4I%W;`PgWnzx~MiuW&{X+DNNDL%i>O+ROJ zF7;fs?{r@y-&Egfzv+HPeyM)d{?q-9{8Rm_1LOmY1JVL&0_6jZ1JeR)g5-mYgVKU( zg5`sagVTa*LKH$wLefKihbn}cgr-vM*oeO8Dkcc8T0qT%nN20GB5m%of&Hu zn;H8zZdTlpxU9I^_*wBs;(Ug{j;38qt4~)qtBpCzITksWa~gB!>uV1P{xdoO5R|}eMsoXkoE9X}8ZI#<6Zs*)?zN2#I z#GRZw&4nt3Ckk^4oA1uMYjrpGZcEX;BCDd@qL$)$#a6|+#Vz;d-Ltxvd#~mG{QK7T zuibBbF#mz|gKH03|F;U5|H%5$wMVUw7d*CkeEo6TlLb#~o?L&@_H@Bho2S>Gwmn<$ z%;wqkXKl|HKDT{-<9Yjwg)eMh+<4Lca^Xwcmp5LvmnR>Uh2A z^~u*aUw6D&^ycK7n{PVaE_!?N?aj9xrHf1LO7luP-z|P;_b%^UXW8O1yRy8p&i9Mo z+r7_w-}zz52m25CAG$s+`Dp(!|6|vuC7yyUa}=lsuIUzUD3^`+oTclpxt zQ{@Ha-4#nKPE{0CbXP8|JXKjx+5L6d*VA8beeLXob@$a3#eYI+}XKD*;`|H%|&eRpw_1CM_pQ$gb?{83RIMYzr z(BHVC(W&unXie{(gyUhbF>MhPKMJaEVLMXiHv z>TS+#MQwxa>g~?$MeTzf8XYbj#T`SP8l5hk#hpW48eJ}3#a%<)8r?44#oa?aD|=jf z?)41!uIzQ~z1KV3x3bT*?_S?<|H^*X{(Jqy1DXS82ksAy3~COZ9lSp{GNd_lcIf`l z$gt+{+2Q-cBO|Lu+(sUN{#Vg%^n?H5|Nr6t|Kb1t;s5{P|Nr6t|Kb1tKk`3KM{K01 zmCiJMau>7nFHIlwrl@1yG(9VxqRz#$?-horGFIwK#Aot8I~BT$?5{I5oa`535fe(z ztvLyxXKXU1k9~qak^(c%<6q>#uthHT1@2>6;%E)gNbFQ_M$EeWz?@ z({wzuQ_f-n$|$OrwztXo2|pxH zS+XbdEvuzz@15}D4oy4lK!3Q>v@tw(-O2h9NA~ZPNr;T+{Lo?SCfiUy#vXSMbZ4wP zbuNdo4`^#y#ia!6bOyTVzNrc*U3 zYI!qFC(U5abzuADSPe~|ZlkC(=&waDC@SIwd5>K$QJ1l5NuetkyP+^_EAgW;u#)U2 zBjQ2!b9ratLiV{CO!jp8Sb=ur-NzPYQdF0zTU1sGMRjg*-yeOFqB;`Xo&CPRu5dS? z>8ufoT3W;Q%VtTM4!%TDM<&y>i#97k^)5v%QK0F|nM{wuEX9CX&|#QP*+jyxIZuc85oV)Q%&tYs21eFoWG0 zYDd#|K2y}(Sem}Qll7y}SakfB@id*ej-u=kzv+LNljSf@S6M$+!=JoRrrnkCg~e=q zW?yIay=fQ9(mV;bn{TAm9uTLfMy(VVEkRhH#5WpeDe7Nj{L;mXDXQsGtn?fK{GMdY z!Wn+BJW&obeeVNBDKDpK=FMbv1;z^R*tCPDiduLq!-RTX|TbgsO=*vBnHfRXWoIFuqy0x}8#bB(k^s+jm zgx^vgQfl>yablwyB)uA_7=JO>G3^agqxQ1xD@)Pz<8q2xF^8s^J(1TVFW(j-kMZ;J zV-#f-MAOYDCG6a(iiiG#HU36Cgh!IXbvVinQ%R8wB`M2b?ZZVo^1LQ%79nuEg^(DV~Tlp^x41PHUF zk*3S~+3~5GO;Ov>FFg@50onoOWXC19#uNW&TJC&u-K1Ac#CS3%KGR;`r^ry$otZsD z5x``(7hU5oG$ZE@_JqeoQIt++Z$Z>4irVqG=fZhiirToc^I`Zr_<6e{J#-SYQ%Z+I z@HCo!sR}>T(Ecj;47~no4utqi)9sGb@zrwGWG5k=coL!8yvWIp{4b*Yn3HObpIzuF zyn%^i5%}{{zRTAM*mp^*PdjiHMfnMK4+fv1D0{u$C5)o1|VAZ zi}nin15I{q?uqpS9+r8EDvt4@>B?~wr39X6dP`CB-nEb&CpF&{5kxpFXD~?9!d~vw zL>`*n;HgWAF((K%i**a7F@6Z8!9V$i(|Zt=uVQ-D9S~a=W4f=o$52%GP_Mri#>3-! zcPMj0!>R4P8$APoesr(1rw~P%hV}S*U_8pv&bYfY-6&5{Q@nf0NwmuIO3$#F8AML% zHKuq8qdAkE<5pA3>cXJP6V<{af^szNc3n`8`Tq6~;lIcZ@7_lSI*8%7y)P~AQ`EJg z{v~#~6qPi3aFatiMTHg*j&m$V4i@$oF*^o2ed!x;+(^^)O%yd||HxRvAk|;VY4P*J zFB7I(d)o-iGNJNdr64jy$!MdqC>ZUat>|1qAe&XaU?x8@$|Z^2!6a2%NJP^O5k<~a z`8#Ux{C-o4db6=#)9@MM=V-sESr5i-xWCH+{g$|3u-+1wb>3+>*$Q_%3?D^5{3eVx zGxfm&#?JFNJCm_m$ub0~4ozqKK~`D_8KtiwG>88o{Ltlp$Y(;+XO8fhFhBQO!>7X7 z7c~Mv@sTB6h0CT<)Sr^Ub({B4)W?q_&e{tp>aol~gATAVzkcBFA#lf~gn_+>Q(6gQ zOBKI)%~<*H1ZC16$9Hb0X`!cDPsmAE)S`{TV3M61gctJzX$?a8pYVZEE&KUod7(^B z_3^4QzvofKLw4G^x`&^Sv7e9fgBwPMdXiLtZVjeG+06M$6%U67HV9MHTO~SdD_HnJ z`S7S6+2E7ihzHnE2{vDCZnJub!Er10?MjR(V@ItBA?L!ZEDR?5ac(#iag*pEDva!# zYA1AFh|@vrK8zKn&?|DUx>cC#Nte*?j@+#V3Jwif%e{r?{moVvi)TWAoV6BZc~%Li z5QBSI*-6umM=8n(qil;@w46uNipYh)Y0PzbzlD>1d{-@F&rw|KAAX4Fu;^go-^ua* zWIx%o9}duEvu3m@>oezbH_^iS)9UA={pY9cN>?+d%-GE<0)q7p+AYjQhWBl?-;L-( z`*YN3I$@YSH;Oq8#29d4vw@;)ai6o2!Ta2P7_nr3RMqa_sl=c1FtVTiNh*Ns_vbR! zmqhu)a&vOtV%G*2fvzPKHN3*ryG#oAf6P(22$9r#+EMm0SiN`hnL~+s%(=a1I>2X$ zQ{|)ZXD+a93v}6jiZWS*EVx5a)|+YC0%Pm##QKp+^qAze=v*>Bi$hI`AIJR3xkB+g zZY0V})1AopjO2RG|G?;=<7clIdcv<~XAfkdway?n-)Qh&N0!?yKcII&=UqL*~ z8U?-w2B;%{(rYPdYZXudJZy{T^;rZRvW4{{o$RY4lbY(uSdIO$yBKTV5!BAuq!>rC z&uw44A5Uc_bLzCu-LAha|nHs6D(i9SPpCK)-nJWp=8kX+7jz4B~l1!Qw5+B&*cVULpI}`W#6k zS$;RnV{J2doaPJVEdVOE)dp>jZ9zMAK?}XnFP-v%3ic1-S4M!6#Ws9j=I^Wj5%z*V z^lcuq0~GrII;<+AivoBLth_?g%-K{&C(`tJV6Yo>*+D3b6jDEk9V#X$t7&_;p2Wrc zLUP{Z$o>nzZU9N!^`kxpBig%qBOjhxfOgU%YK(!bo#heE2NGb#!##F_MLV{HDQp0{ zcI*j3J{I9OWyGK};Q7J`n!Y;)EgYli9E^|Ab>x#QMV$p|IrSnVm(sKuDv%pyq(8); zlJgcm6+Yd44NTwFl4fucOxmQ8w)g;$qdp^LvX(TEUMkT@1Nr)|DemtgFX*0W7yc?G z!K%m1nt}XjHjjKx)Azw^V-CP#1n2Y9^usO8?z*ro(g!xX&~&j9McJU9$iw(VX@W(x zfr0SJSOiAIij)UY-39;<_-(EbBxnfYLqC*bZ?=V|(l zDC!7||2t?4vq+#LBI+D;eII(dJB`>{ZCq+JB-MJF|L81lWaSb@U*P!Z3z?84{X#oB4q_X_7J$#;sgZGlmepk>z(7_WCpIwM}InP#t+)JJolM_Gm&gqjAF3x_MszlS8 zZAViSp{Sjf%p^PNdvwY&I*7hQ_R4Gs8aiQ$>p#2O^WMsg*^#e5%pNEbUpiFai0^|9 z2V>7b4|vSzPj$QqU8~m5?*Kgg4*U=YUUxyONhGzCih4%mt9e8R9XUsIp-HVE*$Lbs zo17dJtP~&wU1Xy#@JWzj^cX+c;Wu$5uazn)s!p$H!+g+Bjw^YKn4h2Z;B_GV@|TL+^oLv3Ks7WDOKbqE zeEBz`zY{3;{Q1yJZJ=49?O>QrDEg~tFjFsbkW@rs#nlNkEfXWYuz)b@f^>I8@Wf3E z=CM1X?R!N|R6001L;wn2cRarn?``Ph>Abgj5Wn^jJmu7PFr)@W^icLf{?Uwmr$bq+ zxKGm~WY6k}yan*sL56lVPWj!O`)*}|4AEeK2cB{F=v@`zxL&6+0A_BNl+mdVLD~L2j!6$Ijw6wJ}Q8PzIJkkd|HuC#V;$E9&SGrFzSH1`85Qk0`rrd)o8edb z#ZBm;VQu@MGE@%zUv0h=4}p*CZOU&jdhDL9MAO*G8JX9<3A{Y;3t0!XG z0QYHy7`K;a{fH}L>;%7fvOnpn>%HJ;Z#fx6moCR>ADoO(kJTxp1p+efOe!)f!7O`!L~zL0LMKrn#SN) zXXsYO-=)VXDgyT_^j>y2mF$nI8J|Y6#SHSh{9M>8j}%?pPgo6!R9J17`@`xViL z+;RYl9fG1fKboc&&z>HbGLG=A`&Dw@rvJLjv~Rv4aj-=zk~) z6>)ok|MLK-yDnM(C64=<)0_O(S(d?;_{NxwV)UUe^kBhjisA#l-^3j#qB_e(ExHou zlokYTvZ3h<;F6QjN80qW?eN4|Xanz;Yl_u2DTuY)@S5I2R${Dj4|ayPG2)aB@fgQ#N+-cFTL zk{N9Fd7LuYR$RKVXiH{^kU4cUL^LrCwCOUhHFv+P=H@Y&10Z+Pm#3 zk-&S6D;@UXh!WMy9n(VU!Rfi}4nfdkPww%!@xi{@An{zF7OVi>F$Z{Afec>`JZQj3 zYD%?{9TqhQvmUh}^BkjPL%I-o7d@CehzL(jMYT4gcY750|AtL>vj@id{HNY*Kd4XF zye?(mJZQ_(KDBeWCv%%V+jAHd{X0Eo-niz0r9Hx4cWL@H6sGWJn*IPKEdyNm30*c3 zIMf5pFw_25;0XF>AxM|{|c6^B_91EcA?P?f>>KmSoeS-uITtpz+cR_G;p5<2C>am7UBgzo*SI;p7A4A zQcO-26-77MJF`x0$ZM}ObISVQU*;r&BFo~`rfWL%6znf5kJR+JYqq3ILDymJIlX}Nds zl``K4J`$`T`U7{n4$wI4#`x3RIy`w5#y z0%>{>>OlBY6G4En^Ip_3RwXWi%;>AG(=w!Kp62z#WFF-1oRh-HXze6kaXv7ig(_bH z+@((s@jN6tXcP65u~{0tWd4ddA66N^-$(Yi9N0)dS_rhLIW}UZ22}slI+CLa&Uj@{ zSFX!wBNemc>@U!pQk~*0ndI~Ay|!RB>F0Bna61_f3ZwE{e}aDwUkLo@=N(5OvrJ_v zauTVP7MpR7#jFjy$J*RL9x=wgg^CgaQrGbz@-{F%KZ*w^1}>jlM^V30=(+`SzX2&E z^d&ztw474ADbH-z*X3le~L$4=2;~Yzt_HdDY06 z;qBH3-%LZhpH8eRjD?ALdA zTeyTd{n?>18~*fOKC>pa7wzvq)5Dy*))RXM&F%3@;K<7RAAm>_>s==NhA6N zdeII%Yk(Ru3_PHIUGPat5J8u|8{|2Zr*aONN4y%6y`JchV*x!MJ(=f_?ptmnL%X(| zeUv^QIwRGsJ{%Qg$5D52X2!k!xm$tbUSzPU8{+DkKkLWMZi*5_|1f8DFGT;RY(gZW zn(;?%Z1p0Uz_@&_x{^e0UAP$eruG5$}1MSwC){f-VDk{|>c7i4Tt?RbpMQoO-VH?R6btFz_z8Aa@Cgm5nhu>H{ zJ`jLjTD`ne$~Ot^GCPiA{7axqMNv0?kPwp|g?Os~C#x(Snf|YXsXKptA42^yqboY_2df>PVW;nfv{*Adwr)lto2A` zZRS`GnRrAK8n2WG4N0{O$MfN`ha4KU0mS1=OTck25FXt(vAO zP4@YkPfk#np(~NdWb|r^m&{LXf5~1~CziFQUs!A9$?3B9tPKm~m@9>~cl23XYR=m4 z_=Q8e;e=Rp3M9%knDZuKV{uiq`9khn5D}u6gYawTN9SE;dB6ozrihsiT5zj;& z@Y)x5rxJlE05czkzOdZKmtvsI%?FWLJdvg-l0{mZqR9UFuD@A*=F$~TW_jZldX+M^ z#q7X7^rrvFpEb~Vvk(Dm_jfU8xzUG2f6OP!Qmz!dFfu`Z66$DE){kW7ghxa{ICyO~ z_;nXB!2~#WjH#bepl1pw%6}T`PkbWLK|%54{#-LIj3PQ{ObnTaNFDYSyC(A;fp+8U;?6}yT%3Sjp{h4Y1fqCO& zsNjADbJu)SbbT+5SzgRyo>y96%rZ3D_Om)ToeCzF$90@*DQf>znzl#HUHq-QTC@n>z243|jXAdTb!+#KU4BZJ*tVU)R7+ zeLmKSDY#m1olRL}IzHdE?T0?y%IUGCT$UkDCSFHBC8NH^_1%C?mc6Ja@Ov)khwZbW z+sXXgoXL4785^|uDjAo$rCDdcp`DJ85oaEoGtX!3lbQ88y>rgUB%&(l{pK_}7&T8% zzta+TAZ$0E)A&_f@|YIG+<4(;k)+?361@28MT7pl zj5`MoOZ)S^>m6lCp(m44Tf=9I}m4;KvDMf z0}HHBFP1^!3L);xE75nTD{GlE+$XlSwE^FRB;U0S0LMnHOC8k@ZKE7|kbf9DO&@A_ z=;OFgF1Ux`Jq{%&p!Y^56UB{!{(#RSh=XQmDFM4~-yvud{K+; zL|ZNcGnXzx4fL1ddvXYP3tdoXPSfj=e;r$y=TUv6LKjddH=}7WA2I%1=%7(W5~?Q! zXjBx59}o~!s1ciz;I%jqPhj0&;iCGug;L?a`LM*$qEl8 zG7mS|VDcm~4w&T80A(?&}maz-DLo-TymQ(ehk zS4*9>2UR%TahcOUj;sxE;&jkE))tIo?VBmA{mT447^n`J$cyWCk4J6(1MPc?d&ZEH za7N!UASd$4TFsb(@7u)5iQbbR2p?yx+IIFjn-{QlKc{OTR1oyIzR-sW;&fae*Ly!ne^e zM0f1dOdzvrE;@d%SRHhR%=$fuWd3g4o8H$N7-i`j1G$TDz=8{wc(6RY%Bzd4a9RtT z4B@;F3gG;SW9kO*2y*Pe0@V44W4#L24?kkX41&pg%lZf5M1P!_6r|4Bvj>7g7@HL0 zMrIp}JkG@Y9Dz*a^Q5qyLQzM$MUnFiT}-0Mxsz9N*!9v)`%F>wOw~a9liBvSTC|aj-toPv zow2*j-q|pAH~KeLj?>A?tc^siC4Coupk^>LqG@9(iZTjAZb88Xj0=M-;#Te)y=;5Rw_%T4!X{dI#%|jd`j!ty2&vnneuD`E{S~q*}J{ZT>IO=UWAH%qj zj_&zjy5Y!9SB!G!iU7saXPD=JuInxG@VUVCg%PTxt|zX=2e(0wjd!iz3BA-6=jy^f zA7t9kTg}>hpqm^x;3g7!xi-)ceys-E-B01~-xyt2R)FeRE8=NVI?(g@%UQqpuS|=) zfn1lmP-UD4G#GcM)$O7VD#t&y@(Bjutod~>B7ty%(GAZc(AUEGjblQg!9~wD#s=Z< zB*mJa`$AV1=W#md4QDZuGTUhS33R;DX6O+pd|8>_UrGsTzMuM@ob8n_UyeB51$}i@ zc((RsVBKYjzrG3QQS-GA_=Mt`rHgDlIT=N9OaL zb8qTEzw8Ikwb!ciM#`do4{Vy?k6wTAbuidLgQ9K*^|+g&Pg699n)IMvqgD=i7@UG$ z+c9Ks$jm)v3?&*NT3!AQJ~u-Cy+Z~GH$ewMuZxHer__*>*Z$6GBxf@}8EMyGY)Wyj zJaoy=<4*_pF<$%vCOwEmYcJ@Zt%sZ}Fs36#1!5)_ppy4@KRAdOuM+Ehw;sRy5*VZo z-E$ARV-@sh9vFQ+?%^u1eG_VebmaDyLFgdpEzv5PZu!f!*Vx)e;dk4`isd31-EG=GuG=cBe* zjGaDCj?5RSlKG%1{j+B=>vQ();wKSxCW=F3t}@J#Vr?0829F(-77%*us{gFh=|k-? z7PU#eG)+%}Cay}R>1mejT^X~n zI+P+%{ABTtWNK1sa_n62Go*AoD~r2EsrP@gXri3caerReWoFIX_}pYq5*99$Y09#?1_; zd9b#Svu}o2TX~kXzZsnbMbHYBSBQ#DBu*sGkF21TDBW{{FnhvS_$zcyh^$u|`-P9p z2QDyX|9&l33GY#3ts$oz?9y55Da+aj&Yvs}8S-wj_6hgg>>c;>uVfXH6Neioxly$l zM&6=++WeTJHUrO;6#q*Hxsdm?L{kF@f6q^3p1=IZ3-EtUTn(#(90}jtGGYEs+N$$} zW+1d^e3$#ec#J-{TCtMlzu8ip1x}xp;O>UAuBdax{(+mHg6EJODu``EUDgjzvOZYk zI;)44=Vp;;)_1){&fRuaK2P{JeWfGOWrbf2(c2S_52`LQ#ppg8G@3huYxe|e75}hy z4sgpmg>By1a1HHEcb^cO}uF-Z*7n0TX0=xalJk@H2uw#rpc{GT;1#woz zpV-7ruEZ8qAK8l<=1RZXT-?7f?tNwm+wRA>=(W$D|;l%UrZViOt;ULFT94MjQclh~S=Pm9ykh^)OZ!QlAF4yEg>q`!kK^4y;My4Ih;67v_2AE;4-}<~{*Z-o@Z`?hK2PT1 zmU=~z=Z8)^Bgp#XIPGwX^E0APV_vOb z?D`APVOCtW<#16R#5@_LX=h;H8gH6Dj5_x);?7)0RL^uS>qmSEW0kw&tBFp2eu2d0 z#o!1n#v0GxFkd=sAe-tu^T)o5Y8jyYXz;5WtWUe}j zcV=zkG2n+I^gDP~75d){9Ayf)%lS7~X z{XBUcMNI%|rUDh`sX`}0L#&#LxB>o~)YG&tc-U^%*I$c(qR}VvcVb+0f)oDgRU}L|N}s-~Q9KunVn5nDgEHluim6p^!Th#ckaa?&vmxWjuR^#-}CxwM5)Yh>y@*+ zfVxxJ_KSY7_CCf%*p{Xr74nW38QE_ihz z#yAg5z7&je6;>50IuqJY9eMu?3SNBtfG|_(P+NY)cMuhEPqc^ByV2f*ByNr_8urE* z`z;wag8F-&7TVXG)}@{=3M8{!J(pQkS(4%~H<}sQ_esjFOqJAga3=b?J`zlc==}=C zGFgMwLDMyv)o(OC1O519A8;-Ms>uxf(Ngnp;0ea%#FKj3l4&<~K8qA41Sup}sp7AA zHjIm6+8KRl<}`vvnPL^ZU=|yW*TcByFW386`$Z2U4yGA_Iu`B!j}96DcZmTtnxL>o zf1xO521e?0Jz=P^Ghc%D`B(5BO(G}G^3Fd>DrO0lCFBW*G~s>mfYGsxUCPZv?Wkm} zg%@jm+*zACjkR~U=S4N#b06l-I10?$jjQmAax0_4So^k}rbYLO?#n`k^5yXc+n5k$ z_thj%as&%_z_3C}LL$s{W^npvIrqG4doyeGKeN_TgSF?ku{L`rYfG$I`*A#LzxT4X zmO=7^&_Rgm9A_|rg`kBqdDBSnpB7;p6-%m3B-|7p?nO)g|z?6t}4-+eOOis%?)-)6S}dO+l3->}k0n&$1JY58832PdKz zPS~)2ZR6*=$nmjXysSLIBF7uYpfrq$@}ucx&E&h{}#qDdd%{Fx9`rqubjR0 zWHe*%=<0>i^th!%+RLXPHkErL=0LabC1Qm6+4d*gWbJ6E^^H!5r+o3wmSURakY@JkPO1%T^>&n=6mzlOVkoF2{zL1D7s`y59ss1~%LSX^)PS8fS zeLrqi*8eAPqZ|E#tW!Bf)BEqBo`w!EMYJE{&esknv*2@j z+u8IV7_9H9{MRBjaWk9bv4-`kO>2tOBM+kLI#|9c!cTo5Daf zUvQEN{M-wkF@(-KjM~*WANge?-ELvXv^VBY40+GcRV;AMH{9=sG^>JJ%)HZK+?`>*GwDWfWJGj=IRYIok4oKHL6f4wbKR z^Osi;H)9d6H&KmB^R>l+Iw>)umsJVOvn-d3GR(V18`P$H3ZEY15{GL@WM5hz4{zii zbSg)KtETq%MERjEmmA-9=q!*=R-xsO0~lefSgXxx@a@=Ft-YrZ3lmB^jF|TYZV7N~ zu!OaDxvKC1(MP|WZxd85T6vLq-c6;=xHQPv;NAK7cP1)s4@VL6piPKU_xxO!_s|vB z`k$OZg?~z9Qd0t&9#Da9~zX9aJ0Gske%v_MI89(Tkz!hs+7> zVDHDc7lFg5hDm+-YyR_0#y;Hshye~Nb^Jr}RKb7VbE1Q+L_Z(`ry%=YH7W?$Dub!0 zob#s8A@{o4Jr6@eT(zb*?oB~e1+3Ws-4=pe(|~sHKS$G=z)WvLde-VW&_N<2N04sx zyQAPW;7TR4mwNc0m`~^*9)Xg83Pz7mS?T3fjP==CMOK*}SFRx}v&x_Wc|03A)G|$N z8Z#H)Y8*d)BVzvd?`-aB(Ogp(%O{AXibL${)@fcV1kX0S4*AE;9!^~r5Jw+ZY z!u<_@I=EH|?F@QE70zVzkm8#Fd1S$$f4{|K=)c+?;1}-oGiotO^ku0Pa13hx1sH!E znE8<#_$6^<*$_0F*x!nKJ&0VPfZJMqL@x(v4HEV=6s0lt)PQON;o%g*Bo32nr5>Vp z&p|&xpBU><)J!wN6ueGLC$Y%MT!$xz zmsF)v+{zi|-3Z2R)MKp?#|&pU1US#>l&f4OKIf47dn;@I{9|nsqkK`xccOAkU5<8C z`JJrD`+~d^SNO2)^D~Te1OLVE3vum@yTICcoG#kHF{2K*qQ;8r2On*Xe)W1-yBwN$`3#y?%cdv|3HYiD%$vvRAl(RVeu}KmnSQQ-@cL>h zgRJs$vP&ehcKnL}qq*LprIqTW>#dx~ny^^40~)~ca)--Pkpj_BJMPScAbF)pcGe~{;;i`qO% z^>g^F8_})dk3ES#zIVtP`g+E{A!&70w%vJY|DxD-f4pX_sLPi`q6eS9CAw?^;=^+l z+pcRNYdyKDz!P<)6#9M39*WxWg{F5uM!(dve)x(J9rVSE#Ea>EH?q$`PKgtl1@GQs zKDL@!5mB@A!+Ww`OugbsBN>-J_m(ntX3p*11c~IY|7Gm_vosxS!L}P@%ULeF{DAYa zaWs7j*sO~F)<*4o2$-ywEHK81=wzv3zaLFt-;-hXX>UIPp+)rSF3p18c(>j@8!Bb+ zl}>sZ^k0AZ?s@TK1*BSjWCUY12SPd-yY{-@CW1u3{I~+P-8e2T;y84OLH~$7rRfON z)CgNTY9Xr=eV{PaMm^}ASwT@YkufG<@CUYzzLUYthDY42!KD2>7Ip`k38Hvuhk_J> zkKfh>vkl(VvC|HLouD^qC)i`a@6g;$V5|P$`asc4?)h;hSG8vSVr@3Q=kbF+BG2tA zR>YMu_T~;RH}K5-^LwpfmtB^?_4%~IB$<^AQI|t}pnv4+&HSMerfnO@bwv)&=;-OP z2Cq%w@BDrQoH50uv&S5&Y)VDfwXCa&x;mygLcLH$luB%MaYu zM&BJA8os(A6)|QxJZlrca=+iuh0Q=*ZS|puEy$;bT%0~h!Tn1Q*u6N%e15NTcQ0eF ztLC3%Y}oaigf;C93dr+jBb$e)xA-u2`F&%(b-*Nr*TY4(LH*v+`Kh=C8tx)6Vk2@a zrUcjsZRdmBQbvXC0mf6oXq~-;_yjgM!{0?<+cIbfQN+pjL(KKRsg-TU^$!($l#%?2 zJ5)xVYMjdXK%Vv-to}&mdo|yGg`O4x)>bwxh+c}=`u4?Nejb>sV#cQ(N)IWjB&lou zY-s=DQ8cXpm3(D77z)vvy$gB+=#h@vN=|{u0=lx6h1SnCaYvq zj#ZOt{LGPB@;-<*Z#`KUp=QxSbSkrs1@sK8?GD%?J^@+Nv(;~(tS6$+me`2yyN}g7Jli<^ zGxk68RII&=ikZ)r&o=1i2+`xZoc>Tu|1TZ%A1lJGRGAXVT6J!HlFm`qo_fpL2+rnY zv-S-)!}6DzH`Au+X6PgyQJU_8j^hE64xmDaA~W>V86!ouy?JW?cl-abqd7e|n_HKp z!RfDk+#3>>3atIlx~czEiZ?1ae>lI(1zG!p>(Ae0P0D@)_S0(oD-YgWf-zsRoYg-Y z7qE6u7Hf^k`zE|I0yO?R{bBRm<~d_C1`d$tN5!66PY|OyO*)D>h>>T#U#CA~z8~Hw zr^WK%IMmJBoDMRa&e}D|7o`<6J!=w_1?)7$&5kBk2OZ+}tMMNB@BA>GagscDxn{m| zfXqwnQfG8YPTy>KCvF~Ukedfu#99Gwn%={y*Ml6tsH3-)-U4e}DQd+sL<2@+3vyfv z`Foh#XVQbrD@|6sN#<9!t+yt-V%a^6Ci5)WA!g)#x*V;LEf>u~y1mwWDD&PCNaWX0S}V4WqZH|QS))UpSEaypf)`seBNB+tJ#xjK<`GIsK( z$#cLQp~GZ9pU?iAZy`q``|r)D`cJ!U8La)YgSFrD{^Q3HP6wH-X6>=#T)!~-5V~VE zl!B%y^dXdk0k=-cfjkf6yX-~$Fv+zc`YUn2O(bI9;MHeYRZI*`Y=gQb$&xX4FDl?1F;QGDE*0p3K9UYsjcM zlUd*6dyWx%eYbIC3lO~4WYe-w%sfbl`n(sYO-2UiDiwWZt~qHWpRAuBFQ2=Ov6Jsy zEMx3+potH+8qkZgo+7OE;8x$cK~czDK(&H6-Hkj@L!205T$GCEA2xXT1?t{hTj%(r zb}-zQwae3?Qabjl+=zOF_Ghoy8w0&Fux8`RQ1Zr%DxW`tyz~+eZ=wsA`JE->qK3GQ zsLmdn!8tmWf4xRX0`_ra-_?*16XnhLoj$K6>z_h`ZJqmSA zTQ8MIo&){)e33j)eQ-FMtc$sz=R^44X`wsO^QN-X^x)U*vc!3@ADLfV`YKW*{DS&F)oRy0VKe{aj2a}L5D>5;rlf--FO{iyW*Ek zH8g^d-yN??GUnkum1JJbg6Aulw_C6BjpX;N;_u{p>T;bF^PW9M@Z!oR0*H&+2A6nV zsPx*vf*c-<;qQt%vTmkaXW#}OVy^^TA}|_N7C43%%An90OkYh=1;Bbi>DFKU;5CsK zPYwPZ1cNPz=dC5r2d(28Oc=XCs+s85sY_bP+t)&wJ?d;f3=B;qN@Z~M4)P>(Xtw8L zc7$(|=TyT}tI0?YJ?JOvbi1O_KE}2-kHx|&8(73q1u%eTU77#T9mJba=Isu$Uh0&6 zM;K$ZlDdi7nPA@im2J0Y6KiRDOcHCCaL=K1{)0RmA|`jU_9gfEZwc-YOhq&EM_&JL z{qrAt?f0+|nBsuzy?(N)X8YDbGK(_h+W)OT1h{#o37q~|&OLYA&%Kvr$E~ah=bk%V z;pTnbc5?nO2;~UQD$k`k#;Fth!Q1b6rqWbmQ;iyGkaxoe)qYar_cK{ zzCV9-Wt?+g=N{MVb*=l6DaPbBocGz|aiIV_|8*A6d;J#=!aIE0Rx#O&d#(emm>lgQ z{cDY%TN2)jA}Oa#AgDdYc#mN{Ce08JVJ-Vlek=;&`z+@&%Ktm>I8>YjpUPj@A8^0m zw?!pMHg;}9tdHv2D7h5i(n<~=)ERBuDG<{dwnLdYpnd3+JDQ3IAP>aI$Q8|J$^7(7$%i(;Vt#zbvWck>o;H&Hr$by&Ks3*y6ZCy75+Alt`3Br$93r*&5^v8FnLnhR*YzRh)moo@dyS4SjUG z*b70wz@9+p*UmF@g1py*3RA=a!t` zC-Z)^AL28a=Nw>vybiWT`-;(SMN9Ve3=^F6vF=we-uAaIv2hz@F!_9tBq`B8^2@}= z^~IyKK6q625MI5w4cTTbG#@%&NnS0HD1{iM6U5t8c)TI&?JZ&t^;{2zOho&UkJ8&A zcDw=k5S!#&FY3_u8^!z^70}1WUwu~|PJY#Gb>Kk;IdI>Dh&z#Z0`C@$!26@ZUSTp6 z=cysM)iOjlt8awG5lt7Skv8)2mi=!LD*1YC>8d~;d=Zz_>m0;8e~WT=Cn7}I7!vG0 zkGAo~SNZkEDv$XB zsbXd0lI5T##G%YK)e$Qv_U%zrM612|a*ywS%g+U2@)q7jn+AS=FH<~JHC9>&0KO(r zSc6x2Fm4yZD1rT$tqVc8Nk!?`=a2A%`(SOa53;nvb~8IY5PnGR+~l!5LsmqJX&LGw z9{^cOeY84?Y)B#=AX|cdj?QPu{N6M;PIjLWtOZvI}WF1s>XpCU} zeuCkZ&X^ugv_!jT(OOoidLO4iyQci|ZSbedKJ^0AEcV!7q(DfQi_SRpVbbkj=xiY- za0Q)hQa|@aWLqea|1t^Q`uFQSh_g~1dXVuM&TpLI$2^jBW%>+pJdM-s5VvAe`-BxZ z5IXh}fa!mp(u0bPPszc6^Pi?}lOidER<0MY4Nitc-->j<8h8A++!X@Jb>&lk+@E(1HSYB=0SxN z%P{Z3tn;A9_N+yiU2e0@kN?K~Cu#9~ln`$5^zcezXPkG0<8hg*c-*Q8ALpGVCI?7y z9E1qV==73}A^t<^B*67J*}D#1Zf4n=MkFZ^_J4U0MH41D@Xi#aKuqq$^Mp>g=NE+6 zQJ=-{HTq|n%5c8)4(DZk_&r0z3z!^(t~67e?I~Zzc#tUiPAM0YT2C-(glpxF_h!zQujfC5J}t75;)q{}p!v~Y#Pl#A-RF#Uqe&p9$3eUS2%P*x|Dgs=gTYD4gFJ3X0=IuTYHAr#8j}cn3^|}v2kZ}G5Kfv zKRrzF`i5P&f2)i92R3Bu)X?e+qcbmrkZ}t?kw_|rGbqLNh{NXv>ZQ$_yvK<|`rVPH zCU7PTShm5viXCI((BHPC!71_YbAOw}WIG)u-=F@chXu|%%<=jhYhC;_km3u7zbd0$ zrZ7h&3M1C8--hK2jc;Rm_(qbX>v;>v{-*5KjRJ0CBtB1)Gi1!-zcmn^PEyc)K8*98 z5KLA_!U-6vNQaZS1D!ft4?BE!JMv-D1;0hh&;zX#+7}AQDyjWO`vl>N0d!}`XPQG^ zE}&7>j>Jcb6a_NAp!aRNN?u&|mOz+8NL`7}#)ceC={?|~oa9+>GYF5*^?u+%tC!$r zGhu%0zID?718~0VmxoC&yb91A_d4_uhKZwnDUU`__y2Mn{c9q$S%j?Z{&4E-+(LvL z=P7U9*n?~%@|4e#?kRYN(2c}1Y6O{%S;2`HC*1-~B&rsAE|H}A7I$8dXdj-#yGIgn zD{%&|YYWG_OAbKX?B_j8Qndh~%3qxU;m}4n`fC=Vgwz3K%eI$^`R+GHnA9v)?})7P z3mVx&)@awwSSqJ)LnuMKq&|w>V7FaIU6odDyhB=f%+|RhOG-Q9Kx_M))Z=ycKApH(|Q~)>)4B%t1_#$OZBT+{h}#?yxAMLhqH(n#D?muqt-{rv*y% zH&Nf0muL|WIz~q%(jg!IU@dmmJV?C>2oc>8{~+Imco3l1Ed6)joiDb$ggUZo6^}@~ znJd7)0{HT-r{%C;MAPoWJ|R!NQ-T~8{Hj}#tAP(is-w*Gq;yeug0)5OR zj{hsS$)vEI#J`EjZFn5Yrw5bqgP6RHM?#k8h-RftD4nsC0>JBrD9 zq$l}%JYV++|rpwG=O-- z0}oB;SMFFA2AeS(%^LVW$49#^;~(yC!}Bg$Xjjpqc@RS^oYbW$f^bbD73YbM5&uAX z=qBO(kQK*$;2#E-zVI9`$5|)v1#YM4&5`7@lQM7*(?|;!&I9QJH#M9F(w&zOdpL-jDKvqiRs~efh4Wt%^@xoGpGskR8k@a zQO6ES2KfEbacaWqL2SG({N|2EJTCNF=fC(EUZrM;_u-h}r*R9~zuahEWYEt=3Xndr zhz}uOR1n!S%|g;^Ma~*R9?HH|S(GHNr?5KBAg}xh8lx))c}fV?z9Rm&@)%hQ5g4!h zDLhez@a7)$@6*&4!hFzk5Q#Q;Uz7#j6<~pT2NrlMo4`ZvCY3|rE?VE(hYg{kl_kLNZ*C#CTxN98Ulfog+yy@WCL+2X?qLcWio;0Z$YAc9*@VvPUGW- zzJ_ErRv8;Ez1>Vpv03nI=dgm6c2lt{ddZ|X>!=FvDeAu1*j5dSnA1dh4jTucu?aVjn{#7&N{7(ztJzcCaLD@gDm*!`oD!@wj0@m^8eIZPT; zVbTPA!cC?xkS!R<`~>mIN|S2vW8&KHLf4P$i@V@=YWCcNpEES(cVXkF)zg9nyrHE8 zJLkqP8}R=x-3WtmFG=S?1oE6>8)VGSD3pz;Qgjaux5>y3L5mYCJ;TiSw8#5@#U%_qY^UzE{y-m=DcID^MTBQuH7G zLz#j}E*uF}@XXatyo1>eM*vU!@5AuUqI3ATSpt|W!RyN3;B{Qz@f&%^@l3+>Nw9GU zHyDl(iF{~w`Op~>j3y8S@%m^I-jbvO!cRW*DYt52TJ96YeGvFwuihaE<3YQjF80bb zZTR{97AdH{Z)MGGEZ8XPm{!>nT{||4~Nip(oh<6}VWRF4PA$!4(_K*m& zg~CBd4=(~ix&-|moojVG=4fY)^AF(KT6bKaKE)}<44&(mm7?KEk`+-RpwBlYR(Rdy z9K9pXgYp-GvGJ#;{^_BCNAr{r5>O-l#)CBEMZTv1+GPR}NDs76#Lzs6p}$kA#KyPg z!}%C|PVF3bC6YYQX>3oDdEXR3uf}dZ&|_4N9*ak9GaRx@zFJ zV=183qC`FmF6{=iCnvd( z^>f6=Erot9a@#bx*`E5{HHd@IY#|cObMaGv_i35nQDDPDP$${5Q31N`V&bYq@y`cL-YL>o%fr__ZmM-AY2ZEeUWk!Zc<~o;0L^r z<-9Mf2`j=|7eo9M;#p@Kyk5!-?~c#~?`Ua79PCNM3+z;9q4^X>NE=o{Am|__c^Gjn zXY~IANZX512sO?lkM|`yLx>$rpcCm34WFArANVnss@^#8vF5E%KgLUX$`D?)7;zty zfiTjhoE>;ey?whxNU}at1>%}1(!zjyHXF$2tROuF6R~IX8#9C{j>t;xAaS%jsz7~Y z=c@6$B}7Nj-b9&By7r_lbOLTl`bEcOzSScF$AJOpd`qa!_!Bx{$?Lig-7#Q^Xp zJRjSj86@X0FfocDeJ?Sj&x7fpi&lg!3GpG3ZD~|R1cISTFc%p*YbNX^a6`dv^FBb1 zt@2Ay*&$tn=^^TfOC{{w)zr3^j2-GW!-8%xP zM(FU}jp^Yk#1559E}yg^YiL*H1GDZBn+Ye;p0NcOj@|MK;G>=fHoh{Re^G+F*=AeY zAg|LU)(Y!$ujr8|Nk+tG!#wO=PXl%({U+5K8#lEaljlD&LF6^@l^jG`6EsYLAslxL zgk5mrNd_?dP~%!)5D{P3AYbI)gpF^BKa1M*8%cJregigF^RW%$UI|rC;QlYinR1A` ztGJZ|YoLxMJ-?XrRd$8(G)dk+r2r9{d%t!;N5b7fC)nAAzJY*W1?SUAoq2?`V^x61 z={q+eGkZM|=Vcj~40Q#+ZWxP7q?Uh#_4ands)}_co4{Y-5N^ivlJ67=PzUr;AL~#0 z#H$4}_34xY@ShKUM_?x3w_buc%m=wL;0JHNzVHOO_80E!tH*iAJ$%1rKrZ6W^3ZnD zcfr)1kOwqo`U?9+Xs|0B8^1prlhY1-z)&}aRdM{^heyCYUScu|ua~}scd(Y@mbxA9 z;Fy5C*=iv+{+B*XHbSp#RLnTc=AM1OAucJE@&{NSb>h-RYD#l{Kze!^=w@5;ydM-^U&(~k3xKR9nf_B|2tJcu1QxX!_BE1g&bzRsxlA0EVr zdtajX_d0m}vjxtxJPH3(9>e>@&f}4TEL_iGT%Tun1pSK&CP(r7-W>D>iy`|>%a1-a zI;ZS5L?S1$SDc71@RFXRa0THlved$yq+2)9S%Y{AOOx(Pz}tQ!;NBK0I&cq-ueuK8 zXHw3}!d#aIi9q#t>vcwmfAp_V0WVl^rl?r=2E3V=gD1LCA-*DqYs*8rx9~2~2YKe~ zYZ&fxA#N>*&NDw6j|t7XBHRZ^Q@joOvIU(DfnQmF(gIs>pkOQTvYZ$RsDFMYzzKEC zUpJ^BJ~in{$%xr3^1Nxdk(}D#H}DU-vxpbs_x4B&A@=$hVIaa^b_Rs!Xm&aFqIp56 z&C`we*;6zFcz#YFd?KL~1MtzTpX)%}=TwR+JXa!bN*wBUKZB}odSvwv<{b%KF9~=M0SqTok$d7LhCey>7fC8 zUhpoqPL{?pP=_9OgBNVnV|zl$9O4}xkjFZL{Q5tL*Y}uU{NqzK;I7dl=#L`w-9b?C#TVRAZx)fOC+)(3}b_*=25r^fbCJJ;-FqfDBzNS=3W!c z2l_;<=#&>C=I{!gnI_~#*P>M(M04;Eo%v1V5#-^#ED4@qLr6La^Fxl#j0xVAYJiWg zdli!!qPRYIo=OPtWCOh)J@Ny-Asa4>{Hh9sU8ZQp@}H1yHAcJy*-}!M(sjhTtA~;G zM?Tf>2L!^IeMk?4x;_!G4ny`(H%`@O1w4($7V#fEFKC5#A(-K(&j8PsD}uG?EaL?G zUR8yi>I~#l@*##4f_9Pm8T9_hR$2C;xk1<(fpEn65t;+EHv15(>_qm}gmi-o89H&` zC(xKFKu-hhCD}ESr1vEfL-0DBqieWzg07B{ZcFf<-%nt1#4>hicMjkx~cF!)!6h54LY$ zy#c)R52s%PYs5uK?nj89KK$GSaoos@4}lL^=oQ0$ zk+@rAf{kBffXTvaR;aYUZKnuKF~>*`PFUuu12B~vE4~n4xY$w%5rlJpN+Dj8+`A0? z@vJ>Iey}m_D}(KOn*1HcJCE~1$KhA7FO?l%z<#Bne0~EPzd?%v@=eVdvM?X5EV{tp zn}0jONozWL7~(>W9%msF+hl`10jVak8hB&P%W0@+sK7em30e3)jfWU~rqD0wi#tHy z0r4rFtWU5`Ts&W{VdM7*V{(K|6e47EwR%v;viimeJR2g>8$7Pf*NIr&&TuyHvCU7V z5D!`LXoj7&@NF0(o)e*#GhG^|I3E#1sB}^Lhgh0n+x5S zf_n><5)^=6m`}^Y^Ati4N~F01!S!@De3(O{J@@nZs!4s-cJl?v7)%Y zPuq_4K)i&Z64QqT*$?I_^gZIuygy0r$F?L6JVdNR32wtO^-u#_5H&3WJm|ItKk%f6 zQ`GQ0w80f>nq`E8>s0hfzk!P~&wPZNqnM>0LEeMx0Ffy53maby?~fM2Z-t^o_MHLo zFGjRq8RZZkLiUXX;xEjm{ICvEHloN^<+gH;#5hHqKGWnX+N<}`i5pNudZ7K#iLkIA zegA<}pNm$!0d9(*Z7leVz2Eg^+X`~3e92$^7Cqt*0sovmLi+_16jsQwCeN7GF*p^+w7Pd!2*mYY#<{&D$t(&J@N>hhHNYRYxGs`QlCsa3@p@d+7yCK1 zr>#^N>CsBDHMxR^&K7b5_z2tGw@}f+;Jo1UZ`}VYH+J0umassZ53Hg2LNc(I0{tME zmt$Y;A**B=YyjT9{7q$ua!`C%!s}ARMQI>{#h0%D_$$!u3ZH~KJP8n!f9g4`B}eEa zR9G`|VdInIH}MhR?$$p+rEp%lpO*tVmi56h5n?5uaf{uLE}Q z`bP~^*Iud2fw-k-ej+?|O0(o7@J9MK$8r8~1jj$G3(SBI_KT8$J5~aQ@XFmh0bmhL z`oe(eZC`!@>#^fzGrW^Fj{8cNab5;_s>Wx{Fy94w^}qv!15D_LxGe1Gk?5U}7n zdjA!iutACrn4jK5tAP8hF_<1XP_J~@dI;Epj_VH(SO>3O8*KbpAxsj9GWdNwJMcOh zI~<8T@f*vI;y25j#VZ7FVmHgy{JYPn5+aNn9W7w7SC_l-dZA?_lKcdBwiy4MfNY*9 z?F@Jw1az9no2em7B9Vaoy%rvaGW+N8;e5su*YhauiJcL}u2n8tDk?)JnD;451G-&o|pg*0Wff??>WxK%! zd`6VOtB!E*fT1cKsb}Gp6JP|HV8jkC;NaJN1)z5Bfg|^0!2f6_sFm-@qC2;Qbe&_Q z`!s~i!}pNA58?Ud+jQz6Dc6@uO$p(+D(*D>cXL*0u| z6ju+z?s0unTEs87@|Kg|g)m?f$xZY<>3%e*^QEh20H2Vzi37bqZK!S? zEjs(0rOx`89;XBZfdAz6aXlc(7l#?G*82&BU$qP!W60-Q>St>I3iYNOOfMFI7xopL z{fBd+cr`pP&dXRTF-Z}G^gz6f0-aWhH^5Il=-_#3+;WVk&@P(LdP|P>7zMvQ`q>(? zooC#sXoryX%~Pbf_zn4(HOOwX&?4MNm{^Cb;ykje70{POm7BtgjUOrbPY-!KJ1dS? z+Y8}UXl!_u91WhILB513In?0sAkOm#y{A$cI@Om*wIBq-8^kC4kpJ=s+0I0CJ_{L0 zwX_DNXMjN`#(KQ@hU|V{2rsNP(?8}FAuz^qel?@`=?*&A)AsjLpl5JG4UAg+Wsp&VNEI>gDv&?)FgYr|WKjmvfeldS)>E-rYq z+zG7apFs;ihtE3=A>Uu|MG<((l~fUkbp9%z}uJDC!>qKTFe)d^dlUA_mo$ZfN>LMt)R|=tSAP)C8u~4 zi~Z#{=(i1UZ@UV`A?T=wOjt=Ow};&nM&+$bTg zA|=BKc+NYm15AdS+yUN!Z6Brwr|KiX6ZY3Fu(BN3&3gof`i` zO1h8+IOC!b1GB2?6b3)1kq!KcjlVyi02a?yf(7I*Wd(?s=^fq;IHOtM34f>jB@$kt z5?TuNAj;y6u#!q`xQ~i={BT3B#Pj=&P`{QfQ43iJzlgh#McF2o1#w&U!5cXLxN@2t znDO~hM#wBD9+3uK8fl;cb*&-Stl;+n+d^T7`7d0C74=nta09{V{YTK(_YF3_RW}}& z0)AE${Ry&Wks{b_gJw(B5C;*nt~`m2UqOeBUIKLM*$l79#LfuC4OGoPXQw0EY7CpcAai*!P3ragDx-hm$m7ax;b``=6IUp0M{(Jye=^ z9sUTG;cNOF@P-C)Opi2pvWV~fL0~IdLp`vpTyDSaW8+VUP{E9BI!MFc6N$!n9ke}O zw+$~qG6a9VS0dKGMU@KA|JtZ5fXv#4OC`+X>gHR>pDhb_g2h};nT3368}!f^6-|Q0 z7Pg-SI|)oAh6--=myE{VU)vLt=6Kx4x%7YP5sZ7}@z|3WLa@NvX3#CTF=OL$G1N0{ z?5PF|x%#jfPUx~^C(P?|#1wea1Z9FNA(`-$Fhs^qW<+*`EQ_p#Y>8Zod>?rX`9ty^ z3OWjHiUSlW6t5_zCB^K@c#R&;0R?$dSA)6i?u`_Nybe?dRVAi!Y8aGc=|!xu&} zMioYP#tV!!j3Z23OvX$hOu0<&nbw%)n4OptnJbxpv#_!lumrMXvNW?Su}ZPpvc|HO zvG%etvgxw|p65Ipyn4JRc&m9A`L^(d@jd37;aBDl;=j*7 zCLk+tNZ^jZprE**mtd~oPa#1eSD_4{PGN3gd*Kw}b`draE0N10??o9z%|(+%--=O- z?G#H8do4~TZX_Np{#<-rLQmqPM2*C*LX$NaR)!x+EsdG{1%U1raUR&>Noz~UXjnZw@ zW74zJ%hDUzCciCo+cSMKeKY;5`ke-%27U%*21|y9hDnAWjd+YajEan=x9e<=+1|W^ zb%*ng{2hOc)s0UYzcFDju`|gr8QQ75^Z3peyJ&aW?8@9Vuv>9=#O~*&G^W<38Kwhf zie?dJ&&_GgZOpUG2lpuLIlkxBUi!Uudvo@VSg2W?vS_qqwsf+*Z8>43Wff!9YRzTs zVO?xJZ)0F{&Zd2z(7r?a%J;3??zX*V+hZqf7h+duPi=2wpKU+vpyqJOp~;cW(be&; zt%E8Vd0-8uBfPsuOD?}^{)VS~eQhu``$_*?m>_;&^f26zS(28;$O z1%?Dx1+D}c1jPk49icyBbtL7;_oD(wJ&qP09Sv3t4i2sgUJ20;i4AECr4O|Xy&n24 zOd!l7tRQS8TroU2yfSqcS`X^#f zG@YbBX?Zf`DDG2^kyv7xb5vCDCKaZz!v;wj^I$DfaXpTLr^FX3iF=UIWX`_JZ`9Y~Z;^h>;- zIF+QD6qZz#w0utY+?jJPlF5@zk`t3#&NH01IDh4Q`vuMm4j0ld{J1E1(c@zN#eqvw zmkwPjzBGPW>GF}wk1o$$*>dIBmFg=iSM{!*x%&JX;o6RC@z)x!Q(rf|o_zgX3S){z z%9WH)$Q84_apT6 zuJUaaLzQ*ajjFCE!cV-P6g?S#s`@nIY0cBk>K)Zd)onGbHTE@`HNT!oJo9^2`fRpV ztM*jw%Q~t$v%1T5U+Q`5-Rtw~ho37v4}M~FPUE2zRY|%@JjJj#H;78 zsb5>YPJiA1M*dCMo4N+72Fr%DhQ3C*#?Z#vCdwv@rqrfiZ)M+xynWV8(QMJ2+Wf0U zwk4$HSu16$MQdv7uXnQVLf_T4QMOsMrM30FmwO-jzU~9n2g?s>ANoJae+>Ir_lf$G z)u;4N{h#GOhkvebr*5}uPjB!4qVOgBOMM4*hgC;uaui;7D&u@?BwFbw8+nSpG==(cdlK9oAjfL)By1lh)JME8iQ|TlbUdr{&MI zpMAgNeue(3?W5|m>`UwG>zC^f?XUe!`P<@m>hHb*xq;Au+Cj=ei^0^vo*~{L%b|p! zXG7D&Qp2vp*M{E?Z;WV+93IIX`8vulx_$KcXzA#{AKpKfe-i#Y`!h2pJ?1uSop&@` zU$n>5MI`Ah z*V_|_30u0my7MBEFRPRb(C@*>@}d1KNnss9VKH8*y|@1EXQ%u98T|`^*R^S9zH`1o z_#-^w_>w|~f{ucm0!e3krAG21rDN-CV$1*3JgYY>pQ-7rtajQt`G_Bb+r-+0ZbS~0 zB^&7L>Qk0lmsOXI{e51_ViHg;Ro-1^Ta#3;Unhp(uRCnWYP^C5S;~XieRAz{!SSBs z5Ml2sKhKEQieEU*x!T9c?wj0)erIa86XL1-YyHl;uCFzAJf87qXdHbkSf~8MGaZGG zGQYNS*K=5GA1x29 zUG^&@?Rx2l4F+-X@F3I=U^wF4SJQtgFVueNe^UHl@>Z_g)J;jn==Fy`3ii5&YBS0b z7U#)fKf{VuLVCg4{G$Om28zHi!HCqzOd2QZ0%~!(n5Qtd*1!)}-#c}}75n(&vg2Yn z3VtX2zV$mIPbn`iFCdTNH^D~1`fR{@;L8BEPpUt^-@Dhnced9ok?;b^fl$6`hE&~( zYUdBW6D%HK9ibF48gUx2r{<@|l~9zJlu(nJrY3Zwi)3_Db@g-~ec;n(){EDc z{^PCe^1)1Q(L~mwMN3}63ZWFOgrp1P<2Mni{o;tVm$F})AQp8M+7x@4?Ny1T*Vddp zJ)n{rl%l)8gL1K%acmX!-7_)cF|%4UT%>Q@^K0~r_0u|`t1SdkESBCYE+IMR-3#CoLRQNyEVK!mz?7huR$~VSq4Km2Oqp zX2vFAuq+ie*HPJHiR_X^KfX#o)R>#MerNO9@(Bnt7dJRIBGg~Gi>XH>|?I)QB<=zcwYOnvm?lf;KNBYbZ~k31jCkCgsO`8D?op{yHo z&f4I)KCOL~>#Z!n>O!7>U+jMLLw>5Phq2_C2YnClbp6jAS<)U~$b6A}&;I6h$?FoJ z>5BybQO!sF&RxrgJ?t#XKbYgCHoe}E3`y=4Yvw)2(Ky8jB|n8tr7I~mh$Si9gv(Fs zLFO0f)PPC?Er~l>hoL}9>p06>Ce!a?kD*l9`#R@Ztz4mKq-+*`@py=~Mf^hUi_=51 z9}e$7zSntUQ{wJyx?gN)nelERwSKOC^87ERXARydz+unvog;zseWsqw9<26!UnNI3 zM{D()t zcvx=;aX*ji}wDw?saGOx;%4GB zk94s@5v6{jKA+5}KQ-z1DfhfiL4mK9a#3P&j2^J;bBTKyx4)8)?QzNStlUBAT=g8# ztI>;o&u>p}*J^Jbt_}d65f3O@>2C_`T2wZl_!(g$u!$YT{$=_WCe6bEvV`vQp&@bh zM<$H?VnkP-Ybpq&E<^5dhZ6)N^G?A`3z?4s<)x&67J$`nels}+J3VG9dS66_c3 zsGzY*v>IQ-u90;gcQb2-1_*KE$@fKR}GWRzrNC_$G0=`QIaMUW@0I|Ji_6gmxAARglr?+yk33?2&x!Z=BOS3_6x4ZRKa zEk5oQzTqBy_c347@(=@#1Mdd92IP5Hc?kwW2CZctCB}cvO3rhe;z|%{npa=3VJ5dw-A7 zu=l3{EFv$&CRQ&`Hfxfqui35uN*M=?)S{#@nC<2PDRRana8O#lXS9t7ivG0oXciJ zE6}UoR?SxxS81qsse3qgIr=!k>gI9I$*YMT$vpr4DSgBI%8b2*+v;Wfn`7-Hohd~z zD&NBg9&8?3>r)%xUamfb!SV+;IVj;*PV=gE7f+XH-ho=UnoIwFzh=K=|7{+R`$N2X z`g&2iGq(gut#j4{T1 zbAxl!jIAQxW(tT5K+}ylFP!iSL2VQey_gE|ZoT+v?idR)@c=RW-~RvHff7@!H6?3fg|dr=wy(b*68+aK@qE zs6%oL-#~F!Zcm;6pj4*RwG?04;rhU}%{9@L_we2!=5UC>fScdfx=UJ|Ud!tFUC_8C zh&0y9Ne-WuEE5BXf&9_eB2a);09k+|>8##DBy#J~DPnfMop_ zm8}o!*=h2{P(NtFlT^-=V$dTbFW&qlV?p$8$dy*;Ls;@(yy~;8!7H!P>zG52YEW z9&0kVGO^HKNqu``>96pR!(xC)QBEq{-qefs0BodY*Z`v{^0f z^bF@yeW*&Onj8-KkRM*^~v-N_oenNZrw#T!I82k@VotQxZrOT*Z;`;EcHIP z)n3k7b!cxcYttK;e$29gf1Y-NdKe0m6+n$+5Yza#eNM_W`>nyqNHb?uIt^!MwpX`fz&jY zI1p!-^(o8K+|gVaVA5)Hb@%(wL|qi9XQ33)V*Ja*t#R3xE!$1`v)t!#<}_(rF#m!t zESUj+Hhl=?Ughz4ttPPB*aJfzm=CwWyK=hByXqpz)Hu{BlW5t#CpDpAq^rwtvIweg zEHaR{W<|!&O)u)d9A*Rlc!w4mm|3D&g{x;#B65ai;#k};A_?x3F7G>14O|2@JRp~cZ@QTa*zgtUwMmt z(f)F<9dY0{t4Pcyt)0Xee?Kv4VsCSp0>}K#{HFy}@3%C;L*>Z*Ow|lu z!78C*K}HFG`p-a8#=$~fL*23UvET8NW2!A>`cC=XMJd zM=q+Hs_U!wsXtOrACMZz9>^PD=e6W@oe$sOO?t1CT4~@M$*mt^=F=$phee9 ztlz-Bu8_9w@TiEWLX8Fu_>f7unSy2xr(o*+#gaQ_auV4;jzZsm8_awYRg#$z3!(RY zK8C4oysN~8^u<@!~_Rov_##LolzrW;MS38H6Wl+V}ql-(!X-nbQc z+;dyn*x#aF^;lI~x#-nEw!}*(HAVZUDhF-d*CIzgE_+tS2$Dk61Ly#rtqQFM5JsXD zafKLj-gDRbPV+Tukob6=y81~o$IKfAZfg!&z7zcvjTyc3=%ebeXq60=^w)KN3hcwT zzop#7qUWDbNW8vMfoND3bUqE|S0(Rz(dWqRQP}da@Z;s!gRv)L0yf(=`!*gnSG}&W zQE@Ks%rBu0{vOBJ3+&eV{L}BWMB4tRVzgjhbAx@oIPC{|MF#nLOQA^a|>vfZ5Bo4Z;fy&`9hza5B6In^7TN%u79H0Xz<)2fW;tK+KYYJ#gT zt9h%%y#~LyZWHHt5TcfQ6lQ*A{)?uIg0dPd_AOH`8S^r=PeCRl;v-s9B+D1p%b{+t zMYp;Y(GFL3?%Z4@(RuD#6KAdYC4~HE<<4mO?l0Z7-ICqxuXbM*Xry^p9)6iMs`qr9 zo-)HUEulAO4_XLqhl)Dv;}rQ8Lkfe$A)cYIP1{ZGO(3rKkbGVTk?f5IgpC)QWK{S# z^||i28d*!)<$)5dCtdlh5A4i7w|us8jJG`YgfFxn1qe9rxE#0~{{)xX&^t}rBAw7y zq!DOWTjxrVd|hs})gP-Cn!oXxI;G?FRY{&1$NuyHdW&SCWYKA}(rHuw1?vU5#oYym z1zdw&6BXKE9_9$kC5sHLQoh;lI-NJfXiN%F`)l0xi6t15&;VVhZpY&yXW2K zwM?I+mpzux0xN=^lW8$SJi}Ig9%Pru%R`?--Jx*GNG3`t(><*%^fs&q2KeOvZ{us$ zfB1iEfl=?6-etX`3Yv;eVNsP8a??GqpBM$VHMfxk@ygw2qhm{DW6w5`vyumXC;yHQ z)(eggH3_y0j#08#>QsbCymH$gspwz(zDCz098INIq^zV^o3#vB@yyxpoajZWFxd6DNaUm35c0nHmpMmm&e9zng%uu3?F~2GfiwrbE_exwbhh3 z4NM=D0X08slB@Xo%VU)Wqn6T5KugV%$&RVUaY~t+nP)PY0y29PELbptS;^v&9>gS1;`w@BZ_ zgKq_|1iOGa&>5}A8>Q`w=htEUiHNvZ@e(ieb+wx1;;K^@JLd%_Hz(|naS7oIBLCh_v|Qt(a} zITu9~iDk_IxP8@pc8{v7({kn-F0>zsV*PouMrAz%^oh=e-gYi(F0f2BGhH(iSy+q3 zW&D;d(gnT+ghM|ct*%BMCVL35TZpx+`fU)3Rz>kn>C?Vt1*m7u4JY|^?iuLf=_n#cIwIY(-oySAjgxJ&>j8l=)J4a+$GOeyI%%nI3@Ht(hTSc z<0sAG_MohKaAgY(pfV};Y7<3`$c2I**;8gP`UoC5eU*4EWG}HT`0QE+_T2Jl`o)v% zU!y;_J`8?X8X3sG`ds9)Zzb<&CMH!T?&l6H49t0qiHxGG zkDj$iTzopY+@4@f0v5rXufD(dQF16b`A+#w1>&{}wzbIfmohEl<5I$s146}OPU8N~Vga?@wczNtT!1>y!;uAi z1DPl5*5;<+ob>AE#v&VQ7UUhC>Lw4tr)H;t#_?FtYxW% zes1}6IqOHbn7KE54;3;OG8;0jwB9`#<KWx^7p?Vgr%ZCv@g4~y%Rv13J`BPeENk<2 z(s%b(n$#R+qx(G}C6-r;w(NA$Q}WJSGXieb?ttZ@4cCpGb>`LdHLeF^6z=4aVZGr+ zkvkEfeh|K4!|?hQdMp2`|8jl5sQO zq*laR_l%ZuJ=$7xeR!Rpwp7=3;_wTBLDo=4ve~EkE<_<9kLopxF0gtMMEERB3b^SS z82U{vMuD~ESq6iLK($nfWV5j4{)`gG9(iB9iI!0oz-{x(MAY_JN?iqFO^n)Sxad_H zr*Eco76cDz3*L=H^Ita0_$Lyd_jrZVo-!(l^XZt4QRau*W(>a{Y>dmyiU$|Jt`kAK zLnjY*zu5(Qfp-t5=q4BZKbmS|kD!>K`8*>ko&I59L;$2j=9eWbPa_c%&!?4FB1b6Q;%l>r|wsS#adon)LLze8-46O=@+ zoSEkVu7J zUtWJS)?4l8tGwwCbeM#gjx!=M228W+rkiOI+Zd*kv?KGQS&9F=e&Qd;z_&k3 z!fI|T{$qY;tLz*tb=Utp)5Av(DINh?+;bwhetK7F>s~9gt&ADsMjsi*?8mr;dxgSM z8I9~8c!o8s`%d6b>WnDrDS{7GP4%gcTvws8l6CP6#$+#U4F)XKS6 zOpFxIahYzZ)oDVhQ>oe+PgAYn1u3MawG|km{bTLoz(31E z5%Rw@%C-NPpNIF7dX~~dQ6HafwfoS}1hF;Pe#jMc6;z7y8*?(}r3`aZNKlpN{3W=R z^O)%at#(j1N5t{JSS@P z^8o)vPxS3t76^{8?@98PaYKbJ9nbj7LJ?eO*w{@0$)mv_a~K-T1X*E&FP+uM!ys^r z^A1MlGih8DZhkN3Fn|QSTFb3tB>}Vi&OKR=rl}y4Pe3x*Oc?em7jX6q2{{O3tOi|APW;=kz^Pd&fWEnS1c;MVS7V{j6^k;$ ziWvYhsR$(Yf`JzYF#&69q^s~UQ(~T$xpyBu@HAKph8Y_G9B&|@r=AuhV%^n2gaC0l z(jdSgS%9=)P)eF)Bod-p&rB>xnV^N0^c@p0{tSSU+{O~j-8;cC_@%X0QUYrRwj=p+ zTMr05PDHovvIFr%EkwX6YzJm=H7E}9iQ+QN5q7cHOELGj%;h`A`fvHZg8-F3}+#2BBWRT6hMyQKtz== z!23Mh0I+kS<4S0=n4M){h5W+{K-Zpv&ank&&H217t4hi6<9M*?IK%W6A?6&sfr9Rd zgRgdQ=9obLW^U**4h-!E9$YmenPE-hrLF$NO{74}cp(DcQ+Kfjm-NI5Tv{J9z+gRO z0CbGG-})nq7SuG!@tC2&j5OhaHPO5}+S6*lnx!MphY9=v!-yqx4x;%4zF}+*k4Pwu)fL&Ip1zUE*(gRI!mp&;99Q^%D`;7_!n4d||-Z>SaTG@zTX_6oH7iHnRZaw_7MKv9gJ7 z*%5}HR)Ao($BE5*7xQJFouyP#hekbD=fUa7`iosp6m~PYbj2b9~!V!?flr1 zvD_;t?a9mwg&Yv!^Iy76pod9zz2k_1)B=l!ogXnMd^YI9D2oStYyp`ABQTrH$nzC{ z^OLo9=5le#{myh4Xbo-ZhRNQ340Kp48-(tLAnRK)FcVQYITC;KhS`;GSat{{O`(`$#iSI?$-;!Y_FWs{7$SSS|j z)G=5(o)BLWEl!f%ixD&H!}l-~I-%VzVwspsxa?`pBJN^QU@_;aKQk*}VUy5s6iFpP z*uKp|D7{{s`?TgD-6b|;@GTUnEcx*GZ)SJM^?U-uq6vqd%8(OZ)q5c~st!*Qwg3keTCKYi!s3vQ0Jz&E6xcXVvkE7!Dtpgv{4p!@xs2Y*sG1L0 zD!g#-fiElA zZwzc0XW`dAD-OUBVN1uT=p{%`GK5q)4JEmx1DnoJq&`G(>2YSV*%h|fyc|CcYF-VP zUvj&cJsf0gy{Ml?tuL^eyVo%zB~SCH@MEm9?(@Rv^G!Z<)5hsi?e(5c)@X8y*mX`u zM|+C^oW)|z!dWSzvgdERlWV%>WtGM>HY-_nHx3Bga=-!c?ewf9>`?u1Lm3tNq6u~x ziZsJtW_C*&xcoRPyTq~L(7Z8(Yj#HCIXvsE6=^}tLoQ&j2KzqU=~o-vAisU1m`3E2 zc}gJWNSeuij~Q8izF!cq>W93z2HfzY<=m3zuhyxikmoyI=CHO}8mjAUq6?(YKtef) zrRm8ie$baIi!eRydzy?oQ)l&=%9DQg1#pE$%3`oi|IJ)mK((7_mZ zJ^nam>FUI!WtkjFz}s0sRw>NSR}c-0Td);wCq_a5`j8MQ&oT8^}!ak91nnFXD3#jlYM3oci z5^;)FhLif9N|R2opw_ixkl#rI7=WVzT^{)_ficsq(C+B1=Dj@J>_K3eY`5&DIGmVM z0Nnk}cf#zC*D2xjhsn-&)%Ebz-k5aN`y&r*7cgX2;3rT!Q$AZAk? zbrj5XwLJ~?=mr9I1hiV0P|dqu7$OynsAti56(hDi;#*+uv!4g^?Mn8(k~Y}K!nXWK z*YEEJ;vBJOx@8C5Y@EKt!%4vw^;f6h`GaH_{+{^xq{Zc_1!6P`x+d=GH=e$@zbTIB z;&b&KFj?H4s%t%P0fC#O7glgkWW(c+Jb5+JOPFEsl2wc>Zo#SSuL*9}4i$j*y6yYHVX5ToaE;9Jb{4O z0Zr+HlX0ZP+MqB}YHz>F;&OMoc{9V)9M>q`yb=Y19H*l$rjCdG3G*mSG`MAtc#OI{ zq~P~K`=dx#6avJNPylfy2C{C&O6cSQ;QO=!cE{9#gjpo)io&9Pzfu5(FSfXxn{LHK zfv#6{RKscnIskob{%A~TGnNaOy#-r{h4p)O;^t~WGcMDM-i!WwZ2rv6=y&s!GCnng ztR5CG;;3@jnG|uG47fbg5#xU(NM+$7O`OS%mT^7(N5%}@cP}Ob61Acw&pu<{)nD#< z7w1OHV$Ub7Vq{kTup1mtv-n>#-BB*nx2cxE@BpeAPhz_=6Ja@&6}%rC$|?wJo^CV2 zE!29UClBXYPPQjySp!ZSAMhr_PqY_h;MRiE-e;WT(K0@xrS7V&)!${YbsFl= z;?aBfN{fQ zNJnIV<=!=xYN_=n%7CMKs~E}kz)&EBSlYzeh=R^jN!qv0wbZdzZ`HOORwR~w>S!un z3<#Sw?GBtjTL4{k`MaP%s7u^NWI4LTJH~ZRC<<0J9Y|pIIXVlfV^MfHMuMZ3Nag-6 zq>he5=`6qAcP6+w?;~OWc>efn%TCTdWAUQ=lFtQO)$3Xp;3pDB;G_i~vkOrqg4S3; zvY*g3z(lZqQ}SEl${gGkj_|tNs|~GP^LOuoF9HVadvL@MTzd#^H3T;ng2RU3`a^JH z3(5;_tPULkzaQaZuN!m!e?xphdC85{wbPgHZQI6vaO$58P{+_Cp=pk!d)32?@CnQ}T zTupu>EJP7`wpYQg$S#ub%R9&dzM+A4fb^pxEbkblRIi;8WgZ5snM%dh`)-NjX6*}j zFyA}M-zs1JKz@-)v#M=SWVmH!QJu`XHeHYs|H(b_@JhY2ss1YPZc;+Le8@kQ)Ob@m z@*f;}b=BRs*cUVJ>T}UOL+K?DaF_auA4|iXUk>Dlg{f`Ickw<+p%3)MAHN30c@Kvg z!B3-4T zulTv*^T%pW_~OKKnJQ%{GK>@h@?XitqS*KHgI*gaAtPdGDg4Bkr^`I+%+^RBJ2qd$ zzTu>wD#!b?lLv8#>W!A)dz7xwQE6{zJ88-1Xwn;^+R;4v_K7x~V8ZL?uOhnP8Xm0i z5V7!Yn(MdE2g{$8(WnlU%Ci_eb%HCTP*S}!*Bj;Lio;sQwMKiVt?MQ3aRk43WQ9mR zZyWzR_ULDeuZ0XS##sM&Ll?d!@5UGZWK&H{CjAkGXoYU30*KdJo}*1|jzuMY=dGx( z4yBPbv!Zflvm__pQ(upoi`ipE9t#P>QkXA&(S{nBuOJJWcgius_`BZR(H!C|arigU zAU`RaI1I`DOpvIBSzQ^!Phd<^9LT1`7JB z2?GB;E$%IHjZ6Gv={(T5zb@SRC%ndj1tI)gD5|m3qJ`<#r(t`2(NNpg_nH{!L{;Of zN(lm-sSoqrNQL;6qw+t>Yo6EigYf>STFF??Bxx*GMB$q@$CC|=uXeI3w56X@)xMH* zV1o`{vaBcg>H+r(%PV#k!y?u%(1t&Kk3a$fErMoF>*@Oph_3$n`BIIp&8^3djy$r> zs#=_WwMV<>R~~6v|Y^Z!)mXkrftW@+Q!QxI{ z+$d^mdx&LxuA+pw*sD+H?aM_UmB``YcLy)Ib0PZ+hI^(*#M@O1_BI}g`gcstzs5Ta z+nXiHKW%7}R;(wF)qR?+0^y2is3$lp{LVR&SdE>ujk)xEs%Jtolr|-qTkZvsc)KoY z0?Nf!2o0`!7AMq>2$5rgUwy`w@Wdgg{Jz)5ru&vpER1Pl@I&D_#iO;$gg8j(9c4$-2VaSS&14E}j!(d(p+Bb2ufEh?u)ZHT5r5xmz)M7X z%|=3mHF&Dqz>V8bKb6g|I&&}e3trQ+ROB=H>H_Yp6$LqHw;I_7Pu-%A=y%qvcce(DP3qL1FR^zv z+FvT7f*Q&;S@3o%dDhYuvy=lZiaDz3>;}}2Jyo3CnH->$`#KfRCM13vGVmLtd#&&Ni(4-A z;`{0u92o-c;H8QFkDBL}72*i@oM!EYj-p7=_H4Te!e3W=>L-JK)@t<5@A^AF)y z&od3HmuZfw_@a}_?I#lzYS?a1cWKa%f?glTq3MDcQcNLQuA zg8#WiWVBai*-Y)-jZH#H_C{6hbaiEO!X<$de2;rGN7o1C*uh zMMQ3T)cEGqNX|PD9mThV0>wCr$Dc*sTa5@^Nzr}Wvu4*7Vr*Dl>4)2um>GWEK=aVL zB&p2Gv2~@5Y|rstCW1Aq({m|5_9+@NGpGF+S?(t;qom?uAZ8j=6zSZpv@-e?VTF82 z>yv986WL7Vnv?sEBKPWe3q;;L=`t)Jeq$VKePOWZ?x)ebJnBdHc$KO8jXIYsqWz+8 zDphCjO|=3>>03Ek!qV(m;fb>2?5 zr%?Rk$&~m=r$u-EJHk@@omAR_1x<{;P4=IhPkIU;Y({ym2V9ms-JTkDvgHhb z+~as1q4%m`kK=-QV>suH^SfN^_xle*?r=StFYW#lt9?tns+{AOsEOqt#-)kd-S#F|+*V$NP>f!MAzH@3G!$EW2s)45V|7%`k;9~@zObC z(w}lhZG%YOYc-X2Z~s08LypNBq`Z++XXm!s9cB1nf2f`y+cVZ*U$dZX8MF&Wxt66B zRQuUcu;r+h4pqmOmY$U1VseJ@*Wt*&>mwgmGpg3xZ)}x(3NN1*S)Bz zoVpQi(=ha=KWk&U%9NTZAgN0*Ql?6xm;)-!<5z?kuU1`L*Xa7O+}Ix?|JH`C_+#2V zX{$j)hTjhq6^e|ETm4Cr=IT|s1&UvH1jEf^(a~S*gYm2^^^h&@FpGXS+{@&?s8w=o ze;=>5gLe9xkYvTZ${95}-eGD0X9MCj;>MJUR&{K_tm4zskGDl4DU43$S=!GTKJxyj zYGkE&9N0(VZBXaq%M4y|@I zTTvdnewUg_NV5Z*WQt#gC~x|&*(15+4hLGgTP{)iKUOMzhlKVxa^52&Ef?@Pmqo)< zZNXpZJl0QsTpF`GF8_D%VU3B$M0=kc%2#ORLG3J3_s5d+;}X}92Q zQ8#1dZ!kugPJqp5GOYJh|3hv0c7eFv14Bl?SC8$6u6cze>)G5huepUDCv1L*b_%T7OU~cXR9Db$ z)}X23_N}hJ#VO|(x~y?^BTrG6HB+^OP3q4h$W2#cQEQ>1&tc@o3F4f7m$zwFE!|B$ zzuG_~RGs6=yDZZ?vo(s}3%M4nB?9=JyPwS_crM>*{yF%KKg0O>J$`o0f}2$xjzN`o z|J|Q?cB}g4?Sn*s3ORX$kbL=qomJFNYK~`vi&9qCC9ydZls@I3PO5$&eql=@r>;F7 ze!~+*uO4Me_&qKgsp+WgrS|H{NbxF;d51yUPjlhsXBikGDX-gr?sFY-X_qpjljAF+Fk*-yVR zP`5eSha6Qu&t`M@c~|6iPP<>=h+g}{ub)(`w6{Kl@V^zgQ~8hX$vllOI8`rxdub{#w@Y;fziby+ zm5x-oqwT1j@i*ea<~Id4A{WCE>qmX6zFKB!5nVBILoD6Z?M&Lah#a9*S4Z z{ctN)IbTY3nUT9Ul87?4*+bDl>I3JesdR`3f%@wASPD2E-|ib0O`Icr+Lt-mEAMP4Dm&$hBnyXtN97sB0Api>C{| z{Nwf0>)U#B01!? zb}YvZXVdSO$!6=7k*{`pMl@r!16xi*?~BvYxBHVzv)r;4JmD# z!l|u3l;}+-EB4T&F+Y-8re4mS=>GcGOlCHNNq!S_Yx^&ryFn%ciCu(tB@b=CJl;&Z(t~!cyFA9Jl0&&&8M||`1AjWoFL1#SJQ+HD^0sL>t`;)fOQm4o+AYsI>>jilmQ@8B{ z&F8@^HY&1(x5o4rq|zni9RhQkL_E$D!rnf56ERVIllt8q4swsLcW#coj2LqiT;==p za@>AsndxiHr%8TFnSoOK=STkoQ9!Q0!qJ*vu-%n#yGYvbE!ugBGbI?Fq&`e7XHgx z!*APiFMJ+qxp0J7l7l&5p#|b=%Jsm^wNPMDNcjV>gi$dd*H?o1LC zP*RZe%p*%f_A2>D77HlIP2%$Fy{0qeO|R1UX28N(sM9V4j@H7o@DL>Lq^eWmIttNj z=L@0{A&Vn3ohhIwWlhpKrY$0no(H69ylPFvMFhab!D&JYjVv4K5>{b2&M+8IRCp!I z13>Z6Pt)KhqLj6gWW+_@ta*HzRX(e7W)(02nGG6cXQQOfl#+K0(_9gc%;`X(*#fkv z6*|SIF@@58L9ZE(%0M&)u^Uz^tm(y)TJmTY(LmGMvRFqfW$4@-Dsi2~2YExZARS|| z)&?E;ErgQ8I=Q?;W{)L5E-F6Dtr4mb7H76_UMP~K?riamm)0+9<4PK!TzIEr6V0SzZpP+-oIOPAOs`)tkdK z>RJ`P*CavOtUIiu}(lA1UOi|T3GC? zXT#{u1IAqpIt`7}e*8^AJ#RKxMQq^Oxb2lrEmhp z<<6kCIoWg_+OG3V#8jbSfazf#H7tjyIAoF7*P8+YP)Pugcq~Y+(E+6N0bo>?IW?IB zvT+;Z`SGC0lPRy`OvWK*p{;v=4Qxp#c-1V8S;>Vv$69u#+incfdOi#k1w}ik7H}aq z)aUx6)|MI(T|&|-hcwjcd&U(^QjQ>0b9#ipn@Ut`^-f5_a5QXppUM-FFchs5g#ul4 z;i*xRV|1f(KPQp+IF{$ufyzAt%H%FsIFZS~O0+5@%4hp5kP~RjCWMTFx_DeoS|CWo ze|dZkx?F&u0Cj^1Oj*|!I+dUhMp>^V18EV@4$Wv-IM<^y)w4D`PR7zW5Sgur=W*nz z#DQGZGj-U7whRn;`@+CLR&6d#nG|glC~{CI-vaN0N<1i*xLqAYAwmOUrd-^34Tm!R zf%2E}W-_0-@iU#!RES5FeOvj;^MxAsA<~=03DC_6yQAEImMrcx?#(G0*#f_Tw@fDO zRR0e&$GYC3_zpO_XG^HhXt54>IqCseGr^C6F3Ybg>}t|@J(yyD9sq{UlR(U^<%BR= zOO=w!EGD7|#a|SW%ewGI z6GhXB;tiU4H;1J(GA@(*4jcf4f@N zx)V#DQ}$M8XGeSwAm{<1AH2#4`A6QCdi!fco>@-W|?^+bGsVW)=nD8m^{Zp+}`P(=mdqq!wwoYMz$? zPpAbq64%mr9#fO&&bY=Dx#C%8#T#iaZO8_CIRzntg6v47!JZgu#_QdaK=T#y5{p2l z07iz+|~r~k8|g2ATlMn)Zkb# zlT1e7R9zLVRGX?J=$XdrRJ*FWz=Nt3p4np zE;n}7kYesj{}D^{+_adtidK@qILW|U^3clZ7nsAXCi@`V~CV^W^@e9=F4qfTQk`v zO^~J)HWqd(jU<>;szZHP;aV-%gQR1i_%y84ODbs~Hi!oaJ0eP8s?`MlaCzgH*WSRS z#ZCDZWs%86D3j5+*oL$Om=h`h`1NUdaJ?TJHTBuu=Q0uy5(i~eQ=ivNex#n0PHMKM zd*!k~*Rx>P0Qn(r$%k^c%2wP|QG&1#%Og_?0O1VVY0Tx9oD+5g`^&~QgE3JP2PtwD zjHTKH))c3+__NCMaN4|l(ui_bX{1m|%;F~Z=0*{Hvd_MBJ*=Gr9T?mmAm5l@bVNIHHtZCQf8&pAu|wIGG}s$b55C#7PM}M+_P!$DfylfMp1wg zXugI~gurB-q@Xy(0k4%eoy{mErAH1490V8uo>jsrH~{XIOVaK%`3!}!$&Wwla1qhG zl7k;u6tmEFviU%z#?HcU0?RH^y@lyAb;QvW5^@6?vw#&MpHLT3bmAwtLkTjFdkKI; zygA@A`8$w5z&XO-#keRq5Z>Oehvr5Vp}ay#8SVfa-ximL)bn;{9w0h9>-q)+ZjNV@ z;6!y+xLMO`oDbEv%q^;nqiLp|kppPAsMHhL^;QXTtEfR0vn=9zi(GYQDX@30a)DJM zUreE>vi4OyrOGK)zPib0?5mqtZj)Rs_Xz!teKq<<3i|S0+MQvrfTSMixhw=ikWypav*O zLMmo{AOjTfUR|JUb48v&7W3+q0`wqgYpqxk;G2dwr}2ltm2d+aBP)7`-UZaQ*ADUr z8P=IN!k}?36m~R9320btnH@K8n-T&q2aP02{xG{C7l>(y(K_^4(r8FgbRR1spafKj z;p2fof|&)R4KxgAP%-%NJQSIihG{GVCf3r!rh+i?JnhXei$WMe!zHuBGLUH*m`XR! zK&fLP`bLPJVb1bKX(;+H2Yd$T5>FK#ZFcokT`ns}plszK@ia!6NcifzT9tL~$EDy$oB6QztwujRMoC?IDgP0Ai67tAzccvjCFEFT^1v zS$Ea0Ekf>)F2>HF#X}42hS`M{EjSoFF+Jqv*Jqhk9#le{(TUyvlBk#F*fVQzedntB<+<6e%2_GnM8 zD43$!Sj?S~rys?t2UF%x2y7cQ^fy9gX$9*;GHc^uLWD73xC^(cyHq*c&{Y8X*7TMJ zDp`*S;Mkl=DU}zBCD*V^bef-p`Z{V8C@i2L1L@WwE9>Bhx-$F%ay$4b`Jp%nyF*Xf zW`^`n{2M4I81h29@f1Q9$%oOdS*~}-#zb@tCv(xDXu0ME+vW|MSW|Rc23ZUg5};PNFU#KV(PxD(xNEN*RAI8$d~i?15G?0A@=gBa(8wY4cjF9)hCH z2AH_ZiSXLiDluz|<2e$Z>1T6-z{R^7S%TEEzGUh}vrf5)vCDkXm#|pS!qP^S0Jk|n z5X%ryfN4OBY)K8k2_%8VPIL)Wam3F^!Q#N)9&# z7Oi5ML$NXgW`VR{E<#sKlRISjO!I?jkxTzf6AJkQ%tUA?2xRUN@L`xLK|_(b^ND97 z2(3E@F4`$cs3)BY%v(2JM=jD~3Wx--F7PeNXt7F-0wtquGENw-Th8o2WHqRmb}*tM zFHa7H5N*0JP$zobiZiDGtb))Y&BB?ehs^QVN7vc!!Fg7m$TL}66~S>`T9$|&c= zZuW1qj?#W0Ow8aL@p1>0p3b7r74e%1w_be{ZUv2 z;QnF$hy~?|Y0zPozO`bn`D$D)0t<~cV8+0Q>!_H>pIR9bCz`ky$higz(P%F+`l{M= zIb#-xAMx60^k`na2!09P8BRgxa-~tjw4^qTuQVuYqqOv3OXCLQ9=mWmqXv!W3NInS z19FAr2>u^ygPei~uhK)!HObaw?>m&#`z8aZ zamclxVY)~F4Q>ip!3ex{Y?WLRvLdwkYjz`HI5JQ@Ajy$Gz_0+MX22@4peTHsMdGib zGfM$W1>x63Nz|gGZAm^$@+!+`7&}%3cBznAqbaO3og^}Ip4SB8anFi2ubDIl&lkq! zQe@q!W$YKw5Dg_KLz7b272@%u_s{_wq9Hn?0O@lW4+s?0($jcAzFm>(O6H0-g<@qU zlJIixK@L$)!Gwz>Z)TAvre9=v6WK7r4bYW%&JtZ`?hOMJxRIjq1Y7QUA?VQuPw0kr zb*?q^IC;idfI${a71gSG^}xn3MNYf@0g;KOp!Wd^lL{_T4tacqMv5X|J;{Bd1uM#% zsg5!z0?AdtpaU9O^Q>usK;zyEOOQ}Ze16KT40CQU9}*A8(FtkV&Vx8U z33Sa8UBF{GIDxK{Jh};BER07GQ*>=X*g7qy`_Q0)Vr4`!MGuXDR?LpA|WvMbQzPF>a$>$Xw5tzv!vh|R^+r( z8MZx08`i*HkWiRe^Z;`pfrnuoC}yE*1|37fh*K189I%p}Q-*0dv;R2&Pz5sO*KvV% zOw?L)Vp*=b&-&Ef6gAICrMi-Ng8^5TPIcJ}m?jOz#A#fvY$ajG`Greqpo-N+(FcXx zaiwxISo0Nm9bnbo;f90-<#ENEr%i_;YDNIjabJLmT0Imm2(OE}j}`+&YEfRn%GHU= zn{cqDL2BJ1ljH8|1xh2%3zba06x5TjlsWTM2(3#EaV0|XYU*k_#Su9QWC7R1B#JA zYf46hm=VPT$UvnUm3+Bv8~tT5TkR=^F#ye$Q|vTecvIbja_Tt&GWFPa$Fa)YoGdjL zSRPEabzZtH5Z-nUJaT1AL{ZKj^hs_MbO<2dig^IZki1wEaWC?jPB2f4D1*Yp zh};mv=uF`ufXh0R3~>r#Ungs(#|nx_SeCaahopXOnU&9UZ4%dP(ljF{2d>_gBojEi zOw37U0tZkB9XkTh3-$*1*5HiFVg}}cazR`~xb#Uu)d2sL@s)C#he|}~R2i5Z3SaPb z2K@)2B-z>u>L3$xlS z*0XdKLI(18*`j1(gJ^rx9R<>;TXv&UP}G&A78cF!V?Z!6K%rW!8gkII6HB$_D!|9o z(b)MR(eApOJhj-7v_|Vhq7}3VpeCCs*34YK>^Wau=RewQwCrXsS|NZoiF_1l=`rs*bb zB0`Qq!3I5gcLf9LBa-fp(87B5)o@20KbJWIhX?yGVyRIMY)B>=j?EV%++;9 zA$bH7wfqx0#3UF8t+1(Pigs($+aa#BsPQ%In;yr%frmi707P3YhoY!zi*hD( z)FGo-kCS=%fqlc|;&}7A=bRf~X^p)sGKflf@GwBJE;i0i;sR_D1=(N~tYYF-f}bj> zewC+P#c&ob7naajK8=j2@mwZyb41N*M1-V{bsE_oIcN(UWrhom=2u<48fw5Cbopak);n{{GSe9_KQw;91^$=U^6eO7DTyX8+EM6XGOHC)KS%{ z=w=gSWI~AR))RxpT0PUNN}hzzA;U)}-ZWfO_o()X$`MQv2nX_bKpR5@5HuQr&qGS7 zd&!DJ(|wK*w3)R5JO^!7LsU@~9fMkQbP;q+6_W_92`n`EX#;~&4nd?9W_Bs0mMY$W9wK|RF~urblxaJ4H1)WGa$0l zabH+3M1(pz8)YAas?ap?N)CbnmKNo%<>rfsiI$ifE2)&eR=>5t12vWHi%00|@9O zrqrRX1nLM@XUrVZJsahq6C#`udRcUHsneTy+m1)j!ammcfo?NPjhd{9#F5veRte_A z?tqesGIgkVsj;Yis#ilc1*QdL2mOnqv@`{6i$(U3-d5Vcz1Bu}!yUkvp~{T-LRlXG z2%I_Kl1zkcONh329iQn;090Xttj#$RX_a&9szxP`#*qMXhgxi6LTO`X)R1GZx7DwW zN02w|8~?lxjF5FQoUYdh zIw%@T<5)fw+Pu;-mv8lNb z!5hg`R#KnCx(V{j$D|EjcX!Nkh&laBaOKCdUKRAXS2Br zWJ`JR3(JmbZBd!nIl-o)g#ssL?&QH}*cA@zG{*9^X*?iP z(1DPEe1~c&NiDOus5zaU;9{QyMrXzjY874Pxd~1XT$LK^v_a*nL2J>%s_qPN7yt@{ z3*fRLqe5UYSVJ%5X(_-&f$D5fKtbpN2p6d0P+VT0T!I0DN}WgPOdf#}za`{}@@7)0 z6>f-H>g?2D92x$0+(j@iB#E;lCpD*>I|@1QNELRQ2B)e_7n2lZ_zoB$>g@3Ih|SDW zpeq7Y26}|*oWanvxa`fFKz!s|6zY-BP@BfjqCUS?&O>clzNG-douk%3Jr_Ok%!ygI z)anyFn?j9znGATO%KcI5)q2nYG*T>b9Fe@VmTao|;uSJ5%&0_$T#&?qPk>T72=J=5@qi*YMkP4k2v^H>J?J1JDRb3)V`^k2OD22D zX~5HZu>cjf0k!GuJ8i*0{mm_B_Rvm=%Z4qabAm*!=&}M6Q2Uj!goxYR*yp5lJ(KGz zNfggGZaQEMkkvwmRAc>|?J^OeC{RP*w9M2m3G=!W%I%KZvnSd0Q!6Ze&X9@pbqJVA ztKjG~yhYwApXmlCLl&^U3nM;5C7{~1&W-n3WjWNriHO?}uptCNG*(6%&_f(QvymFR zHWFG-28irIITI0AGOeFA1)+>I%64O7uqg11K4p^jp`%zg!CV;-s3MQN=)O@YI_&x2V!!t+NX@bx-?lH_8@Q3`JR_aV<3;K;LfSPt- z#49M8V2S8rs`lBti!1FlQ)&5}XkbFyLL1&ue!?80`B22>+(_}$Pz}I^-Mtpf0eBK6 zAtUEAFgL2@I-LR}7u0KP5;Tn#rm?u8o1$a{o(iz7fz?(vmh&nNnYcE&`{g4%OutD1a5XKE<(q-6?D4y}7A#4+;f+vlpW$?aqda^`bUh)7h&N#>`>_3f;avZ?XO30;X*D+!Y zM9SKy`H<#QvTPkv6aP+RvUg(URmr?DnP%;s*8y+?9teT$;5(L~m|z}b2?NGqOaqh( z&;oRBIpQ$UEl>q<$U}jmM{`;uMiOKwE+C0!l!K*43??s@Cw)`?u8Ien)IOKC0*V@X zqg2gY2_;y-MRqDO@-~!F(|RRO;7uJmmyK>&8Wn(0REm*a0rE0cN%e{Fbg*@x8VIuF zLBO{qBYN;&5awn)0l;<$W#tK2ij^`|kyGG#AemK78>c0BYFj7PL?U=H(x%w+JJA%_&G2kXXk> z9lCjXkT$^2fL+R)%9NkvAePwjVu@AMwn`*YI|nz8vrK4v`V@H2#Y!=qV?7Ot!5Ri6 zW99wal%b%tsm>;qo59E^1oGhIAS6H~Pe)B4ln|$nJW^eiXdH4ySe82WY1B9vQLAo*;TxFDD%|?czzNiO!WCgKj1+no~TZ>bp;c29Wj>{`v$ZD>ofe)GC z)DYhy{z3$@mVd@+gHr=ojx<#M4rLNN2pw~bC3#b&9XgFIJ+cW>fc;>ti34o6kokgn z9^(EqTNm}kNEB=nGL#4!?>jJ#hUIlfgfrSdi69QH9Ei>|TC289iEe4f1#DN$6wMK9JujlR z4VYT&Nx_`Ew~~hPilbh48p%OZO%e?{C#bQ-f#q$Gj%9K;%4Kj|NT{%iLMK599NzTm zzfclYhA7?yeqrcvc|a#&!C6waqV$5G`OY+uUBHe}&H-XwSvs7&>1FBgvaD#3t4^)w z1i5iMyTG@ew~C690^nJ8)QdI;E^et1EIX4qBLkh+289z-vV#+VkYFK!(SbyyGq>BQ zs5(2YjNb{E2mNNrFV>c|J7yC7(RMu0Jw$O3s9{||pa!J^zNhN~iuZ^);?n6eOL7{w z3L!XvqD$Uyca|p)op3T8SmB{|O`3)~vo)zfyj^z9oTBB+Hi}8d@5w1BN+Vv=B?G~# zD2@Yq1I~e$xFQPYAj_))Fhrt^CQ(Kc_+yfT6Ntm-j)IWTdVxI$X*A|(SR8sdHczUu z(BhYZ6i3oPkXIH_pKF5r29Z9>W(W{OEp%uCvd+GS0(?Qu4rOe#Y?n9l#KI_0v z=#@OcJfa9nkcWMW8Y-_A*#pQfK#8!J0ztw`Agjw}A`JdKEIJ*v2@)O)lhbh5n4DIu z{%Kq*fE#NS;}IOt%4b2s+lcU1K(%Eff;CW$&|k+(F>Uuo^MQFxuxzuXllnS*ixRM@ zMcL`(I?F^((ZRse=$z0a1}Fxb)M;LADlaAG#UU2F2Xa)L4Ypr}R*}a6&2NO*A}u(M@o*wC@q+ zmDw43uK%n{jViK*>tea^V@X~V#@MGuYVh+&lTazB#!TVT5%WSR#YgFG4D!sK+?kse z`4rvg0o~My#=z3n?f(q-64S)iwrd;yu86dH_qIdv3vbr(6{x(bYO~b^MrqdVlM2C{ zchVM?gs(Xs3=_Hf*=M)HPIYG*MLPVbV@lzxi)Ah?VsSK3-9`_PLt73V6hmPS6TNhw z3LpTe5+`#&&3KwRQoG>Wz-IBCfaH=n0EYr>f=nv)q=0*}JteJdw7?-qPCRZREcVHeHRD2@yQiF(-Pf2%s!_)} zCld68HF_Vsn!EyFi>M9|32+RM2T=0XMF3E%LAP{VC(KTa7w|UxUzAuv0}Kmxi?4Fx zxxB;~0bsXaM-dCJe5MRk2dVX}AV%5nq6fHT@?_T(b&d3cW)GWwI@l0r_%~2bAZ8s1A}E1$c4yaLTCZVEJzfaB(x|JS~MxtO;WaVsO3#2 zm`zg4lR!7gt2sOGJy_6AQGdZ>~@dK;d9w$?qWp)hU0brm7_|#6EDJ0Oe%u!xCusKh=qY zA|{=|HDrJ!w2p2B+M%(>yNMFWz;&a-qg!c4FbRVDR|jf2}|b$I7xDn zBxB}IR5~y>fRP>+XyStt5h9Ht^{YAqXc{arbW$ba8lWk8QI18okh@LeE6ZS2GzBrY zTa>Y%IWp2oXpLB-1mn_lnPr9o74(v4Jd+9svl3Ckir6`HN`-mqd@#fk0x3G_Tj02A z<=CIlfp4OS?21}2>s=OKoP;~Uj*EUOJ5feS0VfH5MB&f_JobJrGqsTPgNunYAGiQ` znxa(DR}5jppC|JzI=56_DU~$$I3rN`VL?79KB)XVT#cHj0iJwH8HWHUQw`Uoog;Bt zU>GN2V(7K6T+$EH#GbM2S6S0*2U$_I1<3-yw&(%K>u$*4dTXtYF_rw@?%%2VRDzL- zI$~Xvs=uiqGG3)c;Yet1)d